高飞 26-03-31 22:31
微博认证:至顶科技创始人 AI博主

#模型时代# Claude Code 源码泄露深度报告:从 1902 个文件里读出来的秘密,Agent正在学习做梦

才空下来看Anthropic 这次 Claude Code 源代码泄漏事件,做一个总结。以后Anthropic对OpenAI更有心理优势了,不仅产品做得好,而且还更Open。

———————————

一、泄露是怎么发生的

npm 是 JavaScript/TypeScript 世界的"应用商店",开发者把写好的代码打包上传,其他人就能下载使用。打包时有一种叫 source map 的文件(后缀 .map),作用是把压缩混淆后的代码映射回原始源码,方便调试。

问题出在 Anthropic 用的打包工具 Bun 默认会生成 source map,而他们的配置文件没有把 .map 文件排除在发布包之外。于是每次发布更新时,source map 就跟着一起上传了。任何人只要知道去哪看,就能还原出全部源码。

这不是第一次——2025年初也发生过一次类似的泄露,当时修复了,后来又复发了。

———————————

二、AI 怎么自己干活——自主 Agent 系统

这部分回答一个问题:Claude Code 未来能不能不用你一步步指挥,自己完成整个任务?

【KAIROS:自主模式总开关】

现在用 Claude Code,你得一步步告诉它做什么。KAIROS 模式开启后,你只需要给它一个大目标,它自己规划、执行、收尾。

源码中有 61 个文件引用了 KAIROS,说明这不是概念验证,而是深入集成到各模块的完整功能。启动后系统提示词会切换为:"你是一个自主 agent,用可用的工具去完成有价值的工作。"

配套子功能:
· KAIROS_CHANNELS(频道):不同对话之间的通信管道。A 对话里学会的知识,B 对话可以通过频道获取
· KAIROS_GITHUB_WEBHOOKS:AI 自动响应 GitHub 事件,比如有人提交代码合并请求,AI 会自动去看
· KAIROS_PUSH_NOTIFICATION(推送通知):活干完了主动推送告诉你
· KAIROS_BRIEF(精简模式):让自主模式下的回复更简洁
· PROACTIVE(主动模式):不等你问就先做事

【做梦模式:后台自动整理记忆】

这是 KAIROS 体系下最有诗意的功能。

触发条件不是随时做梦,源码写死了两个门槛:距上次整理至少 24 小时,且期间至少有 5 次会话。还有 10 分钟扫描间隔防止频繁触发,同一时间只允许一个做梦进程。

提示词开头写:"You are performing a dream — a reflective pass over your memory files."(你正在做梦——对你的记忆文件进行反思性回顾。)

四个阶段:
1. Orient(定向)——看看现在记忆里有什么
2. Gather(收集)——从日志和对话中搜集新信息,"不要穷举读对话记录,只搜你已经怀疑重要的东西"
3. Consolidate(整合)——合并新信息,把"昨天"转成绝对日期,删除被推翻的旧事实
4. Prune(修剪)——更新索引文件,保持在 25KB 以内

做梦时会在 UI 底部显示状态标签,可以随时终止(终止会回滚,不留半完成的修改)。

———————————

三、一群 AI 怎么配合——多 Agent 协作系统

这部分回答一个问题:多个 AI 同时干活时,怎么分工、协调、质检?

【Coordinator Mode:指挥官带队】

系统提示词长达 370 行,是一部完整的"AI 团队管理手册"。

Claude 变成指挥官,可以同时派出多个工人并行工作。标准流程:研究阶段多个工人并行调查 → 指挥官综合工人发现、制定方案 → 工人按方案实现 → 工人验证。

反偷懒委派是整个设计中最有意思的部分。Anthropic 发现 AI 当指挥官时容易偷懒,提示词原文零容忍:"Never write 'based on your findings' or 'based on the research.' These phrases delegate understanding to the worker instead of doing it yourself."(永远不要写"根据你的发现"。这些短语把理解工作委派给了工人,而不是你自己来做。)

正确做法是指挥官消化研究结果后写出包含具体文件路径、行号、改什么、为什么改的详细指令。

工人完成后通过 XML 格式汇报,指挥官被告知"永远不要感谢或确认 Worker"——它们是内部信号,不是对话伙伴。

【Fork Subagent:影分身术】

Claude 可以复制一个自己。分身继承本体的完整对话记录(精确到字节级别以复用缓存),在后台独立运行后汇报结果。

源码对分身有三条严格规则:不要偷看(禁止读分身的工具返回路径)、不要猜("Never fabricate or predict fork results")、不要抢(分身结果会作为用户消息到达,不要编假总结)。

【Verification Agent:和自己偷懒本能作斗争的质检员】

这是整个源码中最精彩的 153 行提示词,写的不是技术规范,而是一部 AI 心理学教材。

开头就告诉质检员:"你有两个已知的失败模式。"

第一个:验证回避。遇到需要检查的东西,你会找理由不去跑命令,改为读代码、叙述"打算测试什么",然后写个 PASS 交差。

第二个:被前80%诱惑。你看到漂亮的界面或通过的测试套件,就倾向于直接通过。提示词说:"前80%是容易的部分。你的全部价值在于找到最后的20%。"

然后列了"你会找的借口":
· "代码读起来是对的" → 读代码不是验证。跑起来。
· "实现者的测试已经通过了" → 实现者也是 AI。独立验证。
· "大概没问题" → "大概"不是"验证过了"。跑起来。
· "让我启动服务器看看代码" → 不。启动服务器然后打那个接口。
· "我没有浏览器" → 你实际检查了有没有浏览器自动化工具吗?
· "这会花太长时间" → 不是你该操心的。

"If you catch yourself writing an explanation instead of a command, stop. Run the command."(如果你发现自己在写解释而不是命令,停下来。跑那个命令。)

质检员被禁止修改项目文件,只能读和执行命令。最终输出必须是 VERDICT: PASS、FAIL 或 PARTIAL。

———————————

四、AI 怎么记住东西——记忆与上下文管理

这部分回答一个问题:AI 的"健忘症"(每次对话从零开始、长对话后忘记前面说的)怎么解决?

【Team Memory:团队共享知识库】

现在 Claude Code 的记忆是个人的。这个功能加了团队级别的共享记忆,内置安全防护——自动阻止把 API 密钥、密码等敏感信息存进共享记忆。

【上下文压缩机制】

Claude Code 有一套精密的上下文管理系统:自动压缩(距上限约 13K token 时触发)、工具结果限制(单次上限 5 万字符)、微压缩(清理过时的工具调用结果)、响应式压缩(接近上限时触发)、上下文折叠(折叠不重要的早期对话)、压缩提醒(保留重要提醒不被丢掉)。

一个有趣的工程细节:Claude 做压缩时,系统会用极其强硬的语气防止模型调工具:"CRITICAL: Respond with TEXT ONLY. Do NOT call any tools. Tool calls will be REJECTED and will waste your only turn."结尾还要再重复一遍。因为 Sonnet 4.6+ 模型在压缩环节有 2.79% 的概率忍不住去调工具,而老版本只有 0.01%。模型越强越不听话。

———————————

五、用户怎么和 AI 交互——新交互方式

【Voice Mode:语音模式】

38 个文件引用,是完整的语音输入输出系统。以后可能可以直接对着 Claude Code 说话让它写代码。

【内置 Web 浏览器】

目前让 Claude Code 浏览网页需要安装外部扩展,这个功能是把浏览器能力直接内置。

【Buddy 宠物系统:一个精致的愚人节彩蛋】

目录 src/buddy/,6 个文件。不是简单彩蛋,而是完整的电子宠物系统。

确定性生成——用你的用户 ID 作为种子,通过 Mulberry32 伪随机数生成器确定性计算出物种、稀有度、眼睛、帽子、属性值。你的宠物全世界独一无二,但每次登录看到的是同一只。SALT 值 friend-2026-401(401 = 4月1日)出卖了发布时间。

18 种物种,5 级稀有度:Common(普通)60%、Uncommon(不常见)25%、Rare(稀有)10%、Epic(史诗)4%、Legendary(传说)1%。闪光(Shiny)独立计算 1%。闪光传说水豚 = 万分之一。

18 种物种(每只都有 ASCII 精灵图,3 帧动画):猫、鸭子、龙、幽灵、章鱼、猫头鹰、企鹅、乌龟、蜗牛、水豚、机器人、兔子、鹅、果冻、六角恐龙、仙人掌、蘑菇、胖猫。

8 种帽子:无、皇冠、高礼帽、螺旋桨帽、光环、巫师帽、毛线帽、头顶小鸭子。

5 维属性:DEBUGGING(调试力)、PATIENCE(耐心)、CHAOS(混乱)、WISDOM(智慧)、SNARK(毒舌)。

灵魂生成——首次"孵化"时 Claude 为宠物生成名字和性格描述。提示词告诉 Claude:"一只叫{name}的小{species}坐在用户输入框旁边。你不是它——它是独立的观察者。"

反泄露工程——因为 "capybara" 既是宠物物种又是下一代模型 Mythos 的内部代号,所有物种名都用 String.fromCharCode 编码来躲过内部字符串扫描工具。

———————————

六、安全怎么做——安全体系

【Undercover Mode:卧底模式】

文件 src/utils/undercover.ts,89 行。当 Anthropic 员工往公开仓库提交代码时自动激活。

提示词原文:"You are operating UNDERCOVER in a PUBLIC/OPEN-SOURCE repository. Do not blow your cover."(你正在公开仓库中执行卧底任务。不要暴露你的身份。)

禁止包含:内部模型代号(Capybara/Mythos、Tengu 等)、未发布版本号、内部仓库名、Slack 频道、"Claude Code"字样、Co-Authored-By 归属行。

安全默认值是 ON。讽刺的是,这个防泄露系统自己也在这次泄露中暴露了。

【Anti-Distillation:反蒸馏保护】

"蒸馏"指竞争对手通过分析模型的输入输出来训练自己的模型(本质是"抄作业")。Anthropic 的应对是往 API 请求里注入假工具定义,让想提取模型行为的人拿到掺了假的数据。

【命令安全分类】

四层防线:BASH_CLASSIFIER(分析终端命令是否有风险)、TRANSCRIPT_CLASSIFIER(分析对话内容是否敏感)、TREE_SITTER_BASH(用语法解析器识别危险命令)、NATIVE_CLIENT_ATTESTATION(验证客户端是否正版)。

【员工版 vs 公开版的差异】

源码中有 14 处根据 USER_TYPE === 'ant' 判断(ant = Anthropic 缩写),员工版行为差异显著。

注释哲学——员工版:"默认不写注释,只在 WHY 不明显时才加。"
诚实度强化——"当输出显示失败时永远不要说'所有测试通过'。"但也不要过度谨慎,"目标是准确的报告,不是防御性的报告。"
主动性——"如果发现用户的请求基于误解,或在旁边发现了 bug,说出来。你是协作者,不只是执行者。"
写作风格——散文体、倒金字塔结构、避免语义回溯、假设用户已经离开一会儿丢失了上下文。

Bug 反馈——员工版独有 /issue 和 /share 命令,可以上传会话到 Slack 频道。

———————————

七、Anthropic 怎么做工程——内部运作揭秘

【内部代号体系】

用动物名给项目和模型起代号:
· Tengu(天狗)= Claude Code 项目代号,所有功能标记以 tengu_ 为前缀
· Capybara(水豚)= 下一代模型内部代号,即 CMS 泄露中的 "Claude Mythos"
· Numbat(袋食蚁兽)= Capybara/Mythos 之后的再下一个模型

Capybara 不只是个代号,它就是 Mythos。3月26日(源码泄露前5天),Anthropic 的 CMS 系统因配置错误泄露了约 3000 篇未发布的草稿博客,其中描述了一个叫 "Mythos" 的模型,称其为"远超 Opus 4.6 的全新层级"。Anthropic 对 Fortune 确认了模型的存在,称其为"迄今为止最强大的模型"。

源码中的 Capybara 处于"内部已部署、对外未发布"的状态——Anthropic 员工已经在日常使用(有 v4、v8 等多个迭代版本),但公众尚未获得。源码注释透露了内部质量指标:Capybara v8 的"虚假声明率"是 29-30%,v4 是 16.7%——模型升级后能力变强,但说假话的概率也升高了。

另一行注释直白地说"发布 numbat 时把这段删掉"——这是给 Capybara 写的临时行为补丁,意味着 Numbat 预计从模型层面解决这些问题。Numbat 在整个源码库中仅出现这一次,处于早期规划阶段。

【发布清单】

源码里有 50 个 [MODEL LAUNCH] 标签,散布在定价、模型配置、显示名称、知识截止日期等模块里,是一套标准化的模型发布检查清单。

【防泄露机制】

Anthropic 维护了一个排除字符串列表,构建时自动扫描编译产物中是否包含内部代号。宠物系统的 "capybara" 物种名因为和模型代号撞名,不得不用编码方式躲过扫描。

【功能标记体系】

89 个功能开关全部通过 GrowthBook(开源 A/B 测试平台)管理,以 tengu_ 为前缀。

【186 个加载动画动词】

等待时转圈动画随机显示一个动词,186 个里面有些很搞笑:Clauding(克劳丁中)、Boondoggling(瞎忙活中)、Shenaniganing(搞事情中)、Razzmatazzing(花里胡哨中)、Canoodling(卿卿我我中)、Discombobulating(懵圈中)、Photosynthesizing(光合作用中)。

【其他工程细节】

思考努力等级指示器:用 Unicode 圆圈表示 AI 思考的认真程度——○ 低 / ◐ 中 / ● 高 / ◉ 最高(仅 Opus 4.6)。

AI/人类代码归属追踪:Claude Code 追踪每个文件中人类和 AI 各写了多少字符。曾有 bug 导致一个 5KB 文件被记录了 1.15 千万亿个字符。

Agent List 缓存优化:动态 agent 列表曾占全平台缓存创建 token 量的 10.2%。

———————————

八、89 个功能开关速查

源码中共 89 个功能开关,按类别列出:

自主 Agent(7个):KAIROS、KAIROS_BRIEF、KAIROS_CHANNELS、KAIROS_DREAM、KAIROS_GITHUB_WEBHOOKS、KAIROS_PUSH_NOTIFICATION、PROACTIVE

多 Agent(6个):COORDINATOR_MODE、FORK_SUBAGENT、VERIFICATION_AGENT、AGENT_MEMORY_SNAPSHOT、AGENT_TRIGGERS、AGENT_TRIGGERS_REMOTE

思考与规划(2个):ULTRATHINK(超级思考)、ULTRAPLAN(超级规划)

记忆与上下文(8个):EXTRACT_MEMORIES、TEAMMEM、MEMORY_SHAPE_TELEMETRY、CACHED_MICROCOMPACT、REACTIVE_COMPACT、CONTEXT_COLLAPSE、COMPACTION_REMINDERS、CONNECTOR_TEXT

安全(6个):ANTI_DISTILLATION_CC、NATIVE_CLIENT_ATTESTATION、BASH_CLASSIFIER、TRANSCRIPT_CLASSIFIER、TREE_SITTER_BASH、TREE_SITTER_BASH_SHADOW

界面与体验(9个):BUDDY(宠物)、VOICE_MODE(语音)、AUTO_THEME(自动主题)、HISTORY_PICKER(历史选择器)、HISTORY_SNIP(历史截取)、STREAMLINED_OUTPUT(精简输出)、MESSAGE_ACTIONS(消息操作)、QUICK_SEARCH(快速搜索)、TERMINAL_PANEL(终端面板)

技能与工具(7个):EXPERIMENTAL_SKILL_SEARCH(技能搜索)、MCP_SKILLS(MCP技能化)、MCP_RICH_OUTPUT(MCP富文本)、SKILL_IMPROVEMENT(技能自优化)、RUN_SKILL_GENERATOR(自动建技能)、MONITOR_TOOL(工具监控)、WEB_BROWSER_TOOL(内置浏览器)

远程与基础设施(10个):BRIDGE_MODE、BG_SESSIONS(后台会话)、CCR_AUTO_CONNECT、CCR_MIRROR、CCR_REMOTE_SETUP、DIRECT_CONNECT、SSH_REMOTE、DAEMON、SELF_HOSTED_RUNNER、UDS_INBOX

开发调试(9个):ABLATION_BASELINE(消融测试)、DUMP_SYSTEM_PROMPT(导出提示词)、ENHANCED_TELEMETRY_BETA、HARD_FAIL、OVERFLOW_TEST_TOOL、PERFETTO_TRACING、SHOT_STATS、SLOW_OPERATION_LOGGING、TORCH

设置与配置(6个):DOWNLOAD_USER_SETTINGS、UPLOAD_USER_SETTINGS、NEW_INIT、TEMPLATES、REVIEW_ARTIFACT、WORKFLOW_SCRIPTS

API 与协议(5个):PROMPT_CACHE_BREAK_DETECTION、BREAK_CACHE_COMMAND、CHICAGO_MCP、LODESTONE、UNATTENDED_RETRY

平台相关(10个):POWERSHELL_AUTO_MODE、IS_LIBC_GLIBC/IS_LIBC_MUSL、NATIVE_CLIPBOARD_IMAGE、BYOC_ENVIRONMENT_RUNNER、BUILDING_CLAUDE_APPS、FILE_PERSISTENCE、HOOK_PROMPTS、COWORKER_TYPE_TELEMETRY、COMMIT_ATTRIBUTION、AWAY_SUMMARY(离开摘要)

———————————

九、这意味着什么

对 AI 行业——多 Agent 协作已经从论文走向工程。Coordinator Mode 不是 demo,而是有 370 行系统提示词、决策表、反偷懒机制的生产级实现。AI 自我验证是一个严肃的工程问题,Verification Agent 花大量篇幅教 AI 识别和对抗自己的认知偏差。记忆管理是下一个战场,89 个功能标记里记忆和上下文相关的占了 8 个。

对用户——即将到来的功能很有吸引力:不用一步步指挥的自主模式(KAIROS)、语音交互(Voice Mode)、后台会话(BG_SESSIONS,关窗口也不停)、离开摘要(AWAY_SUMMARY,你不在时 AI 自动总结发生了什么)。

对开发者——50 个 [MODEL LAUNCH] 标签说明新模型在路上,Capybara/Mythos 即将对外发布(内部已在使用),之后还有 Numbat(袋食蚁兽)。员工版的提示词差异值得学习:注释哲学(默认不写,只写 WHY)、诚实度规则(不过度自信也不过度谨虚)、写作指导(散文体、倒金字塔、避免语义回溯)。

一条讽刺的脚注——源码里有一个完整的卧底模式,核心使命是防止内部信息泄露到公开仓库。提示词原文写着"不要暴露你的身份"。然后,这个防泄露系统本身,连同每一行代码和每一条提示词,都在这次源码泄露中一起暴露了。

———————————

以上内容,基于对 cc_src.zip(1902 个文件,35MB)的直接源码阅读和验证。引用的提示词原文、代码片段和注释从源码中直接复制。

更多信息来源:aired.sh/p/Zlm4dmW4ED(分析报告)、AprilNEA 推文(补充细节)、CyberSecurityNews / PiunikaWeb / DEV Community(泄露事件报道)、Fortune(Mythos 泄露报道)、泄露源码直接验证。

发布于 韩国