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 Amplification27% 的任务是没有工具就不会尝试的新工作
Contextual Adaptability信任关系随时间演化(<50次会话自动批准率~20%,750次后>40%)

七组件高层结构

用户 → 接口层(CLI/SDK/IDE)→ Agent Loop → 权限系统 → 工具池
                                    ↕
                              状态与持久化
                                    ↕
                              执行环境(Shell/FS/MCP)

五层子系统分解

  1. Surface 层 — 入口点与渲染(ink 框架,终端 UI)
  2. Core 层 — queryLoop() 异步生成器 + 5 层压缩管道
  3. Safety/Action 层 — 权限系统、Hooks、工具池、沙箱、子 Agent
  4. State 层 — 上下文组装、JSONL 持久化、CLAUDE.md 层级、旁链
  5. Backend 层 — Shell 执行、MCP 连接、远程执行

权限系统:7 种模式(deny-first)

模式说明
plan执行前必须用户批准计划
default标准交互,大多数操作需批准
acceptEdits工作目录内编辑自动批准,Shell 命令需批准
autoML 分类器评估(需 TRANSCRIPT_CLASSIFIER 特性标志)
dontAsk不提示,但 deny 规则仍执行
bypassPermissions跳过大多数提示,安全关键检查仍保留
bubble内部模式,子 Agent 权限向父终端升级

关键设计:deny 规则永远优先于 allow 规则,即使 allow 规则更具体。

背景数据:用户批准 93% 的权限提示 → 批准疲劳使交互确认不可靠 → 必须独立于人类注意力维护安全。

上下文管理:5 层压缩管道

每次模型调用前按顺序执行:

  1. Budget reduction — 对工具结果强制大小限制,超出替换为内容引用
  2. Snip — 轻量级修剪,移除较旧的历史片段
  3. Microcompact — 细粒度压缩(时间路径 + 可选缓存感知路径)
  4. Context collapse — 读时投影,不修改存储历史,模型看到折叠视图
  5. Auto-compact — 最后手段,调用模型生成语义压缩摘要

可扩展性:4 种机制

机制作用
MCP外部工具服务器(已捐赠给 Linux Foundation AAIF)
Plugins通过 MCP 服务器和 skill/command 注册表间接贡献工具
Skills可复用的提示/命令模板
Hooks27 种事件类型(5 个安全相关,22 个生命周期/编排)

与 OpenClaw 的对比(6 个维度)

维度Claude CodeOpenClaw
安全模型逐操作 ML 分类边界级访问控制
运行时架构单一 CLI 循环嵌入网关控制平面的运行时
可扩展性上下文窗口扩展网关级能力注册
部署场景CLI 工具多渠道个人助手网关
信任边界细粒度策略执行容器级隔离
会话持久化append-only JSONL网关级状态管理

六个开放设计方向

  1. 可观测性-评估差距 — 缺乏对 Agent 行为的系统性评估机制
  2. 跨会话持久化 — 会话间知识和信任状态的延续
  3. Harness 边界演化 — 随模型能力提升,harness 应如何演化
  4. 视野扩展(Horizon Scaling) — 支持更长时间跨度的任务
  5. 治理 — Agent 系统的政策与合规框架
  6. 长期人类能力保护 ⚠️ — 短期放大是否以长期理解退化为代价?

研究发现:AI 辅助条件下开发者在理解测试中得分低 17%(技能萎缩风险)

关键数据点

  • 仅 1.6% 的代码是 AI 决策逻辑,98.4% 是运营基础设施
  • 27% 的任务是没有工具就不会尝试的新工作
  • 用户批准 93% 的权限提示(批准疲劳)
  • 自动批准率:<50 次会话 ~20% → 750 次会话 >40%
  • AI 辅助开发者理解测试得分低 17%

相关页面