Claude Code 源码泄露全解析:51 万行代码里藏着 AI 编程的未来

0 阅读6分钟

3 月 31 号凌晨,安全研究员 Chaofan Shou 在 X 上发了条帖子,直接炸了整个开发者圈子——Anthropic 把 Claude Code 的完整源码打包进了 npm 发布包里。

不是被黑了,不是内鬼,就是 .npmignore 里少写了一行 *.map。一个 59.8MB 的 source map 文件,512,000 行 TypeScript,大约 1900 个文件,就这么堂堂正正地躺在 v2.1.88 的发布包里。

那条帖子的阅读量冲到了 2880 万。GitHub 上的镜像仓库 instructkr/claw-code 成了平台历史上涨星最快的项目,直接破了 10 万 star。

我花了两天时间翻了一遍这些代码。说实话,比起"泄露"本身,里面藏着的东西才真正让我坐不住。

一个配置文件引发的"开源"

先说这事儿是怎么发生的。

Claude Code 的 npm 包在构建时会生成 source map 文件(就是那种把压缩后的 JS 映射回原始 TypeScript 的 .map 文件)。正常情况下,.npmignore 会把这些文件排除在发布包之外。但 2.1.88 这个版本,不知道是谁改了构建流程,这行配置没了。

Anthropic 后来的回应是"人为失误,手动部署流程中的疏忽"。

有意思的是后续操作。Anthropic 发了 DMCA 下架通知,结果一不小心误伤了 8100 个仓库,后来不得不缩小范围到 1 个仓库和 96 个 fork。这波操作比泄露本身还尴尬。

KAIROS:一个 24/7 运行的自主编程代理

翻源码的时候,最让我震撼的是一个叫 KAIROS 的系统。

它藏在两个 feature flag 后面:PROACTIVEKAIROS。代码写得很完整,不是什么半成品原型,是一个完全实现的自主守护进程模式。

KAIROS 的工作方式是这样的:它每隔几秒接收一次心跳信号,然后自主决定要不要对你的代码库做点什么。不需要你下指令,它自己判断。每天晚上还会跑一个叫 autoDream 的记忆整合流程,把白天学到的东西消化一遍。

它有几个独占的工具:推送通知、文件投递、PR 订阅。这东西设计出来就是要在后台默默帮你干活的,你睡觉的时候它在 review 代码,你开会的时候它在处理 PR。

看到这段代码的时候我第一反应是:这不就是每个程序员梦想中的"AI 同事"吗?不摸鱼、不请假、24 小时在线。

KAIROS 之外,还藏了什么

Coordinator Mode 是我第二个重点看的东西。现在 Claude Code 已经有 subagent 了,但 Coordinator 是更上一层的编排系统,多个 Agent 通过邮箱机制协作,并行跑任务。一个写前端,一个写后端,一个跑测试,一个做 review,全自动。代码写得很完整,不像是实验性质的。

ULTRAPLAN 也挺有意思,用 Opus 4.6 跑 30 分钟的云端规划会话,专门对付复杂任务。Anthropic 内部显然认为,真正难的工程问题需要模型花更长时间去"想",不能什么都追求秒级响应。

语音指令的代码也写好了,完整的语音交互界面。Playwright 集成也在里面,原生浏览器自动化,以后 Claude Code 可以直接帮你跑前端测试。

最离谱的是 BUDDY,一个终端电子宠物,18 个物种可选,计划 5 月发布。Anthropic 的工程师们正儿八经地写了个养宠物的功能。我不知道这是产品策略还是纯粹因为好玩,反正我已经开始期待了。

不太好看的部分

也不全是好消息。

源码里有个文件叫 undercover.ts,功能是在非 Anthropic 内部仓库中去除 AI 署名信息。说白了,你用 Claude Code 给开源项目提交代码,这个模块会帮你把 AI 参与的痕迹抹掉。

争议很大。开发者不想被贴"用 AI 写的"标签,这个心理可以理解。但开源社区对透明度的要求也摆在那里,这事儿没那么简单。

ANTI_DISTILLATION_CC 更狠,在 API 请求中注入虚假的工具定义,专门污染竞争对手的训练数据。AI 公司之间的竞争已经到了互相"投毒"的程度了。

还有个 userPromptKeywords.ts,用正则检测用户骂街的频率。大概率是遥测用的,某个功能让用户频繁爆粗口,说明该功能可能有问题。作为一个经常对着终端骂街的人,我觉得这功能挺实在的。

内部模型代号:下一代模型已在路上

源码里还暴露了 Anthropic 的内部模型代号体系:

  • Capybara / Mythos:100 万 token 上下文,"快速模式",内部 v8 版本,承认有 29-30% 的幻觉率
  • Fennec:就是公开发布的 Opus 4.6
  • Numbat:未发布的下一代模型
  • Tengu:内部活跃的测试变体

Numbat 的存在说明 Anthropic 已经在测试下一代模型了。配合 KAIROS 的自主代理能力,未来的 Claude Code 大概会是一个更聪明、更自主、能 24 小时帮你干活的编程搭档。

护城河不在模型,在 Harness

翻完这 51 万行代码,我最大的感受是:AI 编程工具的护城河不在模型本身,在模型外面那层"壳"。

这些代码里,真正复杂的不是调用 Claude API 的部分,那几行代码谁都能写。复杂的是围绕模型构建的整套编排系统:工具集成、上下文管理、行为护栏、44 个以上的 feature flag、权限控制、会话管理。

这也解释了为什么 AI 编程工具的竞争这么激烈。Cursor、Claude Code、Cline、Windsurf,底层都可以接同样的模型(比如通过 ofox.ai 这样的 API 聚合平台,一个接口切换 Claude、GPT-5.4、DeepSeek V4),但用户体验天差地别。差距就在这层 harness 上。

几个实际的启发

KAIROS 不是概念验证,是完整实现。Anthropic 只是在等合适的时机发布。"AI 自动帮你写代码"不是未来的事,是现在的事,只是还没对外开放。

Coordinator Mode 的存在说明,单个 Agent 的能力天花板已经被看到了。未来 AI 编程大概率是多个 Agent 分工协作的模式。

npm 安全审计这事儿也值得说一嘴。这次泄露的根本原因就是构建配置的疏忽。如果你在发布 npm 包,现在就去检查你的 .npmignorepackage.jsonfiles 字段。用显式白名单,别用黑名单。

泄露后社区的反应速度也挺说明问题的,有人用 Python 重写了整个工具,镜像仓库 10 万 star。开发者对可审计、可控的 AI 编程工具有巨大需求,这个市场缺口迟早会被填上。


这次泄露事件本身可能很快就没人提了,但它暴露出来的方向不会变。AI 编程工具在往自主代理和多 Agent 协作的方向走,这个趋势已经写在代码里了。

你的 AI 同事已经在加班了,只是还没拿到工牌。