---
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 是什么」；弱答当场纠正，别把沉默当默许。
- **要不要等放行，看合同承诺、不看谁在场**：派发合同**显式承诺了开工前的核对回合** → 复述后等它；
  **没承诺（默认）→ 无放行可言**，复述只作留痕给编排者事后核，复述完即开工。判据 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 层——一个编排者，调度一群专家，跨任意领域同一个内核。
