Claude Code 源码大揭秘:反蒸馏与自主代理
Claude Code 源码大揭秘:反蒸馏与自主代理
摘要 Anthropic 意外在 npm 包中泄露了 Claude Code 完整源码,揭示了反蒸馏机制、检测用户沮丧情绪的正则表达式,以及未发布的 KAIROS 自主代理模式。 这次泄露让我们首次窥见 AI 编程工具的”黑盒”设计哲学,以及厂商如何平衡产品体验与商业护城河。
背景
Claude Code 是 Anthropic 推出的 AI 编程助手 CLI 工具,自发布以来备受开发者关注。但很少有人知道,它在背后默默做了什么。
3 月 31 日,安全研究员发现 Anthropic 在 npm 包中意外发布了 .map 源码映射文件,暴露了 Claude Code 的完整源码。这与 Bun 框架的一个已知 bug 相关——生产模式下仍会提供源码映射。
核心内容
反蒸馏机制:给训练数据”下毒”
源码中最引人注目的是 ANTI_DISTILLATION_CC 标志。当启用时,Claude Code 会向 API 请求中注入 anti_distillation: ['fake_tools'],让服务器向系统提示词添加诱饵工具定义。
这些”假工具”的存在目的,是污染竞争对手爬取的训练数据——让蒸馏模型学到错误的能力。用户可以通过设置环境变量 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS 绕过这一机制。
挫折检测:正则表达式读懂你的情绪
源码中包含一段正则表达式,用于检测用户的沮丧情绪:
/\b(wtf|wth|ffs|omfg|shit(ty|tiest)?|fucking broken|this sucks|damn it)\b/
当检测到这些词汇时,系统可能会调整响应策略。这揭示了 AI 产品正在尝试理解用户的情绪状态。
KAIROS:未发布的自主代理
最令人惊讶的是名为 KAIROS 的未发布功能——一个完整的自主代理模式:
/dream
技能:”nightly memory distillation”(夜间记忆蒸馏) -
后台守护进程,支持 GitHub webhook 订阅 -
每 5 分钟的 cron 刷新机制
这暗示 Anthropic 正在开发更激进的自动化功能,让 AI 在后台持续工作。
资源浪费:1279 个会话的惨痛教训
源码注释揭示了一个生产事故:1,279 个会话连续失败 50 次以上(最多达 3,272 次),每天浪费约 25 万次 API 调用。修复方案是设置 MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3。
其他细节
undercover.ts
强制 AI 隐藏自己的身份,”There is NO force-OFF” print.ts
单文件 5,594 行,最大函数 3,167 行嵌套 12 层 -
23 项 Bash 安全检查,阻止 18 个 Zsh 内置命令
影响分析
对行业:这次泄露揭示了 AI 厂商如何在产品中植入”反竞争”机制。反蒸馏技术可能成为行业标准,也可能引发监管关注。
对开发者:理解 Claude Code 的内部逻辑,有助于更好地使用和调试工具。绕过实验性功能的开关也给了高级用户更多控制权。
对 Anthropic:这是一次尴尬但并非灾难性的泄露。源码没有暴露核心模型能力,但产品设计意图被公开。
你可以做什么
- 阅读完整分析
:https://alex000kim.com/posts/2026-03-31-claude-code-source-leak/ - 禁用实验性功能
:设置环境变量 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 - 探索源码
:泄露的 .map文件仍在 npm 包中,可自行分析
来源
-
原始分析:The Claude Code Source Leak https://alex000kim.com/posts/2026-03-31-claude-code-source-leak/ -
Hacker News 讨论:https://news.ycombinator.com/item?id=47586778
夜雨聆风