7a01f944dd
原型系统几分钟就能跑完同一条链路且全程有澄清问答,生产链路 run 11/12/13 三次
澄清轮数都是 0。拓扑不是差异来源——两边都是 D11。差的是 Supervisor 读到的
东西:原型给它一份 1.4k 的专用提示词,明写「你不生产策划内容」和固定动作序列;
生产给它的是 13.5k 的通用总控合同,预设手里有 43 个工具、六个专业组、isolated
child、正式任务图和视觉产物合同,而 plan 根一个都没有。
此前的做法是在通用合同上逐段做减法($visualContract、supervisorIntro、
isolatedTemplateCatalogIntro、$isolatedAgentTemplates 四个 `if plan_root`
分支)。这个形状本身在漏:模板目录那一段就是漏到第三轮才发现的,而每漏一段
都是一次已实测的偏航。现在整份换成 manifest 里的 supervisorPlan composition,
plan 根的段落清单一眼可读,不再散落在两个函数的四个否定分支里。
保留的三段各有硬理由:
- isolatedAgentContract —— expectedArtifacts 合同,agent.delegate 同样要用。
- supervisorRepair —— 返工必须用原 delegationId 重读 claimedDelegateContract
并逐字继承 acceptanceCriteria/expectedArtifacts。run 12 连撞两次的就是这条。
- planCommon —— common.md 的子集副本,见下。
替换的两段:
- planSupervisorIdentity 取代 supervisorIdentityContract。后者的「用验收标准和
预期产物把边界清晰的任务委派给合适的专业 Agent」正是替用户预先裁定的压力源,
且 plan 根只有一个可委派目标;末句的黑板与 Agent 记忆在收窄后的工具面上是
死文本。
- planSupervisorPlaybook 取代 supervisorPlaybook。后者首段讲 spawn_isolated
批次与 manifest DAG、末段要求「manifest 正式任务图已完成」,在本链路都不可
执行。新段落照原型形状写死六步动作顺序,并补上生产此前完全没有的转述保真
规则:`[已确认] {header} → 用户答:{原文}` 逐条列出,任务接近长度上限时压缩
自己的说明而不是压缩用户答案。
删掉的三段:
- common.md 有 43% 是 plan 根执行不了的内容(改码流程、git 提交、联网检索、
整段「作为被委派的专业 Agent 时」的身份错位),其中「最后一次修改后必须成功
执行 project.verify 才能 respond_to_user」还是一道 plan 根永远满足不了的假
门禁。但同一段压着这条链路唯一的原创性红线、user.input_request 协议和静态
委派协议——D11 的协议正文在这里,不在 playbook。所以 planCommon 逐字复制这
三段,并用 tripwire 断言反向钉住:planCommon 的每段都必须能在 common.md 里
逐字找到。
- supervisorClaimGate 讲 minIsolatedGroupsBeforeClaim,无 isolated group 时恒
不触发。
- $platform 整段是 command.start/exec/poll/stdin/terminate 的用法合同,plan 根
一个 command 工具都没有。GDD 里的平台事实由 Runtime 另行注入,与这段无关。
提示词头部改用上一笔提交的 allowlist 拼工具清单,与 Provider 请求实际广告的
函数目录共用同一份事实。两边各自维护一份就会退回「合同说有 43 个、请求里只有
9 个」的自相矛盾,而那正是收窄工具面本身要消灭的东西;这一致性单独钉了一条
断言。
supervisor/playbook.md 里的反预先裁定段落保留。执行层只单向拦住 plan 根,
agent.delegate 的 agentId 是自由字符串,gui/cli Supervisor 委派 project-planning
并未被禁,那段在通用 lane 不是死文本。两份逐字相同,另有一条 tripwire 钉住。
plan 根实际拼到的提示词从 13531 字节降到 9049 字节,但重点不是体积——是被删的
全部执行不了、补上的固定动作序列此前完全缺失。
已变异验证四条新断言。全量 2238 passed / 10 failed,逐条单线程复跑后 7 条转绿
(并行噪声),剩余 3 条是本机缺 rg 与 CRLF,与本次改动无关。
尚未验证的是这些文字是否真的改变模型行为——单测只能证明它进了提示词。判据是
下一次 E2E 能否触发 AGC_NEEDS_USER_INPUT_V1 信封。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>