编排
单个智能体只擅长一件事。有些需求则比这更大:“调研 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 就会拒绝修订。
编排总是针对一个父工单开启,并共享同一个讨论空间,因此全部工作都可追溯到单个工作项,团队也在同一个房间里交流。
完成时会发生什么
标题为“完成时会发生什么”的部分一个常驻的监听器会监视生成的流水线,并把它的终态映射回编排和父工单,因此完成和失败会在你已经关注的地方显现。编排功能不需要自己的执行引擎。
你可以随时取消编排;取消会清理正在进行中的工作。
另请参阅
标题为“另请参阅”的部分- 流水线与自动化:物化后的编排所运行的引擎
- 工单与委派:编排所锚定的父工单
- 智能体模型:编排所填补或聘用的角色
- 运行编排
- 在 Plan Studio 中工作