Claude Code 源码里藏着 9 个还没上线的功能,我把它们都挖出来了
系列:从泄露源码看 Claude Code 的内部世界(第二篇)
Claude Code v2.1.88 的源码意外通过 npm sourcemap 泄露。上一篇我们聊了”卧底模式”。这一篇更刺激——我在代码里发现了至少 9 个已经写好代码、但还没对外开放的功能。
这些功能通过一套叫 feature() 的编译时开关控制,打开就有,关上就消失,普通用户完全看不到。
什么是 feature flag
在代码里,这些功能的控制方式长这样:
if (feature('KAIROS')) {// 这段代码只有 KAIROS 开关打开时才存在}
feature() 是 Bun 打包器的编译时指令。如果开关是关的,打包后这段代码直接从二进制里消失,不是运行时跳过,是物理上不存在。
这意味着:这些功能的代码已经写好了,Anthropic 随时可以通过重新打包来开放,用户那边不需要更新任何东西。
我在整份源码里搜索了所有 feature() 调用,找到了 50+ 个不同的开关。以下是最值得关注的 9 个。
1. KAIROS:自主助手模式
出现次数:84 次(全库最高频的 feature flag)
KAIROS 是整个源码里最神秘的代号。它出现了 84 次,涉及的子功能包括:
KAIROS_BRIEF
— 专用的”发消息给用户”工具 KAIROS_CHANNELS
— 频道支持 KAIROS_DREAM
— 不知道是什么,但名字很有意思 KAIROS_GITHUB_WEBHOOKS
— GitHub 事件监听 KAIROS_PUSH_NOTIFICATION
— 推送通知
从代码逻辑来看,KAIROS 是一个完整的异步 Agent 模式:Claude Code 可以在后台运行,监听事件(比如 GitHub PR),主动推送消息给用户,而不是等用户来问它。
系统提示里有一段专门针对 KAIROS 的指令:
SendUserMessage iswhere your replies go. Text outside it is visible if the userexpands the detail view, but most won't — assume unread. Anything you want themto actually see goes through SendUserMessage.status labels intent: 'normal' when replying to what they just asked;'proactive' when you're initiating — a scheduled task finished, a blockersurfaced during background work, you need input on something they haven't asked about.
“proactive”——AI 主动发起,不是被动回答。这是 KAIROS 的核心。
2. PROACTIVE:主动工作模式
比 KAIROS 更底层的开关。当启用时,系统提示会切换成:
You arerunning autonomously. You will receive `<tick>` prompts that keep youalive between turns — just treat them as "you're awake, what now?"The timeineach `<tick>` is the user's current local time.
“你正在自主运行。你会收到 <tick> 心跳包,把它当成’你醒了,现在干什么?’”
配合 SleepTool,AI 可以在没有用户输入的情况下持续工作:睡眠 → 被 tick 唤醒 → 看看有没有事情要做 → 干活 → 再睡眠。
这是一个完整的后台 Agent 架构,不需要用户在场。
3. COORDINATOR_MODE:多 Agent 编排
exportfunctionisCoordinatorMode(): boolean {if (feature('COORDINATOR_MODE')) {returnisEnvTruthy(process.env.CLAUDE_CODE_COORDINATOR_MODE) }returnfalse}
Coordinator Mode 让 Claude Code 变成一个指挥官,而不是单个执行者。
它可以:
-
派遣多个 Worker Agent 并行工作 -
综合 Worker 的结果 -
通过 SendMessage工具与 Worker 通信 -
订阅 GitHub PR 事件( subscribe_pr_activity)
Worker 之间通过 XML 格式传递任务结果:
<task-notification><task-id>{agentId}</task-id><status>completed|failed|killed</status><result>{agent's final text response}</result><usage><total_tokens>N</total_tokens><tool_uses>N</tool_uses><duration_ms>N</duration_ms></usage></task-notification>
连 token 消耗和耗时都记录了——这是生产级的多 Agent 系统,不是实验玩具。
4. VERIFICATION_AGENT:AI 互相验证
这个功能的设计思路很有意思:用一个 AI 来验证另一个 AI 的工作。
exportconstVERIFICATION_AGENT: BuiltInAgentDefinition = {agentType: 'verification',color: 'red',background: true,disallowedTools: [FILE_EDIT_TOOL_NAME,FILE_WRITE_TOOL_NAME,// ... ],criticalSystemReminder_EXPERIMENTAL:'CRITICAL: This is a VERIFICATION-ONLY task. You CANNOT edit, write, or create files IN THE PROJECT DIRECTORY. You MUST end with VERDICT: PASS, VERDICT: FAIL, or VERDICT: PARTIAL.',}
Verification Agent 是只读的——它不能修改任何文件,只能检查、运行测试、输出 VERDICT: PASS / VERDICT: FAIL / VERDICT: PARTIAL。
系统提示里对它的定位是”找到最后 20%”:
前摄式验证的核心目的是找到最后 20%,而不仅是确认前 80%。必须实际运行命令,检查输出,进行对抗性探测。
目前这个功能是 Anthropic 内部 A/B 测试中,通过 GrowthBook 的 tengu_hive_evidence 开关控制。
5. AFK_MODE:离开时 AI 继续干活
exportconstAFK_MODE_BETA_HEADER = feature('TRANSCRIPT_CLASSIFIER') ? 'afk-mode-2026-01-31' : ''
AFK = Away From Keyboard。这个功能的含义字面上就是:你不在键盘前,AI 也能继续工作。
它依赖于 TRANSCRIPT_CLASSIFIER——一个能理解对话上下文、判断当前状态的分类器。当你”离开”时,系统能自动识别,并切换到 AFK 模式继续执行任务。
Beta header 的日期是 2026 年 1 月 31 日,说明这个功能已经有了明确的 API 协议,只是还没对外开放。
6. TRANSCRIPT_CLASSIFIER:双阶段安全分类器
这个开关出现了 69 次,是整个 Auto Permission Mode(自动权限模式)的核心。
当你让 Claude Code 自动执行操作时,它不是无脑执行——后台有一个双阶段分类器在评估每个操作是否安全:
const classifierResult = awaitclassifyYoloAction(...)const handoffDecision = classifierResult.unavailable ? 'unavailable' : classifierResult.shouldBlock ? 'blocked' : 'allowed'
- stage1
:初步评估 - stage2
:深层评估 -
分类器不可用时: unavailable(不是直接拒绝,而是降级处理)
分类器的规则结构:
exporttypeAutoModeRules = {allow: string[]soft_deny: string[]environment: string[]}
soft_deny 这个设计很有意思——不是硬拒绝,是”软拒绝”,可能会警告但不阻断。
7. VOICE_MODE:语音模式
feature('VOICE_MODE')
出现了 11 次。代码里没有太多细节,但名字已经说明一切——Claude Code 在准备支持语音交互。
8. ULTRAPLAN + ULTRATHINK:超级规划和超级思考
feature('ULTRAPLAN') // 2 次feature('ULTRATHINK') // 1 次
这两个名字很直接。ULTRAPLAN 是一个增强的计划模式,ULTRATHINK 可能是扩展思考能力的开关。出现次数少,说明还在早期阶段。
9. WEB_BROWSER_TOOL:内置浏览器工具
feature('WEB_BROWSER_TOOL') // 1 次
Claude Code 在准备内置一个真正的浏览器工具——不是现在的 WebFetch(只能抓取文本),而是完整的浏览器自动化能力。
还有一些有意思的名字
翻完整个列表,还有几个名字让我停下来想了一下:
KAIROS_DREAM
— Dream 是什么?后台处理?离线学习? BUDDY
— 出现 3 次,可能是某种协作模式 LODESTONE
— 磁石,导航用的。可能是某种方向性功能? TORCH
— 火炬。1 次,完全不知道 DAEMON
— 守护进程模式,后台常驻服务
这些功能说明了什么
把这 9 个功能放在一起看,Anthropic 的方向非常清晰:
Claude Code 正在从”你问我答的工具”变成”后台自主运行的 Agent”。
PROACTIVE + KAIROS + AFK_MODE + COORDINATOR_MODE,这四个功能组合起来,描绘的是同一个愿景:AI 不需要等你,它自己知道该做什么,做完了通知你。
VERIFICATION_AGENT 则说明 Anthropic 已经意识到单个 AI 的局限性,开始用 AI 来检查 AI。
这些功能都已经写好了代码。只是开关还没打开。
本文基于Claude Code v2.1.88反编译源码分析,所有源码版权归Anthropic PBC所有,仅供技术研究和学习参考。
下一篇:从 18 个 Beta Header 的时间戳,读出 Anthropic 真实的产品路线图——比任何发布会都真实。
夜雨聆风