01 - 六层架构总览
六层模型
理解 Claude Code 最直接的方式是把它拆成六层来看:
| 层级 | 职责 | 说明 |
|---|---|---|
| Memory | 项目知识 | CLAUDE.md、rules、memory 文件 |
| Skills | 工作流与领域知识 | 按需加载的知识包和操作流程 |
| Tools / MCP | 动作能力 | Shell、文件操作、外部工具集成 |
| Subagents | 隔离执行 | 独立上下文的派生 Claude 实例 |
| Hooks | 控制与审计 | 确定性脚本,强制约束 |
| Verification | 质量保障 | 测试、lint、截图对比、人工审查 |
只强化其中一层,系统就会失衡:
- CLAUDE.md 写太长 → 上下文先污染自己
- 工具堆太多 → 选择混乱
- Subagents 开得到处都是 → 状态漂移
- 跳过验证 → 出了问题不知道哪里挂的
Agent 循环
Claude Code 的核心不是”回答”,而是一个反复循环的代理过程:
收集上下文 → 采取行动 → 验证结果 → [完成 or 回到收集]
↑ ↓
CLAUDE.md Hooks / 权限 / 沙箱
Skills Tools / MCP
Memory
卡住的地方几乎从来不是模型不够聪明,更多时候是:
- 给了它错误的上下文
- 写出来了但没法判断对不对
- 没法撤回
排查思路
对着六层看,很多问题就好排查了:
| 现象 | 排查方向 |
|---|---|
| 结果不稳定 | 查上下文加载顺序,不是模型的事 |
| 自动化失控 | 看控制层有没有设计,不是 agent 太主动 |
| 长会话质量下降 | 中间产物把上下文污染了,换个新会话比反复调 prompt 有用 |
工具选择速查
| 需求 | 用什么 |
|---|---|
| 给 Claude 新动作能力 | Tool / MCP |
| 给它一套工作方法 | Skill |
| 需要隔离执行环境 | Subagent |
| 要强制约束和审计 | Hook |
| 跨项目分发 | Plugin |
Prev: 系列目录 | Next: 02 - 上下文管理