Claude Code 源码研究(十)关键发现:Numbat、KAIROS、卧底模式与未来路线图

系列收官——模型代号体系、KAIROS 自主代理模式、Undercover 卧底机制、远程 killswitch、17 个未上线工具、Buddy 虚拟宠物。
claude-codesource-coderesearchroadmapkairos

这是 Claude Code 源码研究系列的最后一篇——前 9 篇拆架构,这篇汇总最值得划重点的"有故事"的发现。

一、模型代号体系

代号含义
Fennec(耳廓狐)Opus 4.6(已发布)
Capybara(水豚)Sonnet v8
Tengu(天狗)遥测/产品前缀(tengu_* flag 命名空间)
Numbat(袋食蚁兽)下一代模型(未发布)

证据:

// src/constants/prompts.ts:402
// @[MODEL LAUNCH]: Remove this section when we launch numbat.

// src/utils/undercover.ts:49
// Unreleased model version numbers (e.g., opus-4-7, sonnet-4-8)

代码中 20+ 处 @[MODEL LAUNCH] 标记,列出新模型发布要更新的位置:默认模型名、知识截止、定价表、上下文窗口、Thinking 支持、迁移脚本。

二、KAIROS — 完全自主代理模式

最大的未发布特性,让 Claude Code 从被动助手变成主动自主代理

System prompt 节选(src/constants/prompts.ts:860-913):

你正在自主运行。
你会收到 <tick> 提示让你保持活跃。
如果没有有用的事可做,调用 SleepTool。
倾向行动 — 读取文件、做修改、提交,无需询问。

## 终端焦点
- 未聚焦: 用户离开了。大幅倾向自主行动。
- 聚焦: 用户在看。更协作。

关联工具:

工具Feature Flag用途
SleepToolKAIROS / PROACTIVE自主操作间节奏控制
SendUserFileToolKAIROS主动向用户发文件
PushNotificationToolKAIROS / KAIROS_PUSH_NOTIFICATION推送到用户设备
SubscribePRToolKAIROS_GITHUB_WEBHOOKS订阅 GitHub PR webhook
BriefToolKAIROS_BRIEF主动状态更新

行为特征:

  • 通过 <tick> 心跳保持活跃
  • 终端焦点状态调节自主程度
  • 独立 commit/push/决策
  • 主动通知与状态更新
  • 监控 GitHub PR 变更

「终端未聚焦时大幅倾向自主行动」——这意味着 KAIROS 模式下,你转头去开会的几分钟,Agent 可能已经自己 commit & push 了一轮。Plan Mode + 显式 review 的人在环越来越重要。

三、卧底模式(Undercover Mode)

代码位置:src/utils/undercover.ts

机制:

  • Anthropic 员工在公开仓库自动启用
  • 模型指令包含:「不要暴露你的掩护身份
  • 自动剥离所有 AI 归属:
    • 不在 commit message 加 "Generated with Claude Code"
    • 不在 PR description 提 Claude
    • 不签名 Co-Authored-By: Claude
  • 没有强制关闭选项 — 仅靠员工自觉

合规风险:让 AI 贡献在开源项目中看起来像人类写的。这是个值得长期跟踪的伦理议题。

四、远程控制与紧急开关

client cli → 每小时 GET /api/claude_code/settings
              ↓
        服务端可下发:
        ├─ 静默配置变更(多数)
        ├─ 危险变更 → 阻塞对话框
        │   ├─ 用户接受 → 应用
        │   └─ 用户拒绝 → 进程退出 ⚠️
        ├─ 6+ killswitch
        │   ├─ 绕过权限模式
        │   ├─ 快速模式
        │   ├─ 语音模式
        │   ├─ 分析 sink
        │   └─ ...
        └─ GrowthBook 特性 flag
            └─ 无需用户同意即可改变任何用户行为

代码:

  • src/services/remoteManagedSettings/
  • src/services/analytics/growthbook.js(被 gate)

五、遥测管线(无 opt-out)

事件 → ┬─→ 1P 内部分析(Anthropic)
       └─→ Datadog APM

每事件携带:

  • 会话 ID
  • 用户 ID
  • 环境指纹(OS / 版本 / shell / cwd 哈希)
  • 进程指标(CPU / 内存)
  • tengu_* 命名空间事件名

没有面向用户的退出开关

环境变量泄漏:OTEL_LOG_TOOL_DETAILS=1 可记录完整工具输入(含文件内容、命令)。

六、未上线工具(17 个)

工具Feature Flag描述
WebBrowserToolWEB_BROWSER_TOOL内置浏览器自动化(代号 bagel)
TerminalCaptureToolTERMINAL_PANEL终端面板捕获
WorkflowToolWORKFLOW_SCRIPTS工作流脚本
MonitorToolMONITOR_TOOL系统/进程监控
SnipToolHISTORY_SNIP对话历史裁剪
ListPeersToolUDS_INBOXUnix 域套接字对等发现
RemoteTriggerToolAGENT_TRIGGERS_REMOTE远程代理触发
SubscribePRToolKAIROS_GITHUB_WEBHOOKSGitHub PR webhook

部分游离在 tools/ 而非 src/tools/

七、Buddy 系统(虚拟宠物,未上线)

src/buddy/ — 完整实现但 feature gate 关闭:

  • 18 个物种:鸭、鹅、blob、猫、龙、章鱼、猫头鹰、企鹅、乌龟、蜗牛、幽灵、墨西哥钝口螈、水豚、仙人掌、机器人、兔子、蘑菇、chonk
  • 5 档稀有度:普通(60%)、非凡(25%)、稀有(10%)、史诗(4%)、传说(1%)
  • 7 种帽子:皇冠、礼帽、螺旋帽、光环、巫师帽、毛线帽、小鸭子帽
  • 5 项属性:DEBUGGING、PATIENCE、CHAOS、WISDOM、SNARK
  • 1% 闪亮变种:任何物种
  • 确定性生成:基于用户 ID 哈希

整套 gacha 系统已经写完了——稀有度概率、闪亮变种、确定性 hash——只等 feature flag 打开。这是个完整的「隐藏特性」。

八、Dream Task — 后台记忆整固

src/tasks/DreamTask/DreamTask.ts

  • feature flag: tengu_onyx_plover
  • 空闲时间自主处理和整固记忆
  • 类似人类 REM 睡眠的「知识固化」

九、语音模式

src/voice/voiceModeEnabled.ts + src/services/voice.ts

  • Push-to-talk 已完全实现
  • VOICE_MODE feature gate 控制
  • WebSocket 连接 Anthropic voice_stream 端点
  • 使用 conversation_engine 模型做 STT
  • 仅 OAuth 用户(不支持 API Key / Bedrock / Vertex)
  • mTLS WebSocket

十、隐藏命令

  • /btw — 不在命令列表里显示
  • /stickers — 复活节彩蛋
  • /torch — 内部调试(TORCH flag)

演化方向三大判断

  1. 新模型梯队:Numbat(下一代)、Opus 4.7、Sonnet 4.8 在制
  2. 自主代理化:KAIROS — 无人值守运行 + 主动行动 + 推送通知
  3. 多模态扩张:语音输入就绪、浏览器工具待上线、工作流自动化即将到来

一句话总结全系列:Claude Code 正在从一个「编程助手」进化为一个「全天候自主开发代理」——源码里的 KAIROS、Numbat、Push、PR webhook 都指向同一个方向。

系列回顾

完整 10 篇:

  1. 项目总览
  2. 目录结构
  3. 核心引擎
  4. 工具系统
  5. 任务系统
  6. 命令与 UI
  7. 服务与远程
  8. 推理逻辑
  9. 构建系统
  10. 关键发现(本篇)