Claude Code 智能体设计拆解¶
这个专题用 Claude Code 作为案例,分析一个编程智能体运行时如何组织用户任务、模型采样、工具执行、权限控制、上下文压缩和会话恢复。运行时指本地负责调度、执行和记录的控制系统;模型只负责生成文本和工具意图。
Claude Code 的核心边界是“模型决策”和“本地执行”分离。模型只能表达下一步意图;本地运行时负责把意图转换成经过校验、授权、隔离和记录的动作。阅读时先建立数据流,再进入各章细节。
flowchart LR
User[用户输入] --> Entry[入口层]
Entry --> Engine[查询引擎<br/>QueryEngine]
Engine --> Context[上下文与记忆]
Context --> Loop[查询循环]
Loop --> Model[模型流式采样]
Model -->|文本| Client[客户端展示]
Model -->|工具调用| Tools[工具运行时]
Tools --> Permissions[权限与沙箱]
Permissions -->|允许| Handlers[本地处理器]
Permissions -->|拒绝/询问| Loop
Handlers --> Results[工具结果]
Results --> Loop
Loop --> Store[转录、状态、恢复]
推荐阅读路径¶
新手可以先读 00. 运行时分层、01. 请求生命周期、04. 查询循环 和 11. 真实任务串联,先看清一轮任务如何流动。
源码跟读可以按 02. 领域模型、03. 入口如何汇入核心、05. 上下文与记忆管理、07. 工具、技能与 MCP、08. 权限与安全 的顺序展开。
对照阅读可以把本专题的 04/05/07/08/11 章与 Codex 智能体专题的同编号章节并排看。两个系统都围绕“会话、轮次、工具回流、权限、恢复”展开,但术语和边界分层不同。
术语说明¶
- 查询循环(query loop):一次用户轮次内反复进行模型采样、工具执行和结果回填的控制流程。
- 工具调用(tool use):模型提出的结构化动作意图,不等于本地已经执行。
- 工具结果(tool result):本地工具执行、拒绝或失败后回填给模型的结构化结果。
- 沙箱(sandbox):限制命令、文件写入或网络访问的隔离环境。
- 技能(skill):可复用的任务说明和约束,不直接提供新的执行权限。
- MCP:模型上下文协议,用于把外部服务的工具、资源或提示接入智能体。
后面的章节讲入口、模型流、状态观测、扩展路径和真实任务串联。横向比较见 Claude Code 与 Codex 智能体设计对照。