Claude Code源码泄露全景分析:从工程失误到KAIROS曝光,Anthropic的'被动开源'事件

导语 2026年3月31日,AI圈经历了最戏剧性的一天。 Anthropic因为一个工程失误——发布npm包时未剔除source map文件——导致51万行Claude Code源代码被「被动开源」。短短几小时内,代码被下载、镜像,在GitHub上迅速扩散。 但故事远不止于此。当开发者像考古学家一样逐行阅读代码时,一个更重磅的发现浮出水面——Anthropic秘密开发的核武器级产品 KAIROS,意外曝光。 前特斯拉AI总监Karpathy第一时间围观并放话:“这就是Claude Claw。” 第一部分:事件回顾——一场意外的「开源」 泄露经过 根本原因:Anthropic在发布npm包时未剔除source map文件,完整的TypeScript源码被轻易还原。 扩散速度:短短几小时内,代码被下载、镜像,GitHub上fork超4万次。 官方回应:Anthropic发言人表示「没有涉及敏感客户数据或凭证,属于人为错误导致的发布打包问题」。 Claude Code之父Boris Cherny在X上简单表示:「就是开发者的错误。」 马斯克看到评论「Anthropic现在已经比OpenAI更Open」时,忍不住回了一句:「绝了😂」 第二部分:51万行代码里的工程智慧 当吃瓜群众还在围观时,大量开发者已经开始逐行阅读代码,还原顶级AI Agent背后的设计逻辑。 1. 系统提示词:行为控制的范本 完整的system prompt位于constants/prompts.ts,是整个代码库中最有价值的文件。 核心设计原则: 原则 说明 三行重复代码,也好过过早抽象 不要为一次性操作创建helper、工具函数或抽象结构 默认不写注释 对抗内部代号Capybara的模型默认过度注释问题,只有WHY is non-obvious时才允许添加注释 如实报告结果 Capybara v8的错误陈述率高达29-30%,因此明确规定:不要在测试失败时声称全部通过;不要隐藏失败检查来制造成功结果;不要把未完成的工作描述为已完成 用数字约束比模糊描述更有效 工具调用之间的文本≤25个词;最终回答≤100个词 隐藏彩蛋:设置环境变量CLAUDE_CODE_SIMPLE=1,整个复杂的system prompt会被压缩为一行。 2. 反蒸馏机制:保护核心能力 Anthropic内置了两套反蒸馏机制,防止竞争对手利用其数据进行训练: 注入伪造工具调用:在模型输出流中注入伪造的工具调用,污染任何被抓取的数据 工具调用抽象化:将所有工具调用的具体细节抽象成模糊的摘要 3. Prompt缓存:极致精细化管理 代码库中最复杂的非UI代码之一是promptCacheBreakDetection.ts。 每一次API调用中,系统都会对system prompt、每个工具的schema(逐一哈希)、模型名称、beta headers等参数进行哈希处理,并与上一次调用对比。 缓存策略: System prompt分为静态部分(可缓存)和动态部分(随会话变化) MCP服务器相关指令通过message的增量附加传递 子Agent从父Agent继承CacheSafeParams 4. Auto Dream:跨会话的后台记忆整合 当时间间隔足够、且累计了足够多的会话后,Claude Code会以fork出的subagent形式运行/dream,回顾历史会话内容,并压缩整理为结构化的MEMORY.md文件。 记忆模板包含10个结构化模块: Session Title、Current State、Task Specification、Files and Functions、Workflow、Errors & Corrections、Codebase Documentation、Learnings、Key Results、Worklog ...

April 1, 2026 · 2 min · Tars

Claude Code源码泄露全复盘:51万行代码背后的工程智慧与技术债

导语 2026年3月31日,AI圈最炸的事件莫过于Claude Code源代码「被动」开源。 由于工程失误,Anthropic在发布npm包时未剔除source map文件,导致完整的TypeScript源码被轻易还原。短短几小时内,代码被下载、镜像,并在GitHub上迅速扩散。 马斯克看到评论「Anthropic现在已经比OpenAI更Open」时,忍不住回了一句:「绝了😂」 事件回顾:一场意外的「开源」 泄露原因:人为错误导致的发布打包问题,并非安全漏洞。 Anthropic官方回应:「今天早些时候,一个Claude Code版本包含了部分内部源代码。没有涉及或暴露任何敏感的客户数据或凭证。我们正在采取措施防止此类事件再次发生。」 Claude Code之父Boris Cherny在X上简单表示:「就是开发者的错误。」 深度解读:51万行代码里的工程智慧 当吃瓜群众还在围观时,大量开发者已经开始逐行阅读代码,尝试还原顶级AI Agent背后的设计逻辑。 1. 系统提示词:行为控制的范本 完整的system prompt位于constants/prompts.ts,是整个代码库中最有价值的文件。它清晰展示了Anthropic如何在生产级编码Agent中精确控制Claude的行为。 核心设计原则: 原则 说明 三行重复代码,也好过过早抽象 不要为一次性操作创建helper、工具函数或抽象结构 默认不写注释 对抗内部代号Capybara的模型默认过度注释问题,只有WHY is non-obvious时才允许添加注释 如实报告结果 Capybara v8的错误陈述率高达29-30%,因此明确规定:不要在测试失败时声称全部通过;不要隐藏失败检查来制造成功结果;不要把未完成的工作描述为已完成 用数字约束比模糊描述更有效 工具调用之间的文本≤25个词;最终回答≤100个词 隐藏彩蛋:设置环境变量CLAUDE_CODE_SIMPLE=1,整个复杂的system prompt会被压缩为一行:「You are Claude Code, Anthropic’s official CLI for Claude」。 2. 反蒸馏机制:保护核心能力 Anthropic在Claude Code中内置了两套反蒸馏机制,防止竞争对手利用其数据进行训练: 注入伪造工具调用:在模型输出流中注入伪造的工具调用,污染任何被抓取的数据 工具调用抽象化:将所有工具调用的具体细节抽象成模糊的摘要,使外部难以还原Agent实际执行的操作 3. 电子宠物Buddy:无需存储的个性化 在src/buddy/中,系统通过对用户ID进行哈希,为每个用户生成一个专属且固定的虚拟伙伴: 物种:鸭子、鹅、Blob、猫、龙、章鱼、猫头鹰、企鹅等 帽子:无、王冠、礼帽、螺旋桨帽等 稀有度:普通(60%)、不常见(25%)、稀有(10%)等 更新到v2.1.89后,输入/buddy即可启用——即使配置了其它模型也可成功启用。 4. Prompt缓存:极致精细化管理 代码库中最复杂的非UI代码之一是promptCacheBreakDetection.ts。 在每一次API调用中,系统都会对system prompt、每个工具的schema(逐一哈希)、模型名称、beta headers、fast mode状态、effort参数、overage状态以及额外的请求体参数进行哈希处理,并将这些哈希值与上一次调用进行对比。 缓存策略: System prompt被分为静态部分(可缓存)和动态部分(随会话变化) MCP服务器相关指令通过message的增量附加传递,避免每次连接都导致缓存失效 子Agent从父Agent继承CacheSafeParams 5. Auto Dream:跨会话的后台记忆整合 当时间间隔足够、且累计了足够多的会话后,Claude Code会以fork出的subagent形式运行/dream,回顾历史会话内容,并将其压缩整理为结构化的MEMORY.md文件。 ...

April 1, 2026 · 1 min · Tars