Appearance
Agent 与 Skill:AI 编程工具的核心分工模型
最后更新:2026-08-11
Claude Code / Cursor / CodeBuddy 等 AI 编程工具最核心的两个扩展概念是 Agent 和 Skill。很多人把两者混为一谈,实际上它们解决的是完全不同的问题:
Agent 是"谁来做"——一个独立执行的专职角色;Skill 是"怎么做"——一套可复用的操作手册。
如果把 AI 比作一个团队:
- CLAUDE.md 是公司章程——每个人入职就要背下来
- Skill 是员工操作手册——干某件具体活才翻的那本
- Agent 是外包专家——给个任务自己独立干完再汇报
一、概念定义
| 概念 | 本质 | 上下文占用 | 谁触发 | 存放位置 |
|---|---|---|---|---|
| CLAUDE.md / Rules | 常驻知识库 | 全量常驻 | 自动(会话启动) | 项目根 / .claude/ |
| Skill | 按需加载的手册 | 用到时加载全文 | AI 按 description 自动匹配,或手动 | .claude/skills/<name>/SKILL.md |
| Agent | 独立执行的工人 | 过程完全隔离 | AI 按 description 自动委派,或 @提及 | .claude/agents/<name>.md |
二、Agent:独立执行的专职角色
2.1 执行模型

2.2 核心特征
| 特征 | 说明 |
|---|---|
| 上下文隔离 | 读文件、搜索、推理过程完全不进入主对话,只带回结论 |
| 独立工具权限 | 可限制只给 Read/Grep/Glob,不给 Write/Edit |
| 独立模型 | 简单探索用轻量模型,深度分析用强模型 |
| 并行执行 | 多个 Agent 可同时运行(最多 5 层嵌套) |
| 自动委派 | Claude 根据 description 自动判断,也可显式 @agent名 |
2.3 创建模板
在 .claude/agents/ 下创建 .md 文件:
yaml
---
name: code-reviewer
description: "审查代码质量、安全性和最佳实践。当用户要求 review、audit 或检查代码质量时调用。"
tools: Read, Grep, Glob, Bash(git diff)
disallowedTools: Write, Edit
model: sonnet
maxTurns: 50
---
你是一个资深代码审查专家。
## 审查维度
1. 安全性:SQL 注入、XSS、硬编码密钥
2. 性能:N+1 查询、循环内大对象创建
3. 可维护性:单一职责、命名自解释
## 输出格式
Critical / Major / Minor 三级,每项带位置和修复建议。2.4 何时用 Agent
| 信号 | 推荐 |
|---|---|
| 任务量大(需要读 10+ 个文件) | ✅ 用 Agent,不污染主对话 |
| 需要严格限制权限(只能读不能写) | ✅ 用 Agent 的 disallowedTools |
| 需要并行跑多个独立任务 | ✅ 多个 Agent 同时启动 |
| 任务简单、几步就完成 | ❌ 不必 Agent,直接对话 |
| 需要在主对话中引用中间结果 | ❌ Agent 只有结论,用 Skill |
三、Skill:可复用的操作手册
3.1 渐进式披露机制
Skill 最精妙的设计是渐进式披露——不同于 CLAUDE.md 的全量常驻,Skill 只在 AI 判断"这个任务需要这个技能"时才把全文加载进来。

3.2 为什么不用 CLAUDE.md 代替
| 问题 | CLAUDE.md 方案 | Skill 方案 |
|---|---|---|
| "部署流程"只占任务的 1% | 占 1% 但常驻占 Token | 用到才加载 |
| "Code Review 清单"很长 | 塞进 CLAUDE.md 后会爆上下文 | 独立文件,按需加载 |
| 团队有 10+ 条审查规则 | CLAUDE.md 变得无法阅读 | 按主题拆成多个 Skill |
核心原则:CLAUDE.md 存宏观约定(图例),Skill 存微观流程(街道导航)。
3.3 创建模板
在 .claude/skills/<name>/ 下创建 SKILL.md:
yaml
---
name: code-review
description: "按团队规范执行 Code Review。触发词:review、审查、audit、代码检查。"
argument-hint: "[file-or-pr]"
allowed-tools: Read, Grep, Glob, Bash(git *)
---
## Review 清单
### 1. 安全
- SQL 注入
- XSS
- 硬编码密钥
### 2. 性能
- N+1 查询
- 循环内对象创建
### 3. 可维护性
- 方法 ≤ 30 行
- 命名自解释
$ARGUMENTS 指定要 review 的文件。3.4 何时用 Skill
| 信号 | 推荐 |
|---|---|
| 某类任务有固定的执行流程 | ✅ Skill |
| 流程很长但使用频率不高 | ✅ Skill(用到才加载) |
| 需要让 AI 自动匹配触发 | ✅ description 字段设计好 |
| 每个对话都必须知道 | ❌ 放 CLAUDE.md |
| 需要同时有独立执行 + 权限控制 | ❌ 用 Agent |
四、三向对比

| 维度 | CLAUDE.md | Skill | Agent |
|---|---|---|---|
| 定位 | 你需要知道什么 | 怎么做这件事 | 谁来做这件事 |
| 加载时机 | 会话启动全量 | 用到时才加载全文 | 委派时独立启动 |
| 占用主对话上下文 | ✅ 常驻 | 触发后驻留 | ❌ 过程完全隔离 |
| 工具权限限制 | ❌ 不能(纯文本) | ✅ allowed-tools | ✅ tools / disallowedTools |
| 独立模型 | ❌ | ✅ | ✅ |
| 并行执行 | ❌ | ❌(主流程中顺序) | ✅ 多 Agent 并行 |
| 触发方式 | 自动 | 按 description 自动匹配 | 按 description 自动委派 / @提及 |
| 存放位置 | 项目根 | .claude/skills/<name>/SKILL.md | .claude/agents/<name>.md |
五、选择决策树

六、Agent + Skill 协同
两者不是互斥的,三种协同模式:
| 模式 | 做法 | 场景 |
|---|---|---|
| Skill 调用 Agent | context: fork → 自动用 Agent 执行 | 部署检查:需读大量文件但不污染主对话 |
| Agent 引用 Skill | Agent 的 prompt 中引用 Skill 内容 | Code Review Agent + 安全审查 Skill |
| 多 Agent + Skill | 多个 Agent 并行,统一加载一个 Skill | 批量审查多模块,统一标准 |
七、类比总结
把 AI 编程比喻成一间厨房:
| 概念 | 类比 |
|---|---|
| CLAUDE.md | 冰箱上的菜单——"本厨房的规矩:少盐、不用味精、西蓝花必须先焯水" |
| Skill | 灶台上的菜谱本——没人天天翻,但要做宫保鸡丁时才拿下来 |
| Agent | 请来帮忙的外聘厨师——给他围裙是"权限",他自己备料、炒菜、装盘,你只尝味道 |
一句话总结
CLAUDE.md 告诉 AI "这间厨房的规矩",Skill 教它"这道菜怎么做",Agent 让它"自己去另一间厨房做完了端过来"。