很多人对 Claude Code 的理解,还停留在这样一个印象里:

  • 能读项目
  • 能改文件
  • 能跑 shell
  • 偶尔再帮你写点计划

这个理解不能说错,但已经明显不够了。

看完最新泄露源码后,我越来越强烈的一个判断是:

Claude Code 的内核,已经不再只是一个“会调用工具的模型壳”,而是在往一套完整的 Agent Runtime 演化。

它内部已经能看到非常明确的系统级部件:

  • Task 系统
  • Team / sub-agent 协作
  • Plan Mode 状态切换
  • 自动记忆与团队记忆
  • Cron 调度与持久任务
  • 消息转发与会话编排

这些东西组合在一起之后,Claude Code 的产品含义就变了。

它不再只是“你问一句,它答一句”的 coding assistant。 它更像是一个正在逐步解锁中的 Agent 操作系统

一、先说结论:Claude Code 内部已经不是“工具调用”,而是“任务运行时”

如果你只从表层体验出发,会觉得 Claude Code 的工作方式是:

模型看到上下文 → 决定调用工具 → 输出结果

但从源码结构看,Claude Code 已经明显把很多核心能力上提成了 runtime 层对象,而不是临时 prompt 技巧。

tools/ 目录里,能直接看到很多不是“普通工具”的东西:

  • TaskCreateTool
  • TaskUpdateTool
  • TaskGetTool
  • TeamCreateTool
  • SendMessageTool
  • EnterPlanModeTool
  • ExitPlanModeTool
  • ScheduleCronTool

光看这些名字,其实就已经足够说明问题。

这不是一个只会 Read / Edit / Bash 的系统。 这是一套已经开始拥有:

  • 任务对象
  • 团队对象
  • 模式状态
  • 调度器
  • 消息总线

的 agent runtime。

这一步非常关键。

因为一旦平台开始显式管理“任务”和“队友”,模型就不再只是单点执行器,而开始变成一个可编排的工作系统

二、Task 不是 TODO List,而是 Claude Code 内部的工作单元

很多产品都喜欢在 UI 里做一个 task list,但那种 task list 往往只是展示层。

Claude Code 这里更值得注意的是:它把 Task 做成了 runtime 里的正式对象。

TaskCreateToolTaskUpdateToolTaskGetTool 这一组工具的存在来看,至少有三件事已经成立:

1. 任务是可以被显式创建和跟踪的

这意味着 Claude Code 内部已经不满足于“当前轮对话里顺手列几个步骤”。

它在把工作拆解成可追踪的执行单元:

  • 任务可以创建
  • 任务可以更新状态
  • 任务可以再次读取

也就是说,计划不再只是几段自然语言,而开始有了对象语义。

2. 任务生命周期是系统管理的一部分

这和单纯让模型在回答里写:

  • Step 1
  • Step 2
  • Step 3

完全不是一个量级。

前者意味着平台已经准备好做:

  • 中断恢复
  • 任务状态持久化
  • 子任务拆分
  • 多 Agent 分工
  • 长任务进度追踪

3. Task 是更复杂工作流的基础设施

一旦你有了 Task,对上层产品来说几乎什么都能长出来:

  • Plan Mode 可以把计划变成任务树
  • remote session 可以继续未完成任务
  • Team 模式可以把任务分配给不同 agent
  • Cron 可以在未来继续执行某个任务

所以 Task 在 Claude Code 里最值得看的,不是“它能列待办”,而是:

它已经在准备承载真正的长期工作流。

三、TeamCreateTool 暴露了一个更大的野心:Claude Code 并不打算永远只做单 Agent

如果说 Task 说明它在认真做“工作单元”,那 TeamCreateTool 暴露的就是更大的方向:

Claude Code 内部已经在认真准备多 Agent 协作。

这件事非常重要。

因为过去很多 coding assistant 的底层假设都是:

一个模型,面对一个上下文,串行完成整个问题

但复杂软件任务天然不适合这种模式。

现实里的开发工作经常是这样的:

  • 一个 agent 看主架构
  • 一个 agent 改后端
  • 一个 agent 改前端
  • 一个 agent 做测试和验证
  • 一个 agent 做资料查询或 side task

你如果还要求所有事情都塞进同一个上下文窗口里,本质上是在拿“单线程思维”跑分布式问题。

TeamCreateTool 的出现,说明 Claude Code 团队很可能早就在想另一套模型:

不是让一个大 agent 什么都干,而是让多个 agent 组成临时团队。

这背后至少有两层产品含义。

1. 多 Agent 不是外部 hack,而是平台内生能力

很多产品的“多 Agent”其实只是营销说法,本质是外面套了一层 orchestrator。

Claude Code 更危险的地方在于:

它很可能是把 team 这件事直接放进 runtime 内核里。

也就是说:

  • team 不是外挂
  • team 不是 prompt trick
  • team 是平台内部的正式构件

2. 未来的 Claude Code 更像“manager + workers”结构

一旦 team 是正式能力,很多设计就都说得通了:

  • 主 agent 负责规划
  • 子 agent 负责具体切片执行
  • 子 agent 之间通过消息或任务系统解耦
  • 主 agent 再负责汇总与验收

这个方向和 /btw、Plan Mode、remote planning 其实是同一条线。

它们都在说明:

Claude Code 的未来不是把单个模型越做越大,而是把协作运行时越做越强。

四、Plan Mode 真正厉害的地方,是它和 Runtime 接上了

很多人会把 Plan Mode 理解成“复杂任务先想想再动手”。

但从源码看,Plan Mode 真正厉害的地方不只是规划,而是它已经成为 runtime 的正式状态。

这意味着什么?

意味着 Claude Code 不是让模型“尽量表现得更会规划”,而是让系统显式切到一种不同模式:

  • 权限可以变化
  • 可调用能力可以变化
  • 用户需要审批
  • 后续状态可以恢复

而一旦 Plan Mode 和 Task/Team 这些 runtime 组件接起来,它就不是单独功能了,而是上层调度面板。

换句话说:

  • Plan 负责定义工作结构
  • Task 负责承载执行对象
  • Team 负责分派执行者
  • Message / Session 负责协调通信

这其实已经是一个很完整的 agent orchestration 雏形。

所以 Claude Code 的 Plan Mode 值得学的地方,不是“先思考”的 prompt 文案,而是:

它把规划正式接进了运行时。

五、Memory 这条线更狠:Claude Code 已经在做长期上下文基础设施

如果 Team 和 Task 代表“怎么干活”,那 Memory 代表的就是“怎么长期记住”。

memdir/memdir.ts 等相关实现里,能看到 Claude Code 已经不是把 memory 当成一个小补丁功能。

它在做的更像是长期上下文基础设施。

源码里能看到一些非常明显的信号:

  • auto memory 可以通过配置和 feature gate 控制
  • team memory 建立在 auto memory 之上
  • prompt 会指导如何检索历史记忆
  • 某些模式会维护 daily log 和 unified memory prompt

这说明 Claude Code 对 memory 的理解,已经不是:

给模型多塞一点历史聊天记录

而更像:

给 agent 提供一套可持续沉淀、可检索、可复用的经验层

这两者差距很大。

1. 记忆不再是聊天记录,而是工作上下文资产

聊天记录只是原始流水。

真正有价值的是:

  • 项目偏好
  • 决策历史
  • 团队约定
  • 长任务上下文
  • 过去失败和修复经验

如果这些东西能被结构化沉淀,agent 的行为就会越来越像“熟悉你项目的人”,而不是“每轮都重新认识世界的临时模型”。

2. team memory 的存在,说明它准备支持“共享经验”

这是更值得警惕的一点。

个人 memory 还只是“我记住你”; team memory 则意味着“多个 agent 共享同一片记忆空间”。

一旦这个机制成熟,多 Agent 系统的能力会明显增强:

  • 子 agent 不需要每次从头学习背景
  • manager agent 可以依赖团队共享约定
  • 长期项目里上下文切换成本显著下降

这实际上是在给多 Agent 协作补上最关键的一块:

共享工作记忆。

六、Cron 才是真正改变产品形态的一刀:Agent 不必等你输入才开始工作

如果说 Task/Team/Memory 还可以被理解为“更强的交互式 agent”,那 ScheduleCronTool 暴露出来的东西就更激进了。

它说明 Claude Code 已经明确在考虑:

Agent 不一定要在用户当前对话里即时运行,它也可以在未来某个时间点被重新唤起。

从相关 prompt 和逻辑里,能看到它区分了:

  • session-only cron
  • durable cron
  • recurring / one-shot 任务
  • 持久化调度信息
  • jitter 和过期策略

这不是简单的 reminder。

这是在给 agent 加“调度器”。

1. 从同步工具,变成异步工作体

交互式 coding assistant 的默认形态是:

  • 你打开
  • 你下指令
  • 它执行
  • 会话结束

但有了 Cron 之后,形态就变成:

  • 你定义一个任务
  • 系统在未来触发它
  • agent 自己继续工作
  • 结果在之后回到你面前

这一步一旦放开,Claude Code 的产品定义会立刻变化。

它将不再只是 IDE 边上的聊天框,而会开始具备:

  • 定时巡检
  • 定时生成报告
  • 定时同步上下文
  • 周期性验证任务
  • 长期项目跟进

这种能力对企业工作流尤其致命。

2. 持久化调度意味着“长期存在的 agent”

更重要的不是定时器本身,而是 durable cron 这种语义。

它说明 Claude Code 正在准备让某些任务脱离当前会话生命周期继续存在。

也就是说,未来某些 agent 也许不是“临时召唤一次”,而是“持续存在、按规则反复运行”。

这是典型的 agent runtime 思路,而不是普通聊天产品思路。

七、Auto Mode 和权限分类器,其实是在给这套 Runtime 修围栏

一旦你把 Claude Code 看成 Task/Team/Memory/Cron 组成的运行时,另一个问题就会立刻出现:

这么强的系统,怎么防止它乱来?

这也是为什么 Auto Mode 和权限分类器那条线特别关键。

很多人以为 Auto Mode 只是“减少弹窗”,但从源码看,它更像是为 Runtime 配的一套动态护栏系统。

因为一旦系统具备这些能力:

  • 能创建任务
  • 能调度未来动作
  • 能跨 agent 分工
  • 能持久记忆
  • 能在 web / remote 面继续执行

那么权限治理就不能再是简单的 yes/no 弹框。

它必须回答更复杂的问题:

  • 哪种任务可以自动做?
  • 哪种任务必须审批?
  • 哪种工具能在 auto 模式下被 allowlist?
  • 哪种上下文切换需要用户确认?

所以你会发现,Auto Mode、Plan Mode、Team/Task、remote workflow 其实不是各自独立的 feature。

它们是同一套系统的不同面:

  • Runtime 负责“能做什么”
  • 权限系统负责“什么时候能做”
  • 发布 gating 负责“谁可以做”

这是一套非常完整的产品工程思路。

八、最值得抄的设计点:先把系统能力长出来,再决定开放边界

看完整套源码后,我觉得 Claude Code 最值得学的地方,不是哪一个单点功能,而是它整体的产品演化顺序。

它明显不是按这种方式做的:

  • 先定义一个用户可见功能
  • 再临时拼几段逻辑把它做出来

它更像是:

  • 先把能力沉到 runtime
  • 把 Task、Team、Memory、Cron、Plan、Remote 都做成系统组件
  • 再通过 feature flag、账号形态、策略权限决定开放范围

这种做法的好处非常大。

1. 上层功能会越来越容易长出来

一旦 runtime 成型,新功能很多时候只是组合问题:

  • 远程规划 = Plan + Remote Session + Approval
  • 多 Agent 修复 = Team + Task + Message
  • 定时巡检 = Cron + Memory + Task
  • 企业协作 = Team Memory + Policy + Remote

2. 产品不会被单一交互形态锁死

如果你只把自己定义成“terminal 里的聊天助手”,那很多能力会很难扩展。

但如果你已经有 runtime,CLI、IDE、Web、Remote 其实都只是不同入口。

3. 内部实验和灰度会更容易

因为系统能力已经存在,团队可以:

  • 先给内部用户开
  • 先在特定 build 放出
  • 先绑定特定账号形态
  • 先挂在隐藏命令或 hidden tool 后面

这也解释了为什么 Claude Code 源码里会有那么多“已经写好了,但普通用户还看不见”的东西。

九、最后的判断:Claude Code 的终局,可能不是 IDE 助手,而是开发工作的调度中枢

所以如果你问我,这批源码里最让我警惕的信号是什么?

不是某个隐藏命令。 不是某个 feature flag。 也不是某个 internal-only 入口。

而是:

Claude Code 内部已经在按“Agent Runtime”而不是“聊天产品”来组织自己。

当一个系统同时拥有:

  • Task
  • Team
  • Memory
  • Cron
  • Plan Mode
  • Remote Session
  • 消息传递
  • 权限分类器

它离“开发工作调度中枢”其实就不远了。

到那个阶段,Claude Code 的角色就会从:

一个帮你写代码的助手

逐渐变成:

一个长期理解项目、能拆任务、能分派 agent、能记住历史、能按时触发工作的开发操作系统

这才是我觉得 Claude Code 真正可怕、也真正值得研究的地方。

它对外看起来像 CLI。 但在内部,它已经越来越不像一个 CLI 了。

评论