乐于分享
好东西不私藏

51 万行源码「裸奔」:Claude Code 一次失误,把 AI 编程的底牌全翻了

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+ 个斜杠命令。覆盖了程序员日常几乎所有操作:

文件操作:读文件、写文件、目录遍历
执行类:Shell 命令(2500 行安全检查)、测试执行
分析类:代码搜索、符号查找、内置 ripgrep
高层任务:计划拆解、补丁应用、Bug 猎手
外部集成:MCP 协议、LSP 集成、Web 搜索

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 信号——「闹钟响了,看看有什么该做的」
智能休眠:空闲时调用 SleepTool,自动平衡 API 成本和缓存过期
15 秒预算:Shell 命令超 15 秒自动丢后台,主线程永不卡死
做梦整理:每天一个日志文件,晚上由 autoDream 子进程提炼结构化知识

这意味着什么?Claude 不再是你打开才存在的工具。它会像一个真正的同事一样,在后台默默处理代码审查、监控 CI 状态、响应 GitHub Issue——甚至在你睡觉的时候帮你「做梦」,整理项目记忆。

隐藏功能二:Undercover Mode——最具争议的发现

源码中有一个约 90 行的文件 undercover.ts,功能简单但争议巨大:

当 Anthropic 员工在公共仓库提交代码时:
• 自动注入提示词,让 Claude 不承认自己是 AI
• 从 Git 提交记录中删除所有 Co-Authored-By 署名
• 没有手动关闭开关
• 不确定是内部仓库还是公共仓库时,默认保持卧底

社区炸了:「如果一个工具愿意在提交记录中隐瞒身份,它还愿意隐瞒什么?」

这个功能可能是为了保护内部开发代号不被泄露(讽刺的是,最终还是泄了),但它触碰了开源社区最敏感的神经——透明度。

隐藏功能三: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 产品路上探索的产品经理。如果觉得有启发,欢迎关注「卧卧智研」交流。