用途
Fable Delegate 用于判断并执行“真正的并行”——只有在两个或多个任务卡(card)可以互不等待彼此决策地推进时,才把独立子任务委派给并行 worker 或子智能体。委派的目标是降低延迟,而不是放大歧义。父智能体始终负责分解、契约稳定、集成和最终验证,子智能体并不接管这些责任。
主要能力
- 启用与禁用判断:列出适合并行的情形(多个卡片互不等待、专家视角并行验证独立假设、组件接口稳定且验收独立、独立评审/研究可并行且无共享写入),以及不应并行的情形(worker 会改动同一不稳定契约或不变量、一张卡的设计结果改变另一张卡的需求、解释与集成成本高于直接执行、父智能体尚未建立足够上下文写出精确契约、所有 worker 依赖同一个未决架构决策)。
- 独立性分类:按耦合程度给出可否并行的参考,如不同文件+不同契约通常可并行;不同文件+共享不稳定契约不可并行;同一集成文件+不同组件可并行组件工作但需串行集成;共享只读证据可并行;同一数据库模式/不变量通常不可并行;独立研究假设可并行(合并结论而非合并源码修改);两个 worker 都需要的父级决策不可并行,须先解决决策。
- 六阶段委派协议:
- 证明独立性:检查写归属、共享契约/不变量、依赖顺序、生成产物、迁移/状态耦合、集成热点、一个 worker 失败是否改变另一个 worker 的假设;若无法用一小段话说明独立性,就先不要并行。
- 编写 worker 契约:包含目标、已建立的上下文/证据、归属路径或语义区域、禁止范围、假定稳定的依赖、需产出的验收证据、预期返还包、停止/升级条件。
- 决定变更归属:优先每个语义区域一个写入者;多个只读调查者可查看重叠文件,但多个写入者不应各自重新定义同一契约;共享集成文件在组件工作收敛后交给父级或指定 worker。
- 分派并按例外监督:不逐条命令微管理,只在 worker 发现关键未知、归属范围需扩展、验收无法满足、契约假设不成立、停滞或重复失败时介入。
- 检查返还产物而非仅摘要:要求具体 diff/路径、命令与结果、证据、未解决风险;纯文字“完成”不构成集成证据。
- 集中集成:父级检查合并 diff、契约兼容性、跨 worker 行为、生成产物、集成测试,以及合并/集成变更后 worker 本地证据是否仍然有效。
- 决策规则、不变量与失败分类:如“不同文件”既非独立性的必要条件也非充分条件;稳定契约+隔离实现可并行,不稳定契约+不同文件不应并行;竞争方案在父级选定前保持只读;worker 跨归属边界时应暂停并重新协商契约;失败/挂起不自动重跑同一提示,而应分类后路由到恢复流程或本地执行。失败类型包括归属冲突、语义冲突、上下文饥饿、范围逃逸、本地绿/集成红、worker 停滞。反模式包括“两个任务=两个 agent”、仅以路径不相交作为并行测试、给每个 worker 整个大任务、允许各自更新共享清单/路由、只接受文字摘要、检查假设前合并输出、认为子智能体转移父级责任、为回避决策而委派未决决策。
- TOON 委派协议:所有子智能体委派契约与返还包必须使用 TOON(Token-Oriented Object Notation),以降低 token 消耗、通过 [N] 长度标签检测截断/丢任务、通过 {fields} 字段头强制契约合规。文中给出契约与返还包的 TOON 示例,含 workerId、targetCard、objective、ownedPaths、forbiddenPaths、acceptanceChecks、rules,以及 status、allChecksPassed、mutations、verifications、notes 等字段。
使用方式
按阶段执行:先证明独立性,再为每个 worker 编写含归属与验收的契约,确定变更归属,分派并只在例外情形介入,检查具体返还产物,最后由父级集中集成验证。委派契约与返还包均以 TOON 格式书写。
适用场景
多个任务卡互不等待、组件接口稳定且验收独立、独立研究或评审可并行且无共享写入、只读证据共享等情形。
限制
存在共享不稳定契约、共享数据库模式/不变量、相互依赖的设计结果、未决架构决策或解释成本高于执行的小任务时,不应并行。委派不转移父级责任,worker 完成不等于全局完成,合并后必须做集成验证。附属资源包括 references/parallelism-and-integration.md、references/subagent-contracts.md、templates/delegation-contract.template.md、examples/parallel-workers-walkthrough.md。