第08章 Hooks、Agents、MCP:从单次对话到自动化系统
Claude Code 入门阶段靠自然语言;进阶阶段靠 skills;再往上,就是 Hooks、Agents、MCP 组成的自动化系统。
三者解决的问题不同:
| 机制 | 解决什么问题 |
|---|---|
| Hooks | 在事件发生时自动执行检查或动作 |
| Agents | 把复杂任务拆给专门角色处理 |
| MCP | 连接外部系统和工具 |
Hooks:把规则放进事件里
Hooks 是事件钩子。你可以在 Claude Code 调用工具前后、会话开始、会话结束、子代理完成时运行脚本。
最常见场景:
- 写文件后自动格式化。
- 执行 Bash 前阻止危险命令。
- 会话结束前提醒测试未运行。
- 每次启动时加载团队上下文。
Hooks 的价值是稳定执行。你不需要每次提醒“改完记得格式化”,它会在事件发生时自动触发。
但 hooks 也最危险,因为它们会真实执行命令。写 hooks 时要遵守三条规则:
- 默认只做检查,不做破坏性操作。
- 输入来自 JSON stdin,要严格解析。
- 任何删除、发布、改权限的动作都要人为确认。
Agents:把任务交给专门角色
Claude Code 的 agents 是专门化子代理。你可以让一个 agent 专门做代码审查,让另一个专门查安全风险,让第三个专门读文档。
适合 agents 的任务有三个特征:
- 可以和主任务并行。
- 需要不同关注点。
- 产物可以被主会话审查。
例如大型改动后:
请启动一个代码审查 agent 检查 correctness,
再启动一个安全审查 agent 检查输入校验和权限边界。
主线程不要继续修改代码,等它们返回结论。Agents 不是越多越好。每个 agent 都会消耗上下文和时间;如果任务很小,主会话直接处理更快。
MCP:把 Claude Code 接到外部世界
MCP 是 Model Context Protocol。它让 Claude Code 连接外部服务,例如 GitHub、数据库、项目管理系统、设计工具、监控系统。
MCP 的价值不是“多一个接口”,而是让 Claude Code 获取当前事实:
- GitHub PR 里有哪些 review comment。
- Linear issue 的验收标准是什么。
- Figma 设计稿里的组件间距是多少。
- Sentry 最近的错误栈是什么。
- 数据库 schema 当前长什么样。
当需求、设计、运行状态都在外部系统里时,MCP 能显著减少“凭空猜”。
三者如何组合
一个成熟团队可以这样组合:
flowchart TD
A[用户提出任务] --> B[Claude Code 主会话]
B --> C[Skill 加载项目流程]
B --> D[Agent 并行审查]
B --> E[MCP 读取外部事实]
B --> F[Edit/Write 修改代码]
F --> G[Hook 自动检查]
G --> H[Verify 验证结果]flowchart TD
A[用户提出任务] --> B[Claude Code 主会话]
B --> C[Skill 加载项目流程]
B --> D[Agent 并行审查]
B --> E[MCP 读取外部事实]
B --> F[Edit/Write 修改代码]
F --> G[Hook 自动检查]
G --> H[Verify 验证结果]flowchart TD
A[用户提出任务] --> B[Claude Code 主会话]
B --> C[Skill 加载项目流程]
B --> D[Agent 并行审查]
B --> E[MCP 读取外部事实]
B --> F[Edit/Write 修改代码]
F --> G[Hook 自动检查]
G --> H[Verify 验证结果]flowchart TD
A[用户提出任务] --> B[Claude Code 主会话]
B --> C[Skill 加载项目流程]
B --> D[Agent 并行审查]
B --> E[MCP 读取外部事实]
B --> F[Edit/Write 修改代码]
F --> G[Hook 自动检查]
G --> H[Verify 验证结果]示例工作流:
- MCP 从 Linear 读取需求。
- Skill 加载项目实现规范。
- 主会话实现功能。
- Hooks 在写文件后自动格式化和静态检查。
- Agents 并行做 correctness review 和 security review。
/verify运行真实应用验证。
这时 Claude Code 已经不只是聊天工具,而是一个围绕代码库运行的开发系统。
不要过度自动化
自动化越多,调试成本越高。建议按这个顺序演进:
- 先写
CLAUDE.md。 - 再把重复流程写成 skills。
- 然后接入必要 MCP。
- 最后才写 hooks 和 agents。
如果一开始就堆 hooks、agents、MCP,出了问题很难判断是提示词、权限、外部服务还是脚本本身。
本章小结
Hooks、Agents、MCP 的本质分别是:
- Hooks:把规则自动化。
- Agents:把认知分工化。
- MCP:把上下文外部化。
Claude Code 精通不是会写复杂配置,而是知道什么时候该用哪一层。能用自然语言解决的,不要上 hooks;能用 skill 解决的,不要上插件;只有当流程需要共享、复用、自动触发时,再升级扩展机制。
参考资料:
相关内容
- 第03章 安装、登录与第一条有效指令
- 第04章 日常开发工作流:读、改、测、审、交付
- 第05章 Claude Code 自带的 Skills:哪些值得每天用
- 第06章 写自己的 Skill:把重复提示词变成工程资产
- 第07章 现在值得优先使用的 Skills 与官方插件
支付宝
微信