跳转到内容

KAIROS:隐藏在 Claude Code 内部的自主代理系统

Claude Code 内部包含一套完整的自主代理操作系统,名为 KAIROS,大多数用户永远不会接触到它。启用后,它会将 Claude Code 从一个被动响应的助手转变为一个主动运行、始终在线的代理,能够执行后台任务、定时任务、推送通知以及自主记忆整合。

KAIROS 并非单一功能,而是一个伞状系统,下辖多个子功能,每个子功能都有独立的特性标志 (Feature Flag):

子功能标志用途
Channelsfeature('KAIROS_CHANNELS')MCP 通道订阅,用于接收通知
GitHub Webhooksfeature('KAIROS_GITHUB_WEBHOOKS')订阅 GitHub Webhook 事件
Push Notificationsfeature('KAIROS_PUSH_NOTIFICATION')向用户设备推送通知
Brief Modefeature('KAIROS_BRIEF')精简聊天 UI,带检查点和 5 分钟刷新周期

当 KAIROS 标志激活时,以下工具会在工具注册表中变为可用:

  • SleepTool — 暂停执行指定时长(用于轮询和定时调度)
  • SendUserFileTool — 直接向用户设备发送文件
  • PushNotificationTool — 在终端之外发送推送通知
  • SubscribePRTool — 订阅 Pull Request 事件并在变更时获得通知
  • BriefTool — 生成带检查点的进度摘要
CLAUDE_CODE_PROACTIVE=1

设置此环境变量会在 KAIROS 框架下启用主动模式,允许 Claude 在无需等待用户提示的情况下主动采取行动。


主动模式是 KAIROS 真正有趣的地方。Claude 不再等待用户输入,而是自主地:

  1. 生成任务 — 根据上下文识别需要完成的工作
  2. 执行任务 — 无需用户明确指令即可执行
  3. 报告进度 — 使用 Brief 工具提供结构化的进度更新
  4. 推测下一步 — 预先计算可能的后续操作(“推测执行”),以降低延迟

这使 Claude Code 更像一个后台队友,而非一个命令行工具。


Auto Dream 是一个在后台运行的自主记忆整合系统。每 24 小时(可配置),如果累积了至少 5 个新会话,Claude 会派生一个 fork 子代理来执行以下操作:

  1. 回顾过往会话记录
  2. 提取模式、偏好和重复出现的上下文
  3. 将整合后的记忆写入自动记忆目录

Dream 系统使用多级门控来防止不必要或并发的运行:

Feature Flag Gate
|
v
Time Gate (24h since last run)
|
v
Session Gate (>= 5 new sessions)
|
v
Lock Gate (file-based lock prevents concurrent consolidations)
|
v
Dream Subagent Spawned

Dream 子代理在受限沙箱中运行。它只能执行只读 Bash 命令

  • ls, find, grep, cat, stat, wc, head, tail

不允许写操作、不允许 git 操作、不允许网络调用。这确保了整合过程不会意外修改你的代码库。

事件含义
tengu_auto_dream_fired触发了 Dream 记忆整合
tengu_auto_dream_completed整合成功完成
tengu_auto_dream_failed整合遇到错误

Cron 系统允许你以标准 cron 表达式调度 Claude Code 代理运行 — 将 Claude 变成一个可调度的后台工作者。

以 5 字段 cron 表达式调度一个提示词的执行:

  • 循环或一次性 — 设置 cron 模式或单次未来时间
  • 持久化 — 调度会持久化到 .claude/scheduled_tasks.json,重启后仍然有效
  • 最大并发数 — 最多 50 个并发定时任务
  • 自动过期 — 任务默认 7 天后过期
  • CronList — 查看所有定时任务及其下次运行时间
  • CronDelete — 按 ID 删除定时任务

远程触发器通过 RemoteTriggerTool 将调度系统从本地 cron 扩展到 Anthropic 的云基础设施。

操作说明
create注册新的远程触发器
list列出所有活跃的触发器
get获取特定触发器的详情
update修改已有的触发器
run手动执行一个触发器

远程触发器与 Anthropic 的后端通信:

POST /v1/code/triggers
GET /v1/code/triggers
GET /v1/code/triggers/:id
PATCH /v1/code/triggers/:id
POST /v1/code/triggers/:id/run

在底层,KAIROS 通过一套类型化的任务系统来编排工作。每种任务类型对应不同的执行上下文:

任务类型说明
DreamTask后台记忆整合(Auto Dream)
LocalAgentTask在子进程中运行的本地代理
RemoteAgentTask在 Anthropic 云基础设施上运行的代理
InProcessTeammateTask与主会话在同一进程中运行的代理
LocalShellTask原始 Shell 命令执行
MonitorMcpTask长时间运行的 MCP 服务器监控任务

这种任务抽象使 KAIROS 能够统一管理、调度、取消和报告各种工作,无论它们在哪里或如何执行。