从 Toy Agent 到真实 Agent
最小 Agent 跑起来后,不要立刻复制 Claude Code 的全部复杂度。建议按风险和收益逐步演进。
阶段 1:可运行
能力:
- 基本 CLI。
- 模型调用。
- 一个读文件工具。
- 一个写文件工具。
- 会话日志。
目标:证明主循环能跑通。
阶段 2:安全可用
能力:
- Permission Gate。
- Bash allowlist。
- 文件路径边界。
- 错误型 tool_result。
- max turns。
- abort。
目标:让 Agent 不会轻易做危险动作。
阶段 3:可观察
能力:
- streaming 输出。
- 工具进度事件。
- 权限等待提示。
- session list。
- resume。
目标:用户看得见 Agent 正在做什么。
阶段 4:长会话
能力:
- token 估算。
- 手动 compact。
- 自动 compact。
- 文件状态缓存。
- session summary。
目标:长任务不会因为上下文过长中断。
阶段 5:可扩展
能力:
- commands。
- skills。
- MCP。
- plugin manifest。
- Hooks。
目标:让 Agent 能被用户和团队扩展。
哪些 Claude Code 设计可以晚点做
可以后置:
- 自研终端 renderer。
- 多种 MCP transport。
- plugin marketplace。
- 子 Agent 团队协作。
- 自动记忆。
- 多层 compact 策略。
应该尽早做:
- 工具 schema。
- 权限网关。
- 会话日志。
- tool_use/tool_result 配对。
- 错误处理。
小结
Claude Code 展示的是一个成熟 Agent CLI 的终局形态之一。学习它时,不要从终局复杂度开始,而要把它拆回几个稳定模块,再按产品风险逐步加回来。