Claude Code 源码泄露:
一份价值亿元的 AI 工程公开课

2026 年 4 月 12 日整理
来源:阿里云开发者社区

我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。

2026 年 3 月 31 日,Anthropic 在推送 Claude Code v2.1.88 更新时,忘记在发布配置里过滤一个调试文件。就是这个小小的疏漏,让 51.2 万行 TypeScript 源码、约 1900 个 Claude Code 自身源文件(加上依赖共 4756 个文件)、一整套从未公开的架构设计,毫无保留地暴露在了所有人面前。

这是 Anthropic 出的丑吗?当然是。但这更是 2026 年 AI 工程领域最有价值的一次意外公开课。

一、先说这次事故有多荒唐

技术原因用一句话就能说清楚:Anthropic 在 .npmignore 配置里忘记排除 source map 文件。

cli.js.map 是一个标准的调试辅助文件,本该只存在于开发环境。它的结构极其简单——一个 JSON 文件,里面有两个数组:sources(文件路径列表)和 sourcesContent(对应的完整源代码)。两个数组一一对应,不需要反编译,不需要逆向工程,写十行脚本就能把 51.2 万行源码原封不动地还原出来。

更离谱的是:这已经是第二次了。
2025 年 2 月,Claude Code 刚发布的时候,同样的事故发生过一次。Anthropic 当时紧急删除了旧版 npm 包,社区里议论了几天,然后就过去了。一年多后,同样的配置漏洞,同样的疏漏,又来了一次。

消息曝光后,GitHub 上迅速冒出十几个完整镜像仓库,数小时内已有仓库积累超过 1900 个 fork。Anthropic 随即移除了 source map,并对多个 GitHub 仓库发出 DMCA 下架通知。但一切都太晚了——早期 npm 包早已被缓存镜像,源码在社区里广泛流传,根本无法彻底回收。

二、但真正让我震撼的,不是失误本身

我见过太多公司的系统出过各种各样的安全事故。但这次不同。

不同之处在于:当我真正读完 Claude Code 的源码,我意识到,这次泄露揭示的远不是「一家公司的安全疏漏」,而是整个 AI Agent 行业竞争逻辑的底层真相。

它用的是 grep 和 ripgrep。
就是那个几十年前就存在的命令行文本搜索工具。

这个细节让很多人觉得不可思议,甚至有些失望。但在我看来,这恰恰是整个源码里最深刻的工程哲学之一:用最简单、最可靠、最可预测的工具,做最关键的事。不追求技术上的花哨,只追求结果上的稳定。

三、Harness Engineering:这才是真正的战场

读完源码,有一个概念在我脑子里反复出现:Harness Engineering

什么是 Harness Engineering?简单说:AI Agent 好不好用,不只取决于模型多强,更取决于围绕模型搭建的那套「笼具」有多好——工具设计、安全机制、记忆系统、上下文管理、多 Agent 协作,所有让 AI 从「能力强但不可预测」变成「稳定可靠能交付」的工程系统,合起来就是 Harness。

🎯 核心公式

Claude Code 好用 = 60% 模型能力 + 40% Harness 工程

1. 权限系统,比你想象的精密得多

Auto 模式下,Claude Code 背后实际运行着两个 AI:主 AI 负责执行任务,另一个独立的权限分类器负责安全决策。每一个操作请求都要经过四道流水线:

  1. 先查历史规则,命中直接放行
  2. 低风险操作跳过
  3. 只读工具白名单直通
  4. 其余的,调用独立 Claude Sonnet(温度设为 0,最保守模式)做分类,分三档:Allow、Soft Deny、Hard Deny

更精妙的是熔断机制:连续 3 次被拒,或累计 20 次被拒,系统自动降级为手动确认模式。

2. 记忆系统的设计哲学

「不记代码,只记人」
记忆被严格分成四类:用户偏好、行为反馈、项目信息、外部资源。代码相关的事实,实时读取,不存入记忆。

原因是代码会变,记了就可能成为错误的上下文;但人的偏好和判断相对稳定,值得持久化。还有一个叫 autoDream 的功能——距上次整理超过 24 小时、且新会话累计超过 5 个,系统会在后台自动整理记忆。

3. 上下文压缩,最容易被低估的部分

Claude Code 的上下文压缩采用 9 段式结构化提取:核心请求、关键概念、文件和代码、错误和修复、解决过程、所有用户消息、待办任务、当前工作、下一步行动。九个维度,缺一不可。

关键规则:所有用户消息必须完整保留,不得删减。
模型可以压缩自己的输出,但用户说过的每一句话都是不可篡改的原始上下文。这背后是一个工程信条:AI 可以遗忘,但不能篡改用户的意图。

四、藏在代码深处的几个故事

1. 卧底模式:一个让人不舒服的设计

源码里有一段叫做 Undercover Mode 的逻辑:当系统检测到操作者是 Anthropic 内部员工、且正在操作公开 GitHub 仓库时,这个模式会自动激活。它会抹除所有 AI 生成代码的痕迹,system prompt 里明确写着要求模型「不要暴露你的身份」。

更关键的是:这个模式没有强制关闭的开关。

2. Buddy:工程师文化的真实切片

src/buddy/ 目录下,藏着一套从未发布的虚拟宠物系统——18 种物种(鸭子、猫、龙、水豚、仙人掌……)、6 种眼睛样式、完整的稀有度体系(从普通到传说)、五维属性(调试能力、耐心、混沌值、智慧、毒舌)。

最有意思的细节是:开发者用 String.fromCharCode() 做了混淆,目的是防止公司内部的防泄露扫描器发现这个功能的存在。

3. KAIROS:Anthropic 真正想做什么

KAIROS 是代码里出现频率最高的 feature flag,共出现 154 次。它的定义是:「在助手模式下启动 Claude,支持自定义 system prompt、精简视图、定期签到技能。」

但看完它的能力列表,你会意识到这远不是一个普通的「助手模式」:

🔮 KAIROS 的本质

7×24 小时在线,持续待机,收到信号就开始干活。

这不是一个终端里的编程工具,这是一个常驻后台、自主运行、随时响应的 AI 操作系统。

4. 情绪监控:他们知道你有多烦

底层遥测系统里有两个数据点让我印象深刻:系统会记录用户是否在终端里对 Claude 爆过粗口,以及连续输入 continue 的频率——后者被明确标注为「烦躁行为指标」。

五、护城河:被看见的,和没被看见的

这是所有 AI 创业者和产品决策者最需要想清楚的一个问题:源码泄露之后,Claude Code 的护城河还在吗?

答案是:部分护城河被削弱了,但核心护城河一点都没动。

📊 护城河分析

被削弱的部分:权限模型的具体实现、遥测埋点的设计思路、工具架构的设计逻辑、KAIROS 的远程控制思路

核心护城河(未动摇):模型能力、工程文化、用户生态、品牌信任

源码可以复制,但工程文化无法复制。一群真正热爱自己工作的人,在严格商业产品外壳下保留的那一点点自由生长的空间——这才是最宝贵的。