小白也能懂!Claude Code 中 Agent 和 Skill 到底有什么区别?
小白也能懂!Claude Code 中 Agent 和 Skill 到底有什么区别?
你用 Claude Code 的时候,一定见过这两个词:Agent 和 Skill。
它们都能让 Claude 变得更"聪明",但原理完全不同。搞混的人不在少数,包括我自己。
今天用大白话讲清楚,保证看完你就懂。
先说结论:一个字之差,天壤之别
Agent = 独立的 AI 助手(有自己的"脑子")
Skill = 一套流程模板(共用主对话的"脑子")
打个比方:
-
Agent 像你公司里的员工。你把任务交代给他,他自己想办法完成。他有独立的思考空间(上下文窗口),能理解复杂的需求,做出自己的判断。
-
Skill 像你办公桌上的流程手册。翻开手册,按照步骤一步一步做。但动脑子的人还是你自己,手册只是帮你省去"想下一步干什么"的功夫。
一张表看懂核心区别
| 对比项 | Agent(子Agent) | Skill(技能) |
|---|---|---|
| 上下文 | 独立的上下文窗口 | 共享主对话上下文 |
| 类比 | 公司员工 | 流程手册 |
| 适用场景 | 多步骤复杂任务 | 固定流程的重复任务 |
| 配置方式 | .md 文件(YAML + 提示词) | .md 文件(纯提示词) |
| 存放位置 | .claude/agents/ | .claude/commands/ |
| 工具权限 | 可精细控制 | 继承主对话权限 |
| 通信方式 | 消息传递(像 Slack) | 直接在主对话中执行 |
什么时候用 Skill?什么时候用 Agent?
记住一句话就够了:
任务需要多步操作 + 大量上下文 = 用 Agent
任务是固定流程 = 用 Skill
举个具体例子。
适合 Skill 的场景:
/commit—— 格式化 git commit message/review-pr—— 按 checklist 审查 PR/build—— 执行构建命令
这些任务的特点是:步骤固定,输入简单,不需要"理解"太多上下文。
适合 Agent 的场景:
- 写一篇公众号文章(搜索、写作、排版、上传、发布)
- 重构一个模块(阅读代码、理解架构、修改、测试)
- 安全审计(扫描依赖、检查代码模式、生成报告)
这些任务的特点是:步骤多、需要大量上下文、需要自主决策。
真实案例:wechat-publisher 的进化史
我自己的微信公众号发布工具就是一个典型例子。
最开始它是个 Skill。流程很简单:写文章、转格式、发布。三个步骤,一气呵成。
但后来需求越来越复杂:
- 要搜索最新资料
- 要根据不同主题调整写作风格
- 要处理封面图、正文配图
- 要排版成微信兼容的 HTML
- 要上传素材到微信服务器
- 要创建草稿或直接发布
- 还要同步到 CSDN
一个 Skill 根本搞不定。上下文窗口会被撑爆,流程也太灵活了,没法写死。
所以我把它升级成了 Agent。现在它像一个独立的"小编",自己规划任务,自己执行,最后把结果汇报给我。
这就是从 Skill 到 Agent 的典型升级路径。
Agent 怎么配置?一个文件搞定
Agent 的配置就是一个 .md 文件,放在 .claude/agents/ 目录下。
文件结构很简单:
---
name: my-agent
description: 这是一个示例 Agent 的描述
model: claude-sonnet-4-20250514
tools:
- Read
- Write
- Bash
- Glob
- Grep
---
你是一个专业的 XX 助手。
你的任务是:
1. 理解用户需求
2. 分析相关文件
3. 输出结果
上半部分是 YAML frontmatter,用三个短横线包裹。关键配置字段:
name:Agent 的唯一标识,用于触发和引用description:描述 Agent 的功能,决定了什么时候自动触发model:指定使用的模型(可以选便宜的模型省钱)tools:工具权限列表,决定 Agent 能干什么
下半部分是系统提示词,告诉 Agent 该怎么做事。
两种触发方式
1. 自动触发(被动)
在 description 里写上 “PROACTIVELY”,Claude 会在合适的时机自动调用这个 Agent:
description: PROACTIVELY run code review on every PR
2. 手动调用(主动)
直接告诉 Claude:
用 code-reviewer agent 审查一下这个 PR
放哪里?项目级 vs 用户级
Agent 配置文件有两个存放位置:
- 项目级
.claude/agents/:只对当前项目生效 - 用户级
~/.claude/agents/:对你所有项目都生效
建议:
- 通用 Agent(如代码审查)放用户级
- 项目特有 Agent(如 wechat-publisher)放项目级
工具权限控制:最小权限原则
给 Agent 配置工具时,遵循最小权限原则。
不是所有 Agent 都需要 Write 权限。看几个实际例子:
# 代码审查员 - 只需要读权限
name: code-reviewer
tools:
- Read
- Glob
- Grep
- LSP
# 测试工程师 - 需要写和执行
name: test-engineer
tools:
- Read
- Write
- Bash
# 安全审计员 - 只需要读权限
name: security-reviewer
tools:
- Read
- Glob
- Grep
# 调试专家 - 需要完整的读写和执行能力
name: debugger
tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- LSP
安全审查员不需要 Write 权限 —— 它只看不改。这样即使 Agent 出了问题,也不会破坏你的代码。
实战 Agent 示例推荐
下面这些 Agent 类型可以直接拿来用:
code-reviewer(代码审查)
name: code-reviewer
description: PROACTIVELY review code changes for quality issues
tools:
- Read
- Glob
- Grep
- LSP
test-engineer(写测试)
name: test-engineer
description: Write comprehensive unit tests
tools:
- Read
- Write
- Bash
- Glob
- Grep
debugger(调 Bug)
name: debugger
description: Debug issues and find root causes
tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
- LSP
security-reviewer(安全审计)
name: security-reviewer
description: PROACTIVELY audit code for security vulnerabilities
tools:
- Read
- Glob
- Grep
最后一句话总结
Skill 是给自己用的备忘录
Agent 是给另一个 AI 用的岗位说明书
简单任务用 Skill,复杂任务上 Agent。别想太多,先从 Skill 开始,做不下去再升级成 Agent。
就像这篇公众号文章,就是靠 Agent 写出来、排版、上传、保存草稿的。人力?零。
本文由 Claude Code Agent 自动写作并排版,仅保存草稿,供人工审核后发布。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)