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-guideClaude Code API/CLI相关问题

Agent完成任务后,只返回一条结果消息。


核心区别一览

特性SkillAgent
运行位置当前对话内独立子实例
上下文共享从零开始
并行执行不支持支持
调用方式Skill("name")Agent({...})
返回值无(直接执行)一条消息
主要用途工作流模板委托独立任务

该用哪个?

使用Skill的场景:

  • 将重复性工作标准化(博客写作、PR审查、部署等)
  • 任务需要当前对话的上下文时
  • 步骤顺序重要的顺序性工作

使用Agent的场景:

  • 同时处理多个独立任务时
  • 想保护主上下文窗口时(如大规模代码探索)
  • 需要独立判断的验证、审查任务时

两者也可以组合使用。

Skill内部调度Agent的模式在实际中很常见 — Skill定义"怎么做",Agent负责"实际执行",分工明确。


Skill是交给Claude的操作手册,Agent是单独雇用一名新员工

只需手册就能搞定时自己处理,任务多或需要独立性时另派专人。

相关文章