Claude 的 Skills 和 Agents 到底差在哪:一篇讲清楚怎么选

Claude 的 Skills 和 Agents 到底差在哪:一篇讲清楚怎么选

J
Joy
2026年06月16日 · 2 分钟阅读

给 Claude 扩能力时,Skills 和 Agents 最容易混。它们的根本差异其实就一个字——上下文:Skill 把指令「装进」你当前的对话,Agent 则在一个「隔离的」上下文里独立干活。这篇讲清楚两者的本质、关键特性、怎么选,以及它们如何组合。

给 Claude 扩展能力时,Skills(技能)Agents(子智能体)是最容易被搞混的一对。它们看起来都像「让 Claude 多会一件事」,但底层是两个完全不同的东西。一句话先记住它们的根本差异——就一个字:上下文。Skill 把指令装进你当前的对话;Agent 则在一个隔离的上下文里独立干活,干完只把结论递回来。

一、Skills 是什么

Skill 是一段可复用的「指令 / 知识模块」,本质就是一个放在 .claude/skills/ 下的 Markdown 文件(SKILL.md),里面写好某个固定流程或领域知识——比如「怎么写规范的提交信息」「怎么审查 PR」。

  • 怎么触发:Claude 会按相关性自动加载;你也可以显式调用(用户可见的技能会以 /名字 的斜杠命令出现,如 /commit/review-pr)。
  • 怎么运行内联在当前对话里执行,和你共享同一个上下文。
  • 干什么用:把「标准化流程」「最佳实践」「领域知识」封装起来,需要时即时调用。

关键特性:渐进式披露(progressive disclosure)。 Skill 平时只把一句「描述」放在上下文里占位;只有当任务真的相关时,Claude 才去读完整的 SKILL.md。这样你可以挂几十个 Skill,却几乎不浪费上下文——用到才加载。

二、Agents(子 Agent)是什么

Agent 是一个独立运行的「子 Claude 实例」,有自己隔离的上下文窗口。主 Claude 通过 Agent 工具把一个任务派发出去,子 Agent 自己去调工具、读文件、推理,干完只把一份结论返回给主会话。

  • 怎么触发:由主 Claude 通过 Agent 工具启动。
  • 怎么运行:独立执行,可并行、可后台;主会话只在它结束时拿到结果。
  • 干什么用:复杂、耗时、可并行的任务——深度代码探索、多文件检索、并行调研等。

关键特性:上下文隔离。 子 Agent 翻了 50 个文件,这些「过程噪声」不会涌进主上下文——主 Claude 只收到「结论」。这既保住了主会话的上下文整洁,又能让多个子 Agent 真正并行。

三、核心区别:一张表看懂

SkillsAgents(子 Agent)
上下文共享当前对话独立隔离的上下文
执行方式内联、即时异步、可并行
谁在执行当前 Claude 实例独立的子 Claude 实例
返回什么直接改变当前对话的行为只回传一份结论摘要
典型场景标准化流程(提交、审查、套路)委托调查、并行任务、深度探索
本质改变的是当前上下文知道什么 / 怎么做由谁、在哪执行

把最后一行记住就够了:Skill 改变「当前这个 Claude 知道什么」,Agent 改变「换一个 Claude、在别处去做」。

四、用上下文模型对比,一眼看清

flowchart TB
    subgraph SK["Skill:内联进当前上下文"]
        direction LR
        C1["主对话上下文"] -->|"按需加载 SKILL.md"| C1b["主对话上下文
(多了那段指令)"] end subgraph AG["Agent:另起一个隔离上下文"] direction LR M["主对话上下文"] -->|"派发任务"| S["子 Agent
独立上下文
自己调工具/读文件"] S -->|"只回传结论"| M2["主对话上下文
(只多了结论,无过程噪声)"] end style C1b fill:#dbe9ff,stroke:#2563eb style S fill:#ffe9d5,stroke:#b71d18 style M2 fill:#d6f5e3,stroke:#1f9e57
  • Skill 是做加法:在你当前的上下文里加一段指令
  • Agent 是做隔离:把活儿搬到另一个上下文里干,只把成品搬回来。

五、怎么选:一个决策流

flowchart TD
    Q["我要扩展 Claude 的能力"] --> A{"这是一段
固定流程 / 知识吗?"} A -->|"是"| SK["用 Skill
封装成可复用指令"] A -->|"否"| B{"任务重、耗上下文、
或想并行吗?"} B -->|"是"| AG["用 Agent
派给隔离的子实例"] B -->|"否"| INLINE["直接在对话里说就行
不必抽象成 Skill/Agent"] style SK fill:#dbe9ff,stroke:#2563eb style AG fill:#ffe9d5,stroke:#b71d18

场景对照:

你想做的事用哪个为什么
统一团队的提交信息格式Skill固定套路,内联即时执行最顺
每次审查 PR 走同一套清单Skill标准化流程,复用性强
在大仓库里深挖某个功能怎么实现Agent会翻很多文件,隔离上下文避免污染主会话
同时调研 3 个独立模块Agent可并行,墙钟时间大幅缩短
只是这一次让它改个变量名都不用直接说,别为一次性小事造抽象

六、别忽略:它们可以组合

Skill 和 Agent 不是二选一,而是能叠在一起用——这是很多人没意识到的:

  • Agent 里可以用 Skill:你派出去的子 Agent,同样能加载相关 Skill。比如派一个「代码审查 Agent」,它内部照样可以用 /review-pr 这套 Skill。
  • Skill 可以指挥派 Agent:一个 Skill 的指令里,完全可以写「遇到 N 个独立子任务时,并行派发子 Agent 去做」。

换句话说:Skill 定义「怎么做」,Agent 决定「谁来做、在哪做」,两者正交,可自由组合出更强的工作流。关于多个 Agent 并行协作的玩法,可以看 多 Agent 并行开发的原理 那篇。

七、放进更大的图景:三种扩展轴

给 Claude 扩能力,其实有三条正交的轴,别混为一谈:

扩展方式给的是什么一句话
Skills知识 / 流程让它怎么做一件事
Agents委派 / 隔离让它把活儿出去并行做
MCP外部工具 / 数据让它读你的系统、调你的接口

三者常常一起用:用 MCP 接上你的项目,用 Skill 封装审查流程,再用 Agent 把大任务并行拆出去。

一句话总结

Skills 像一本「操作手册」——需要时翻开,照着做,内联在你当前的工作里;Agents 像一个「派出去办事的助手」——给它一个任务,它在别处独立完成,回来只交结果。

选择标准就一句:封装「怎么做」用 Skill,委派「谁去做、在哪做」用 Agent;而它们最强的用法,是组合起来——让会用手册的助手们,并行地把事办漂亮。

分享

评论

相关文章

2 分钟阅读
让 Claude 用好 MCP:六个提问技巧 + 一条核心原则

给 Claude 接上 MCP 不等于它就懂你的项目——它得先调用工具才能拿到上下文。这篇讲清楚和接了 MCP 的 Claude 高效协作的六个提问技巧:建立上下文、指定工具、缩小范围、组合工具链、提问模板、目标导向,最后归纳成一条核心原则。

文章 AI
3 分钟阅读
AI Agent 开发入门:从原理到一个能调用工具的最小智能体

AI Agent 就是给大模型装上「手、脚和大脑」,让它能自主拆解任务、调用工具、执行并交付。这篇从核心架构、ReAct 循环、技术栈讲到开发五步,并用 Claude SDK 手写一个能调用工具的最小 Agent,跑通整个闭环。

文章 AI