为啥这三个词容易混
因为大家说法不一致。橙书说一套,Anthropic 官方说一套,社群又说一套。本条目的目的:统一这个 wiki 里的说法,让后面所有文章引用时指向明确。
本 wiki 的三个定义(强制对齐)
Agent
一个有人格、有任务边界的 md 文件。它知道:
- 我是谁(名字、角色)
- 我服务谁(调用者)
- 我负责啥(任务边界)
- 我不负责啥(边界外推给别人)
典型:.claude/agents/code-reviewer.md、.claude/agents/ai-xueze.md。
来源:skill-library/anthropic-official/skills-repo/README.md + claude-code-docs/sub-agents.md。
Skill
一个可被 agent 调用的技能包。它知道:
- 我能干啥(一件具体的事)
- 我怎么干(步骤/资源)
- 调我的前置(什么时候该调我)
典型:.claude/skills/pdf/SKILL.md、.claude/skills/kb-compile/SKILL.md。
来源:橙书 04(huasheng-orange-books/04-agent-skills.md)+ 官方 spec(skill-library/anthropic-official/skills-repo/spec/agent-skills-spec.md)。
Workflow
多个 agent + 多个 skill 协同完成的一条流程。它不是单个 md,是一组文件配合的过程。
典型:陈彬的 “raw → wiki 编译” 就是 workflow——AI 学者 agent 调 kb-compile skill 读 raw,产出候选,陈彬策展,批准后调 kb-lint skill 检查。
来源:本项目本身就是一个 workflow 的实例。
一张表
| 维度 | Agent | Skill | Workflow |
|---|---|---|---|
| 是什么 | 有人格的 md | 可调用的技能 | 多个 agent+skill 的协同流程 |
| 粒度 | 中 | 小 | 大 |
| 单位 | 1 个 md 文件 | 1 个 md 文件(或目录) | 不是单文件,是过程 |
| 例子 | code-reviewer.md | pdf/SKILL.md | ”raw → wiki 编译” |
| 谁调用谁 | 调 skill、调其他 agent | 被 agent 调用 | 编排 agent 和 skill |
容易错的 3 种混用
- 把 skill 写成 agent:把一个技能包写成带人格的 agent → 过度设计。技能就是技能,不需要人格。
- 把 agent 写成 skill:角色的判断和边界塞进一个 skill → 没有自主边界,结果谁都能改它。
- 工作流没 agent 负责总控:一串 skill 调用,但没人对”整个流程是否成功”负责 → 出问题甩锅。
决策逻辑(何时用哪个)
- 一件事每次做都差不多 → Skill
- 一个角色要反复出场、有判断 → Agent
- 多个角色协作完成一个目标 → Workflow
陈彬的独立观察
大多数人第一次搭系统,都先搞 Agent(因为有人格、好玩)。正确顺序其实是反过来——先想清楚 workflow(整个流程是啥),再决定哪里需要 agent(有判断的地方),剩下的全是 skill(可复用的技能)。
从 workflow 倒推 agent,不从 agent 发散出 workflow。这个方向反了,系统就会变成”一堆 agent 各干各的”。
关联
- 基石:什么是 MD-based System
- 实操:CLAUDE.md 完全解读
- 深入:什么是 Hook 和 Slash Command(触发器)· 什么是 MCP(外部连接)
needs_sources
- Workflow 这个词目前没一个权威正式定义——本条目给的是 AIBuilder wiki 内部约定。希望下一轮能补 Anthropic 官方或其他认可来源。