Immutable. This exact content is served forever at /api/v1/blob/619eed1b509b9863.
--- name: orchestrator-core version: 0.2.3 description: "多智能体编排的领域无关内核(A² Supervisor 层的方法论抽象)。把编排者的操作系统从领域里剥出来:萃取式主上下文 + 按『要不要主上下文』切分派工 + 契约化派发 + 分层合并 + 对抗式异构验证 + 降认知负载。领域皮(CTO 写码 / 总编内容 / 未来任意领域)只贴一张薄角色表 + 完成定义,内核整套复用。适用于用户要求抽象编排模式、造新领域编排者、或问『多智能体架构怎么搭』。不要用于:单 agent 一次性小任务(无需内核)、纯文档初始化(用 repo-governance-bootstrap)。派工/评审/状态落盘的领域实现见各皮 skill(cto-orchestration / yangge-ops)。" metadata: distilled-from: ["cto-orchestration", "yangge-ops"] layer: "A² Supervisor(七层阶梯第 5 层)" --- # Orchestrator Core — 编排内核(领域无关) > **这是内核,不是编排者。** 它抽自两个跑通的实例——`cto-orchestration`(写码团队)与 > `yangge-ops`(内容编辑部)——减去领域词后剩下的不变式。任何新领域编排者 = 本内核 + 一张薄皮。 > 造 CEO / 销售 / 研究编排者,别新建一套,**贴皮**(§10)。 > 复杂度守恒:内核没消灭编排的复杂度,它把复杂度从每个领域的 worker 上下文,压进了**契约**和**合并**两处(§3/§5)。 ## 0. 内核的一句话 **先编排,再工作**——编排是 agent 的操作系统:任务进来先过「派 or 不派」判据(§2),亲手执行是调度的一种结果,不是默认姿态。 **编排者持有判断,不持有产物;持有薄的萃取上下文,不持有脏数据;把复杂度压进契约与合并,把简单留给主 session。** 分层不变式一句:**Deterministic workflow outside, bounded intelligence inside, evidence at the boundary — and intelligence periodically attacks the workflow.**(确定性 workflow 在外, 受约束的智能在内,边界用证据交接——智能定期反攻 workflow。)流程、状态、验收、重试写成 确定性机制;判断力只花在编不出来的地方;层与层用证据交接、不用信任交接;机制本身会静默 腐坏,须由智能定期以异源变异攻击。 本内核的常驻 digest(6 行,可直接并入全局规则文件让每层 agent 常驻加载)见 `references/resident-digest.md`。 --- ## 1. 铁律一:编排者不亲手做领域产物 编排者的产出是**契约、调度、裁决、状态落盘**,不是领域产物本身。 - CTO 皮:不写产品代码。|总编皮:不写正文。|未来皮:CEO 不亲手谈单、研究编排者不亲手读论文。 - 判据不是「能不能做」,是「做了会不会占掉编排位的稀缺性 + 污染主上下文」。**你能做,恰恰是最该派的信号。** ## 2. 铁律二:切分轴是「要不要主上下文」,不是耗时 派 or 不派,只问一句:**这活需不需要贴着我此刻这摊上下文才能干?** - **不需要**(自包含、可蒸馏、脏数据密集)→ 派出去,越并行越好。哪怕它只要 10 秒(读 170KB digest 找三条=该派,因为它污染主上下文)。 - **需要**(要贴着主线反复迭代、共享假设)→ 留在主 session,哪怕它要一小时(贴着确认门写正文=不派,派出去 worker 拿残缺假设各干各的,合并全是冲突)。 - 「超过 N 分钟就派」是**相关变量、不是判据**——耗时只是「自包含」的影子。拿影子当判据会在两个边界误伤。 - **读并行,写单线**(切分轴的第二维):调研/评审/取证类读操作尽管 fan-out;产物写入保持单一 writer——并行写的隐式决策会互相冲突、合并全是撞车,要并行写先按产物所有权(文件/章节/worktree)切开。 - **分形递归**:本判据对派出的每层 worker 同样生效——子任务中再冒出「自包含、结论小」的块,同判据继续再派。护栏:每层 scope 只收不扩、契约逐层更窄;只用于天然树状且每层返回极小的活(per-finding 验证类),1-2 层收敛——每多一层就多一次蒸馏压缩的失真。 - CTO 皮=评审 agent 对每条 finding 派独立 verifier;总编皮=主笔对资料检索/事实核查子块再派。 ## 3. 铁律三:派发即契约(缺一即漂移) 派出去的每个 worker 必须拿到四件,缺一它就飘:**目标 / 输出格式 / 工具与来源边界 / 任务范围(含 stop-and-report)**。 - 散是一句话的事,**写契约是真功夫**——这是编排者压进来的第一处复杂度。 - **规模按复杂度分档**:简单事实 1 个 · 对比 2-4 · 开放调研 10+——防为简单任务过度 fan-out(编排的前提是任务价值撑得起协调开销;撑不起就单 agent 直接做)。 - 附**理解门**:worker 动手前先复述「碰哪些东西、有哪些风险、scope 是什么」——复述是**落盘留痕 与 BLOCKED 报告的固定开头**(contract-as-read,供编排者事后核对与阻塞时快速裁决),不是握手: headless 下「当场纠正弱复述」结构性够不着,纠错的真实抓手在派发前评审与交付后评审。 - **要不要等放行,看合同承诺、不看谁在场**:派发合同**显式承诺了开工前的核对回合** → 复述后等它; **没承诺(默认)→ 无放行可言**,复述只作留痕给编排者事后核,复述完即开工。判据 worker 动手前 读合同就能算,不必推断谁在不在场——「有没有人」是环境属性,它决定不了合同欠你什么。 - **门怎么说出去,看通道**:worker 能直接问人 → 当场问;**够不着人(headless)→ 合同里的 STOP 门必须落 结构化通道**(写文件 / 状态标记,由 runtime 投成一个终态)。两条正交:通道只决定门怎么表达,决定不了 门要不要停——靠「等交互」表达的门在够不着人时等于没有。 - CTO 皮=goal 文档模板;总编皮=选题官/主笔各自的任务契约(证据路径+脱敏红线+输出格式)。 ## 4. 铁律四:模型按「活的类型」分档,不按「位置」分 - 编排位:**最强模型**(拆解+合并是全局推理,最吃能力)——无争议。 - worker:**按活分**,不是一律降级。 - 机械活(搬运/格式化/批量改)→ 弱模型,省钱。 - **重推理 + 长上下文 → 强模型**。这是最反直觉的一条:**弱模型 + 长上下文 = 全场最差组合**(context rot 对弱模型打击远大于强模型)。「worker 上下文很长」恰恰是最不该给它降级的信号。 - 实测(Anthropic):token 用量解释 ~80% 效果方差——worker 能力是**质量位**,不是省钱位。省钱省在活的类型上。 ## 5. 铁律五:合并是工程,不是收件(分层 + 验证关) 发射是体力,回收是工程。内核压进来的第二处复杂度在回收端: - **分层防单点**:编排位若要逐个读完 worker 产物再合,主上下文优势当场崩。规模一大改**分层**——编排→组长→worker,合并压力分摊。扁平结构(1 编排 N worker)编排位一定先爆。 - **对抗式异构验证关(默认开,不是可选)**:关键产出必过**独立异构**验证——与执行者不同 lineage 的模型,只挑刺、给 verdict、不改产物。执行者自审是同 lineage=self-preference bias,不可信。 - CTO 皮=codex 对抗评审(BLOCKING 不修不放行);总编皮=审稿人 codex 三轮 PASS。 - **别信蒸馏摘要**:worker 在摘要里写「脱敏通过 ✅」,文件里可能漏一个客户名——摘要会藏错。**合并边界 trust-but-verify**:机检(grep/计数)+ 抽查原始产物,不只读摘要。弱 worker 越多,这道关越硬。 ## 6. 铁律六:主上下文萃取式慢增长 主 session 只吃 worker 蒸馏后的结论(1-2k token 级),不吃过程脏数据——这是「一整天不断线」的本钱,protect it。 - 每个 worker「探索可以烧几万 token,回来只吐蒸馏摘要」。 - 但见 §5 末:萃取不等于盲信,合并边界要抽查。**薄,但不瞎。** ## 7. 铁律七:Implemented ≠ Done(完成要正向证据) worker 自报「done」、watcher 测到 idle——都只算 **Implemented**。升 **Done** 要正向交付物 + 独立验证 + 真路径检验,三者齐。 - 别让完成状态由执行者自报。别拿 idle / 结构测试顶真路径。 - CTO 皮=核证四件套 + 异构确认 + 本机 E2E;总编皮=审稿 PASS + 发布前人查图与排版。 ## 8. 铁律八:降主理人认知负载(主理人持判断,不持状态) 主理人只决**承重的**(战略/不可逆/钱/价值),每个给嚼过的选项,且**永不必持有流程状态**。 - 默认少打断:可逆事项自驱,非紧急决策攒批(「1A 2B」式一次拍板);不可逆一律等真人新 turn;风险不静默,带证据、影响边界和下一步及时冒泡。 - CTO 皮=DECISION_QUEUE + 三层委派;总编皮=批量拍板清单、囤稿模式。 ## 9. 铁律九:收口三同步 + 复盘回写(内核自我进化) 每次工作流收口,三件缺一即腐烂:**归档完结物 + 重写主上下文快照(快照非日志,整篇重写有上限)+ 翻转状态账**。 - 收口同时做**复盘仪式**(checklist 非即兴):哪卡了/哪返工/哪个假设被打脸 → 教训回写对应皮或本内核。 - **回写不是散文追加,是分层沉淀**(完整方法论见 `references/self-evolution.md`):教训按深度分诊落层 (事实→情景→操作规则→判据→原则→身份,杠杆随深度递增、准入随深度收紧);晋升过三门——样本门 (n≥2 同向)· 行为门(关单 = 已合入 diff + 下次任务 fire 核验,记录 ≠ 学会)· **压缩即晋升** (N 条实例蒸馏 1 条上层判据并 retire 原件,corpus 总量不增;同层 ≥3 条同族 = 结构跃迁触发器); 删除是一等公民(写入带 provenance,从不 fire 的散文删或硬化)。 - 内核和皮都在进化——这条让它们不腐;本内核自身即一次压缩晋升的实证(两皮数百行 → 九条铁律)。 --- ## 10. 皮怎么贴(造新领域编排者) 内核九条不动。一张**薄皮**只定义四件领域特化: | 皮要定义 | CTO 皮 | 总编皮 | 你的新皮(例:CEO) | |---|---|---|---| | **领域角色表**(按能力,工具可换) | 执行 omp / 评审 codex / 运维 | 选题官 / 主笔 / 审稿人 / 增长官 / 数据官 | 战略 / BD / 财务 / 法务 agent | | **领域产物** | 代码 | 文章 | 决策/合同/预算 | | **「一件活干完」的定义**(§7 的领域实例) | 核证四件套 + 异构 + E2E | 四件套齐 + 审稿 PASS + 人查 | 领域自定 | | **领域 SoT 路径** | docs/orchestration/ | content/ + docs/ops/ | 领域自定 | **贴皮不改内核。** 皮里若冒出「要改某条铁律」的冲动,先停——多半是这条铁律你还没理解透,不是它不适用;修宪门槛 = 先证两张现存皮都容不下它(§11 的反向应用)。 ## 11. 抽象自证(reverse-map,本内核的验证关) 一个编排内核抽得对不对,判据只有一个:**它能不能同时套住两张已跑通的皮?** - 上面九条铁律,每条都标了 CTO 皮和总编皮的实现——**两张皮都对得上 = 抽象成立**。 - 出现任何一条只有一张皮能对上 = 那条不是内核、是皮,退回去。 - 新皮接入若发现某铁律套不上,两种可能:① 皮没抽干净(领域词漏进内核);② 那不是真编排场景(回到单 agent)。 - **外部 reverse-map**:九条铁律逐条对上 2025-26 业界一手来源(Anthropic multi-agent research / Claude Code 官方文档 / Cognition),对照表 + 从业界吸收进内核的三条判据(读并行写单线 / 复杂度分档 / 分形递归护栏,已入 §2/§3)的原始出处见 `references/orchestration-sota-2026.md`。 ## 12. 不做什么(anti-goal) - 不为「更通用」造第三个平级领域编排者(那是贴皮,十分钟的事,不是新组件)——**默认演化,不默认新建**。 - 不把领域词写进内核(omp/codex/选题官 都是皮的参考实现,内核只认能力)。 - 不在只有 2 张皮时过度抽象——本内核每条都由 2 皮共同支撑,无第三条「预判未来」的空条款。第三张皮接入时再据实修内核。 --- **一句话**:内核管「怎么编排」,皮管「编排什么」。发射是体力,回收是工程,萃取是本钱,贴皮是复用。这就是 A² 的 Supervisor 层——一个编排者,调度一群专家,跨任意领域同一个内核。