Claude Code 的架构哲学是:给模型最大的局部自主性,但用极厚的确定性基础设施(权限、压缩、恢复、扩展)将其严密包裹。论文不仅拆解了一个生产级 Agent 系统的工程实现,更通过 OpenClaw 对比证明:Agent 架构没有通用蓝图,设计选择必须服务于具体的部署上下文、信任模型和人类价值观——而未来最大的挑战或许不是让 Agent 更自主,而是如何在放大人类能力的同时,保护人类的长期理解与技能不衰退。
Claude Code 的核心 Agent 循环极其简单——就是一个 while 循环:组装上下文 → 调用模型 → 解析工具请求 → 执行工具 → 反馈结果 → 重复 。
但论文指出,仅约 1.6% 的代码是 AI 决策逻辑,剩余 98.4% 全是围绕这个循环的操作基础设施(权限、上下文压缩、可扩展性、会话持久化等)。这说明生产级 Agent 的质量瓶颈不在模型调用,而在编排层(harness)的工程设计 。
作者从源码和 Anthropic 的设计文档中提炼出五个贯穿架构的人类价值观 :
| 价值观 | 核心含义 |
|---|---|
| 人类决策权威 | 人类保留最终决策权,系统支持实时观察、审批、中断和事后审计 |
| 安全与隐私 | 即使在用户疏忽时,系统也有义务保护代码、数据和基础设施 |
| 可靠执行 | 忠实理解用户意图,跨长会话保持连贯,支持结果验证 |
| 能力放大 | 不是加速现有工作流,而是实现"没有该工具就不会尝试"的新工作流 |
| 上下文适应性 | 适配用户的项目、工具、习惯,且信任关系随使用时长进化 |
上述价值观通过 13 条设计原则落地到代码,例如 :
七组件高层视图 : 用户 → 接口层(CLI/IDE/SDK)→ Agent 循环 → 权限系统 → 工具池 → 执行环境 → 状态与持久化
五层子系统分解 :
queryLoop() 异步生成器 + 五层上下文压缩管道因为上下文窗口是绑定性资源,Claude Code 在每次调模型前依次执行 :
不依赖向量检索,而是使用纯文本 Markdown 文件 + LLM 扫描头部来选择相关文件,强调可审计性 :
~/.claude/CLAUDE.md)CLAUDE.md / .claude/rules/*.md)CLAUDE.local.md)OpenClaw 是一个多通道个人助手网关(persistent daemon),与 Claude Code(CLI 临时进程)回答相同的设计问题,但给出了镜像式的答案 :
| 维度 | Claude Code | OpenClaw |
|---|---|---|
| 系统定位 | 临时代码工具,绑定单仓库 | 持久网关守护进程,多通道控制平面 |
| 信任模型 | 默认拒绝 + 每动作安全评估 + ML 分类器 | 网关边界控制 + 单可信操作员 + 可选沙箱 |
| Agent 运行时 | queryLoop() 是系统中心 | Agent 循环嵌入网关 RPC 调度层内 |
| 扩展架构 | 4 种机制按上下文成本分层(hooks/skills/plugins/MCP) | Manifest-first 插件系统,12 种能力类型,网关级注册 |
| 记忆/上下文 | CLAUDE.md 四级 + 五级压缩 | 多文件引导(AGENTS.md/SOUL.md 等)+ 可插槽压缩 + 混合搜索 |
| 多 Agent | 任务委托子 Agent(Explore/Plan 等) | 多 Agent 路由 + 可配置嵌套委托 |
关键洞察:相同的设计问题在不同部署上下文中会产生不同的架构答案。两者甚至可以组合——OpenClaw 可通过 ACP 协议托管 Claude Code 作为外部代码工具 。
论文最后提出 Agent 系统尚未解决的关键方向 :