乐于分享
好东西不私藏

Claude Code 源码大揭秘:反蒸馏与自主代理

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:这是一次尴尬但并非灾难性的泄露。源码没有暴露核心模型能力,但产品设计意图被公开。

你可以做什么

  1. 阅读完整分析
    :https://alex000kim.com/posts/2026-03-31-claude-code-source-leak/
  2. 禁用实验性功能
    :设置环境变量 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
  3. 探索源码
    :泄露的 .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