当你在终端里敲下第一行指令,Claude Code 开始为你重构整个项目架构、修复 CI 失败、甚至悄无声息地推送 lint 修复 PR 时,你可能以为这只是“更聪明的 Copilot”。
可当项目跑了三个月、上下文膨胀到几十万 token、多个 Agent 并行工作时,真正决定它是否还能可靠运行的,从来不是模型生成能力,而是那套肉眼看不见的 12 层执行保障机制。

我起初以为 AI 编码工具的终极竞争是 prompt 调优和上下文长度,后来把 npm 包里 sourcemap 还原出的 512,664 行 TypeScript 全部拆开,才发现 Anthropic 真正下的注:生成从来不是瓶颈,执行可靠性才是。整个产品其实是一台“让语言模型安全、持久、最终自主写代码”的基础设施。

12 层 Harness:从 API 调用到无人值守的完整进化史

Claude Code 的核心是一个 query.ts 里的 while(true) 循环——每次 API 返回后立即 yield 控制权,检查响应、决定下一步、再继续。表面是简单循环,底层却堆叠了 12 层 Harness,每一层专门对抗一种生产失败模式。

前三层解决最基础的“能不能稳定对话”:流式输出、重试机制、错误兜底。
四到六层解决“工具能不能安全调用”:上下文组装、工具注册、命令解析。
七到九层解决“长期信任”:沙箱执行、权限分类、上下文压缩。
十到十二层解决“自主性”:跨会话记忆、主动行动、多 Agent 协调。

大多数竞品停在第六层就宣布胜利。Claude Code 把上半栈做到了极致,因为它真正想造的不是助手,而是能无人值守的同事。

// 重构后的核心 query 循环(带中文关键注释)
async function* query(...) {
  while (true) {                    // 永不退出的 Agent 主循环
    const response = await callClaudeWithTools(...);
    
    // Layer 1-3: 基础可靠性
    if (needsRetry(response)) continue;
    
    // Layer 4-6: 工具安全解析
    const toolCalls = parseWithBashAST(response);  // 2679 行 Bash AST 解析器在此
    if (!await classifyPermission(toolCalls)) {    // Claude 侧查询做动态分类
      askUserOrDeny();
      continue;
    }
    
    // Layer 7-9: 信任与压缩
    if (contextTooLarge) await threeTierCompact(); // auto/snip/context 三级压缩
    
    // Layer 10-12: 自主与协调
    if (shouldActAutonomously) await spawnKAIROS(); // 后台 daemon 逻辑
    
    yield response;
  }
}

Bash AST 解析器:从“猜”到“懂”的质变

最能体现执行可靠性的,是那个 2679 行 TypeScript 实现的完整 Bash AST 解析器。它不靠正则去“猜”命令是否安全,而是真正 lex + parse 出可执行文件、flag、pipe 目标、重定向——然后再让 Claude 做上下文敏感的权限分类(allow/deny/ask)。

这不是炫技,而是把“工具调用”从概率游戏变成了可审计的工程决策。

三个未发布特性:KAIROS、Dream、BUDDY 揭示的未来

源码里 108 个内部模块被 feature flag 严格隔离,其中三个直接指向下一代产品形态:

  • KAIROS:永远在线的 daemon Agent。按心跳 tick 醒来,检查 PR、CI 失败、review 评论,自主修复并推送通知。用户不再“打开工具干活”,而是“打开工具 review 它已经干完的事”。
  • Dream System:后台记忆整合。用户闲置时,子 Agent 自动把多会话知识去重、合并、剪枝,像人类睡眠时大脑巩固记忆一样,让下次会话带着“学过”的结构化知识出现。
  • BUDDY:虚拟宠物 Tamagotchi。18 种物种、稀有度、闪光率,根据你每天使用频率进化心情。它不是功能,而是用可变比率强化把“每天打开工具”变成习惯。

多 Agent 协调:用最古老的文件系统解决最新问题

Coordinator 模式下,一个主 Agent 能 spawn 多个 worker。它们不靠上下文传递状态,而是全部写到共享的 scratchpad 目录——最古老的磁盘文件协调机制,反而成了最可靠的跨 Agent 状态同步方案。进程内 worker 轻量,独立进程 worker 安全,按任务动态选择。

Claude Code vs 主流竞品的架构决策矩阵

维度 Claude Code (12 层 Harness) Cursor / Copilot / Windsurf 关键权衡与边界条件
执行可靠性核心 完整 12 层,覆盖自主与长期运行 停在工具调用层 短期 demo 够用 vs 生产无人值守
上下文管理 三级压缩(auto/snip/context) 简单截断或 summarization 长会话不降智 vs token 成本爆炸
安全机制 Bash AST + Claude 动态分类 静态 allowlist 或简单正则 零信任 vs 维护成本低
自主能力 KAIROS(未发布)+ 后台 Dream 无后台 daemon 订阅式交互 vs 对话式交互
多 Agent 协调 完整 coordinator + scratchpad 文件 基本 fan-out,无状态共享 复杂任务 vs 日常编辑
终端 vs IDE 体验 纯终端,依赖工具深度 IDE 原生,视觉上下文丰富 跨平台深度 vs 单 IDE 极致速度
长期记忆演进 Dream 后台整合 + 跨会话持久 简单内存或无 项目级理解 vs 会话级记忆

为什么说这是“执行可靠性”而非“生成能力”的胜利

Claude Code 的护城河从来不是模型本身,而是这套层层递进的 Harness 把模型的每一次输出都变成了可控、可审计、可演进的工程资产。上下文压缩让长会话不崩,权限分类让工具调用不翻车,Dream 让记忆越用越聪明,KAIROS 让 Agent 真正“上班”。

在生产环境落地前你必须先做的三件事

  1. 先用开源工具把当前项目 memory/ 目录完整备份(防止切换后想回滚);
  2. 搭建一个最小可验证的 KAIROS-like 后台 tick(哪怕只监控 CI 失败);
  3. 把 Dream 式的记忆整合逻辑先在非核心分支跑一遍,验证三门触发条件是否能真正防止幻觉累积。

当编码 Agent 真正进入“无人值守”时代

Claude Code 的架构不是在追赶竞品,而是在定义下一代开发者工具的底层操作系统:生成只是引擎,Harness 才是让引擎能 24 小时安全运转的完整车辆。源码泄露把蓝图摊在了所有人面前,但把 12 层按正确顺序、用正确优先级堆叠起来的工程判断,才是真正的壁垒。

你准备好把 AI 编码工具从“助手”升级成“同事”了吗?

欢迎在评论区分享:你在实际项目里用 Claude Code(或 Cursor / Aider)时,最大痛点是生成质量还是执行可靠性?如果你已经看到源码里 KAIROS 或 Dream 的影子,欢迎说说你对“订阅式 Agent”工作流的真实看法。我们一起把这个架构实验继续推深。

(本文基于 @yq_acc 在 X 上的深度源码拆解整理,原帖已完整公开 Claude Code npm 包 sourcemap 还原后的核心架构细节。)

我是紫微AI,在做一个「人格操作系统(ZPF)」。后面会持续分享AI Agent和系统实验。感兴趣可以关注,我们下期见。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐