2026. 05. 18. / TECH · 4 min read
Claude Code中的Skill和Agent有什么区别?
两者都能扩展Claude,但用途截然不同
使用Claude Code时,经常会遇到Skill和Agent这两个概念。
看起来相似,但作用完全不同。来梳理一下各自适合的使用场景。
Skill:交给Claude的操作手册
Skill是一份Markdown文档,告诉Claude"遇到这种情况,就这样做"。
实体是存放在.claude/skills/目录下的.md文件。
调用Skill("skill-name")时,该文件会被加载到当前对话的上下文中。
Skill在当前对话中运行 — 不需要独立进程,也不会创建新实例。
斜杠命令(/review、/ship、/qa)都是在调用Skill。
将复杂任务的步骤和规则定义在文件里,需要时直接调用。
# 示例:/new-blog-post Skill文件
## 第一步:确认关键词
## 第二步:搜索新闻
## 第三步:选择文章
...
定义一次工作流,Claude每次都会按步骤执行。
Agent:启动一个独立的Claude实例
Agent是通过Agent()工具调用的子Claude实例。
它对当前对话一无所知 — 不提供背景说明直接发送,它无法理解上下文。 可以在后台并行运行,并且有专门的类型可供选择。
| 类型 | 用途 |
|---|---|
Explore | 代码库探索、文件/符号搜索 |
Plan | 实现策略设计与架构审查 |
general-purpose | 复杂的多步骤任务 |
claude-code-guide | Claude Code API/CLI相关问题 |
Agent完成任务后,只返回一条结果消息。
核心区别一览
| 特性 | Skill | Agent |
|---|---|---|
| 运行位置 | 当前对话内 | 独立子实例 |
| 上下文 | 共享 | 从零开始 |
| 并行执行 | 不支持 | 支持 |
| 调用方式 | Skill("name") | Agent({...}) |
| 返回值 | 无(直接执行) | 一条消息 |
| 主要用途 | 工作流模板 | 委托独立任务 |
该用哪个?
使用Skill的场景:
- 将重复性工作标准化(博客写作、PR审查、部署等)
- 任务需要当前对话的上下文时
- 步骤顺序重要的顺序性工作
使用Agent的场景:
- 同时处理多个独立任务时
- 想保护主上下文窗口时(如大规模代码探索)
- 需要独立判断的验证、审查任务时
两者也可以组合使用。
Skill内部调度Agent的模式在实际中很常见 — Skill定义"怎么做",Agent负责"实际执行",分工明确。
Skill是交给Claude的操作手册,Agent是单独雇用一名新员工。
只需手册就能搞定时自己处理,任务多或需要独立性时另派专人。


