arXiv: 2604.14228 | 2026-04-14 | cs.SE / cs.AI / cs.CL / cs.LG 作者: Jiacheng Liu, Xiaohan Zhao, Xinyi Shang, Zhiqiang Shen(MBZUAI + UCL) 代码: https://github.com/VILA-Lab/Dive-into-Claude-Code
一句话定位
通过分析 Claude Code 公开 TypeScript 源码,系统性地描述现代 AI 编程 Agent 的架构设计空间,并与开源系统 OpenClaw 对比,提炼出未来 Agent 系统的六个开放设计方向。
为什么值得关注
- 首篇对 Claude Code 进行源码级架构分析的学术论文
- 揭示了一个反直觉的比例:仅 1.6% 的代码是 AI 决策逻辑,98.4% 是运营基础设施
- 提出了”长期人类能力保护”这一被现有架构忽视的关键问题
- 对比 OpenClaw 展示了相同设计问题在不同部署场景下的不同答案
核心架构
五大设计价值观
| 价值观 | 含义 |
|---|---|
| Human Decision Authority | 人类保留最终决策权,通过主体层级(Anthropic → 运营商 → 用户)形式化 |
| Safety, Security & Privacy | 系统有义务保护,即使人类疏忽时也不例外 |
| Reliable Execution | 单轮正确性 + 长期连贯性 |
| Capability Amplification | 27% 的任务是没有工具就不会尝试的新工作 |
| Contextual Adaptability | 信任关系随时间演化(<50次会话自动批准率~20%,750次后>40%) |
七组件高层结构
用户 → 接口层(CLI/SDK/IDE)→ Agent Loop → 权限系统 → 工具池
↕
状态与持久化
↕
执行环境(Shell/FS/MCP)
五层子系统分解
- Surface 层 — 入口点与渲染(ink 框架,终端 UI)
- Core 层 —
queryLoop()异步生成器 + 5 层压缩管道 - Safety/Action 层 — 权限系统、Hooks、工具池、沙箱、子 Agent
- State 层 — 上下文组装、JSONL 持久化、CLAUDE.md 层级、旁链
- Backend 层 — Shell 执行、MCP 连接、远程执行
权限系统:7 种模式(deny-first)
| 模式 | 说明 |
|---|---|
plan | 执行前必须用户批准计划 |
default | 标准交互,大多数操作需批准 |
acceptEdits | 工作目录内编辑自动批准,Shell 命令需批准 |
auto | ML 分类器评估(需 TRANSCRIPT_CLASSIFIER 特性标志) |
dontAsk | 不提示,但 deny 规则仍执行 |
bypassPermissions | 跳过大多数提示,安全关键检查仍保留 |
bubble | 内部模式,子 Agent 权限向父终端升级 |
关键设计:deny 规则永远优先于 allow 规则,即使 allow 规则更具体。
背景数据:用户批准 93% 的权限提示 → 批准疲劳使交互确认不可靠 → 必须独立于人类注意力维护安全。
上下文管理:5 层压缩管道
每次模型调用前按顺序执行:
- Budget reduction — 对工具结果强制大小限制,超出替换为内容引用
- Snip — 轻量级修剪,移除较旧的历史片段
- Microcompact — 细粒度压缩(时间路径 + 可选缓存感知路径)
- Context collapse — 读时投影,不修改存储历史,模型看到折叠视图
- Auto-compact — 最后手段,调用模型生成语义压缩摘要
可扩展性:4 种机制
| 机制 | 作用 |
|---|---|
| MCP | 外部工具服务器(已捐赠给 Linux Foundation AAIF) |
| Plugins | 通过 MCP 服务器和 skill/command 注册表间接贡献工具 |
| Skills | 可复用的提示/命令模板 |
| Hooks | 27 种事件类型(5 个安全相关,22 个生命周期/编排) |
与 OpenClaw 的对比(6 个维度)
| 维度 | Claude Code | OpenClaw |
|---|---|---|
| 安全模型 | 逐操作 ML 分类 | 边界级访问控制 |
| 运行时架构 | 单一 CLI 循环 | 嵌入网关控制平面的运行时 |
| 可扩展性 | 上下文窗口扩展 | 网关级能力注册 |
| 部署场景 | CLI 工具 | 多渠道个人助手网关 |
| 信任边界 | 细粒度策略执行 | 容器级隔离 |
| 会话持久化 | append-only JSONL | 网关级状态管理 |
六个开放设计方向
- 可观测性-评估差距 — 缺乏对 Agent 行为的系统性评估机制
- 跨会话持久化 — 会话间知识和信任状态的延续
- Harness 边界演化 — 随模型能力提升,harness 应如何演化
- 视野扩展(Horizon Scaling) — 支持更长时间跨度的任务
- 治理 — Agent 系统的政策与合规框架
- 长期人类能力保护 ⚠️ — 短期放大是否以长期理解退化为代价?
研究发现:AI 辅助条件下开发者在理解测试中得分低 17%(技能萎缩风险)
关键数据点
- 仅 1.6% 的代码是 AI 决策逻辑,98.4% 是运营基础设施
- 27% 的任务是没有工具就不会尝试的新工作
- 用户批准 93% 的权限提示(批准疲劳)
- 自动批准率:<50 次会话 ~20% → 750 次会话 >40%
- AI 辅助开发者理解测试得分低 17%
相关页面
- awesome-openclaw-skills — 论文对比的开源 Agent 系统 OpenClaw
- karpathy-autoresearch — 另一个自主 Agent 框架
- autoresearch-ecosystem — AutoResearch 生态对比