51 万行源码「裸奔」:Claude Code 一次失误,把 AI 编程的底牌全翻了
|
ai coding agent Claude Code源码泄露KAIROSAI Agent架构
|
|
核心观点 Anthropic 因一个 .npmignore 配置失误,意外泄露 Claude Code 全部 51.2 万行源码。代码不仅暴露了 40+ 工具模块和 4.6 万行查询引擎的完整架构,更揭示了一个代号 KAIROS 的「永不下线」守护进程模式——这意味着 Anthropic 的真实目标不是做编程助手,而是做一个能自主工作的 AI 程序员。 |

|
一个本不该出现的 Bug |
3 月 31 日,硅谷炸了。
不是哪家公司发了新模型,不是谁又融了几十亿,而是——Anthropic 把自己的王牌产品 Claude Code 的全部源代码,原封不动地放在了互联网上。
51.2 万行 TypeScript 代码。1900 个文件。一个 57MB 的 source map 文件。
原因?打包的时候忘了在.npmignore里加一行排除 .map 文件。
就这么简单。就这么离谱。
Claude Code 通过 npm 发布,版本号 v2.1.88。正常情况下,发布的是编译后的 JavaScript 文件,开发者只能看到压缩混淆过的代码——就像你拿到一本书但每页都被涂黑了一样。
但这次,一个叫 cli.js.map 的 source map 文件被一起打包了进去。有了这张「代码地图」,51.2 万行代码就像被扒光了衣服——所有函数名、变量名、注释、内部逻辑,一览无余。
更尴尬的是,这不是第一次了。2025 年 2 月首次发布到 npm 时,同样的问题就出现过,当时已修复。一年后,不知道哪个工程师改了构建配置,bug 又被引入了。
安全研究员 Chaofan Shou 在推特披露此事后,GitHub 上的备份仓库两小时内冲到5 万星,创下 GitHub 有史以来增长最快纪录。截至 4 月 1 日,已达 5.58 万星、5.82 万 Fork。
Anthropic 迅速发起 DMCA 删除请求。但 npm 的早期版本已经被存档,源码在社区广泛传播。要删?不好意思,已经晚了。
|
51 万行代码,到底藏着什么? |
这是全文的核心。我把社区几十篇技术分析综合起来,理出了 Claude Code 的完整架构。你不需要懂代码,但你需要理解这个系统的思维方式——因为它代表了 AI 编程工具的未来。
1. 核心引擎:4.6 万行的「超级大脑」
Claude Code 的心脏是一个叫 QueryEngine 的文件,单个文件就有 4.6 万行代码。它负责整个思维链循环:接收输入 → 组装上下文 → 调用模型 → 解析回复 → 执行工具 → 喂回结果 → 继续循环,直到任务完成。
一个简单的任务,内部可能循环几十次才出最终结果。每一次循环都在思考、行动、观察——学术上叫 ReAct 范式。
2. 万能工具箱:40+ 个精密模块
代码暴露了39 个独立工具和50+ 个斜杠命令。覆盖了程序员日常几乎所有操作:
|
文件操作:读文件、写文件、目录遍历 |
3. 技术栈:出乎意料的「朴素」
你猜 Claude Code 用了什么黑科技?React + Ink(用 React 渲染终端界面)、Bun 运行时、Commander.js、Zod 类型校验。没有 LangChain,没有 AutoGen,没有任何 AI Agent 框架。
|
最好用的 AI 编程工具,技术栈一点都不神秘。 |
|
三个隐藏功能,暴露了 Anthropic 的真实野心 |
源码里最有料的不是已上线的功能,而是那些还没发布的。代码中的 feature flags 像藏宝图一样,指向了 Claude Code 的未来。
隐藏功能一:KAIROS——永不下线的 AI
这是最让我震撼的发现。KAIROS 在源码中被引用超过150 次。它是一个完全不同于当前 Claude Code 的运行模式——守护进程模式。
现在的 Claude Code 是「你问它答」。关掉终端,它就不存在了。KAIROS 要做的是:让 Claude 变成一个永远在后台运行的 AI 程序员。
|
心跳循环:没有用户输入时,自动注入 tick 信号——「闹钟响了,看看有什么该做的」 |
这意味着什么?Claude 不再是你打开才存在的工具。它会像一个真正的同事一样,在后台默默处理代码审查、监控 CI 状态、响应 GitHub Issue——甚至在你睡觉的时候帮你「做梦」,整理项目记忆。
隐藏功能二:Undercover Mode——最具争议的发现
源码中有一个约 90 行的文件 undercover.ts,功能简单但争议巨大:
|
当 Anthropic 员工在公共仓库提交代码时: |
社区炸了:「如果一个工具愿意在提交记录中隐瞒身份,它还愿意隐瞒什么?」
这个功能可能是为了保护内部开发代号不被泄露(讽刺的是,最终还是泄了),但它触碰了开源社区最敏感的神经——透明度。
隐藏功能三:Buddy System——工程师的小乐趣
代码中藏了一个完整的电子宠物系统。18 个物种,分普通到传说级稀有度,每只宠物有 5 个属性:调试能力、耐心、混乱度、智慧、嘲讽值。还有闪光变体。
据分析,这原本是计划在 4 月 1 日作为愚人节彩蛋发布,5 月正式上线。一群世界级工程师在写改变行业的 AI 工具之余,还不忘在里面养电子宠物。这大概就是硅谷式浪漫吧。

|
反蒸馏:对竞争对手的暗战 |
源码中还暴露了一个不那么友好的功能——反蒸馏机制。
通过 ANTI_DISTILLATION_CC 标志,Claude Code 会向 API 请求中注入虚假的工具定义。目的?如果竞争对手试图通过抓取 Claude 的输出来训练自己的模型(业内叫「蒸馏」),这些虚假信息就会污染他们的训练数据。
同时,系统还会用加密签名对工具调用之间的推理过程进行摘要,防止中间人窃取完整的思维链。
|
AI 公司之间的竞争不只是比谁的模型强。 |
|
泄露的影响:谁赢了,谁输了? |
Anthropic:丢了面子,底牌未失守
这次泄露的是 CLI 客户端代码,不包含模型权重、训练数据或用户信息。Claude 的核心竞争力——模型本身——毫发无损。但工程化层面的所有创新全部公开了,竞品可以学习、借鉴甚至直接复制。
竞品:拿到了一份教科书级参考
Agent Loop、Tool Schema、Context Engineering、Error Recovery 五大范式,构成了一份完整的「如何构建生产级 AI Agent」教科书。Cursor、Windsurf、GitHub Copilot、国内各路编程 Agent——现在都知道 Claude Code 是怎么做的了。
开源社区:最大赢家
韩国开发者 Sigrid Jin 用 OpenAI Codex 对泄露代码进行了「净室重写」,创建了开源项目 claw-code。两小时 5 万星,目前超 5.5 万星,正在被社区用 Rust 重写。Claude Code 的架构,正以开源形式被复刻。
|
对 AI 编程市场的四个判断 |
|
判断一:AI 编程的范式已经收敛。Agent Loop + Tool System + Prompt Scaffold + Context Engineering + Error Recovery,这五个要素已成标准范式。不需要发明新东西,需要的是把每个模块做到极致。 判断二:Harness 比 Model 更重要。Claude Code 用 React + Ink + Bun 这种「平平无奇」的技术栈,做出了业界公认最好的编程体验。差距在 4.6 万行的 QueryEngine 里,在 2500 行的 Bash 安全检查里。模型是发动机,Harness 才是让车跑起来的一切。 判断三:「永不下线」是下一个战场。KAIROS 模式揭示了 AI 编程的下一个形态:从「你推我动」变成「它自己就会动」。后台守护、主动监控、自主处理——AI 从工具变成同事。 判断四:安全和信任才是终极壁垒。Undercover Mode 的争议说明了一个道理:技术可以开源,架构可以复刻,但信任不能。你愿意把代码交给一个会隐瞒身份的 AI 吗? |
|
51 万行代码摊开在阳光下,最大的启示不是技术——而是方向。Anthropic 正在押注一个愿景:AI 不是辅助你写代码的工具,AI 就是那个写代码的人。KAIROS 模式、多 Agent 协同、自主记忆整合——每一个隐藏功能都在指向同一个终点。 泄露是意外,但野心是真实的。这场 AI 编程的军备竞赛,才刚刚进入深水区。 |
我是卧卧,一个在 AI 产品路上探索的产品经理。如果觉得有启发,欢迎关注「卧卧智研」交流。
夜雨聆风