跳转到内容

编排

单个智能体只擅长一件事。有些需求则比这更大:“调研 X 的市场并写一份定位文档”“端到端交付这个功能”“审计这个模块并修复发现的问题”。编排就是 Control Center 处理这类需求的方式:编排器(通常是你的 CEO 智能体)提出一份全团队计划,你批准一次,然后一个确定性的物化器把它转换成一条执行这项工作的流水线。

它介于现有的两种完成工作的方式之间:

当你想要…… 使用
把一项任务交给一个智能体 空间中的一条消息
手工编码一个你已经熟悉的流程 流水线模板
说出目标,让团队自己想出计划 编排

当你给编排器一个目标时,它会返回一个结构化的 OrchestrationProposal:一份应用可以校验并执行的带类型的计划,而不是自由形式的文字。一份提案包含:

  • 目标:你的高层需求,重新表述后的版本。
  • 角色:由谁完成工作。每个角色要么是你挑选的现有智能体,要么是编排在批准时创建的新聘。
  • 子工单:把工作拆解为由工单构成的 DAG。
  • 调研 (可选):最先运行、并为其余环节提供输入的调研阶段。
  • 讨论 (可选):在工作开始之前,每个角色都发布一份结构化立场的有界回合。
  • 汇总:产出交付物的最后一步。
  • 预算:声明的费用上限。

有两个界面展示同一个编排。

提案卡片位于生成该计划的对话中。它是一条消息,会在整个生命周期中反复重新渲染——已提议、执行中、已完成——上面带有批准和取消操作。

Plan Studio 则是编辑器:一块 DAG 画布、一个节点检查器、一个修订与差异抽屉,以及承载估算的审批栏。它可以从那张卡片直接以编辑器标签页的形式打开。侧边栏中刻意没有“计划”这一项;/plans 和 /plans/:kind/:id 仅作为用于分享的深层链接存在。

批准是仅限操作员的操作。它没有对应的 MCP 工具:智能体可以提出提案(propose_orchestration)、提交计划(submit_plan)或实例化剧本(run_playbook),但只有人类可以批准。智能体发起的修订还额外受到两分钟冷却时间的限流,因此重新规划的循环会被合并,而不会刷爆你的信息流。

批准前你能修改的内容,就是节点检查器所暴露的内容:重命名或改写一个子工单、更改拥有它的角色、重新连接它的依赖关系、编辑它的输出结构,或直接删除该节点。结构性节点(调研、讨论、汇总)以及已经执行过的节点都是只读的。你无法把某个角色固定到特定的具名智能体,也无法在编辑器中编辑预算。

同一计划上的两个编辑者通过乐观并发来解决,而不是合并。每次编辑都携带它所基于的 base_revision;基于过期修订的编辑会被拒绝,并提示“计划已发生变化”,而不会静默覆盖他人的修改。回退也不是删除——它会把较早的提案作为新修订追加进去,因此修订时间线只会不断增长。

审批栏上的估算基于每个角色真实的已完成运行历史构建,以四分位(p25–p75)区间表示。费用总计是对可估算节点的求和;时长则是贯穿 DAG 的关键路径,而不是求和(并行分支会重叠)。

如果某个节点所属的角色没有已完成运行的历史,它会报告 sampleSize: 0 和空范围。界面就按原样渲染——未知——绝不会给出编造的点值,因为无法信任的估算比没有估算更糟。当一些节点有历史、另一些没有时,总计会标记为部分。只有当节点声明了 symbol 或 file 来源引用时,才会显示影响范围;没有这些引用的节点会保持“未知”,而不会从文字描述中推断。

这是核心思路:智能体负责规划;确定性函数负责执行。 当你批准时,OrchestrationMaterializer——一个不含 LLM、也不做任何 I/O 的纯函数——会把提案转换成一条真正的流水线。给定相同的提案和相同的已解析角色,它总是产出相同的 DAG。这一点很重要,因为生成的流水线会免费继承引擎已有的全部能力:跨重启的暂停与恢复、崩溃恢复、按运行统计的费用与 token 汇总,以及运行详情界面。

批准还会创建这项工作所需的脚手架:

  • 聘用所有标记为新角色的角色(并记录被聘用智能体的 id,这样批准过程中途崩溃也能恢复,而不会重复聘用)
  • 一个把这些角色归组起来的团队
  • 一个用于归档父工单的项目
  • 驱动这一切的流水线模板 + 运行
proposed → approved → executing → synthesizing → completed
↘ ↘ failed
↘ ↘ cancelled
状态 含义
proposed 计划已就绪,等待你那一次前置批准
approved 你已批准;物化正在进行(聘用、团队、项目、流水线)
executing 生成的流水线正在运行:子工单、讨论、工作
synthesizing 子工单已完成;汇总步骤正在产出交付物
completed 已完成:父工单被标记为完成,交付物发布在共享空间中
failed 物化失败,或生成的流水线运行失败
cancelled 你取消了它

当编排器在提案仍处于 proposed 时不断修订它,一个单调递增的修订号会跟踪这份提案;应用会记录你批准的是哪个修订。一旦状态不再是 proposed,propose_orchestration 就会拒绝修订。

编排总是针对一个父工单开启,并共享同一个讨论空间,因此全部工作都可追溯到单个工作项,团队也在同一个房间里交流。

一个常驻的监听器会监视生成的流水线,并把它的终态映射回编排和父工单,因此完成和失败会在你已经关注的地方显现。编排功能不需要自己的执行引擎。

你可以随时取消编排;取消会清理正在进行中的工作。