Claude Code 源码泄露,我们看到了什么?
Anthropic 在 npm 上发布的 Claude Code 2.1.88 版本,意外携带了一个 59.8MB 的 source map 文件。几小时内,51.2 万行 TypeScript 源码被开发者下载、分析、讨论。
GitHub 上的镜像仓库两小时冲上 5 万星,成为史上涨星最快的项目。
对于 AI 编程工具赛道的从业者来说,这更像一次被迫的行业公开课——Anthropic 最核心的产品,被完整地摊在了桌面上。
我们终于能看到:一个真正能跑进生产环境的 AI 编程工具,到底长什么样。
很多人第一反应是:没有模型权重,泄露的只是个”壳子”,有什么价值?
Claude Code 确实是个壳子——一个包裹在 Claude API 之外的命令行工具。但这个壳子的精密程度,超出了大多数人的想象。
每种能力——文件读写、Shell 执行、网页抓取、LSP 集成——都是独立的模块,有完整的权限管控、错误处理、并发控制。
更重要的是,每个工具的描述不是简单的一句话,而是详细告诉模型:什么时候用、怎么用、用完期望什么结果、出错了怎么办。
这些描述本身就是精心调优的 prompt engineering。
这不是”给模型一个函数签名,让它自己猜怎么用”——这是在教模型”如何做一个好的程序员”。
这是整份源码中最硬核的部分,也是拉开 Claude Code 与普通套壳应用差距的核心壁垒。
大多数 AI 工具在处理长上下文时,还在简单粗暴地拼接 system prompt 和历史对话。
而 Claude Code 把这件事做到了字节级的精打细算。
Anthropic 的 Prompt Cache 采用前缀匹配。为了最大化缓存命中率,Claude Code 设计了严密的分段架构:
静态段:模型身份、安全规则、代码风格——整个会话不变
动态段:当前目录、Git 状态、用户配置——每次可能变化
为了防止微小变化导致缓存穿透,系统做了大量看似繁琐的兜底:
据源码注释,仅最后一项改动就减少了约 10.2% 的 Cache Creation Tokens 消耗。
好的 AI 应用层开发,本质上就是在贪婪且精细地压榨 API 缓存系统的价值。
执行复杂任务时,模型可能反复读取错误的文件、尝试错误的命令。这些试错过程会产生大量垃圾上下文,迅速污染主对话,导致后续推理”精神分裂”。
Claude Code 用 Fork 子代理 机制优雅地解决了这个问题。
当需要大范围探索代码时,主协调器会派生一个 Explore Agent:
子 Agent 继承父对话的缓存(共享 Prompt Cache 以节约成本)
这是目前业界处理复杂多 Agent 长文本协同的最佳实践之一。
很多 AI 产品做着做着就犯了一个典型错误:太相信模型。
相信 prompt 多写几句,模型就会守规矩。相信给够工具,模型就知道什么时候该用。相信窗口够大,模型就不会失忆。
它更像一个做过脏活的老工程师:先别讨论你多聪明,先讨论你胡来时,谁能把你按住。
权限控制不是写在 prompt 里的”请谨慎”,而是正式的 permission modes、allow/deny rules、runtime callback。
更巧妙的是 Auto Mode Classifier:
当用户开启自动模式,系统没有用死板的正则表达式评估命令危险性,而是用了一个”侧查询”机制——后台静默调用一个更小、更便宜的 LLM,让这个小模型输出 Allow 或 Deny。
在 RAG 大行其道的今天,Claude Code 的记忆系统出人意料地”复古”——完全基于本地文件系统。
核心是一个被限制在 200 行以内的 MEMORY.md 作为高层索引,配合多个基于 Frontmatter 格式的主题文件。
程序员需要的不是”可能相关”的代码片段,而是精确的函数签名、准确的依赖关系、确定的项目结构。
更有意思的是源码中的 KAIROS 助手模式——一个尚未正式发布的 Daemon 模式。
在闲置时,后台会唤醒一个名为 “Dream” 的离线任务 Agent,对白天的操作日志进行总结、蒸馏,固化到长期主题文件中。
这种从短期日志到长期记忆的异步整合,代表了端侧 AI 助理向”永远在线、持续学习”演进的方向。
18 种物种,5 种稀有度,完整的抽卡系统,还能给宠物换眼睛样式、戴帽子。
为了绕过内部代码扫描器,物种名称全部用十六进制编码——据说因为某个物种名和内部模型代号撞了。
工程师用 Mulberry32 伪随机数生成器,代码注释写着:
tiny seeded PRNG, good enough for picking ducks
翻译:这个随机数生成器虽然简陋,但用来选鸭子够用了。
还有一个更有争议的功能:Undercover Mode(卧底模式)。
针对员工在开源仓库工作的场景,系统默认开启且无法关闭。Prompt 明确要求:
Do not blow your cover. 不要暴露身份。
从公关角度这或许缺乏透明度,但也侧面印证了厂商对模型角色扮演和输出干预的绝对控制力。
今天很多 AI 产品,根本不是产品——它们只是模型能力的裸奔。
有个更强的模型,就多做几个 demo;上下文大一点,就宣称”会记忆”;能调几个工具,就号称”Agent ready”。
Claude Code 真正让程序员服气的地方,不是它”更会写代码”,而是它更早承认了一件难听但真实的事:
不可靠不是缺点。不把”不可靠”做进系统,才是缺点。
这次泄露最大的意义,可能不在于技术细节,而在于撕掉了一层神秘感。
原来 Anthropic 最核心的 AI 编程工具,底层也不过是精心设计的 prompt 编排,加上工程化的工具调度。
前提是,你得有耐心去打磨那些细节,而不是想着直接把别人的代码拿过来改个名字。
架构思路可以学,工具编排模式可以学,记忆分层策略可以学。
而且要意识到:你今天 fork 的代码,下个月就是旧版本。44 个 feature flag 意味着至少十几个重大功能在排队上线。
Claude Code 源码泄露,表面上看是 Anthropic 的事故。
它照出来的,不只是一个产品的”后厨”——更照出了一整代 AI 产品最该补、也最难补的那层基本功:
真正值钱的,是谁能把模型写代码这件事,做成一套能稳定运行、出错率极低的系统。
对于从业者来说,这是春天——不是因为又多了一个瓜,而是因为行业终于被迫承认:护城河不在嘴上,在底盘。