← ClaudeAtlas

subagent-execution-governancelisted

把子代理派发从"监督型治理"升级为"契约型治理":探查/实现/验证角色分离、契约快照(含负空间)、三级有界读取、单写者文件所有权、行动门槛替代轮次门槛、结构化 BLOCKED、token/工具/轮次预算、结构化结果回收与 repair-contract 恢复。用于派发实现型子代理(写代码/写文件类任务)、设计"谁读什么/谁写什么/何时算阻塞"的执行协议、审计子代理空转(反复探查不产出、并行写冲突、上下文膨胀)、或复盘"子代理烧了大量 token 却没产出"的会话。不用于纯问答、单轮小修改、或已有成熟任务流程的普通委派。
ooooooooooooooooooop/agent-tools · ★ 3 · AI & Automation · score 75
Install: claude install-skill ooooooooooooooooooop/agent-tools
# 子代理执行治理(Subagent Execution Governance) > 本 skill 由一次真实实现会话审计(session-33b69ec9-1abf-454d-9555-f2d4031a9453)提炼而成。那次会话 3 小时、17 个子代理、执行层消耗 309 万输入 token(主会话 4 倍),`b21b9211` 一个子代理读了 65 个文件后仍被催"直接实现",主会话被迫 28 次 `send_message` 催促 + 8 次 `interrupt_agent`,最终目标未 complete、会话中途悬死。**根因不是"监督不够凶",而是子代理的工作边界、信息边界、写权限和退出条件没有工程化。** ## 核心原则 > 不要从"自由探索"直接走向"实现代理完全失去自主权";正确形态是 **契约驱动 + 有界自治 + 结构化升级**。 > > 目标不是"主代理不断管子代理",而是 **系统规则让正常子代理根本不需要被管**。 失败因果链(本 skill 要打断的): ```text 任务设计错误(探查/实现不分) → 执行边界过宽(无限读取授权) → 监督不得不频繁介入(催促/中断/重派) → send_message / interrupt 注入上下文 → 上下文继续膨胀 → 缓存命中率恶化 → token 爆炸 ``` ## 一、角色分离(Discovery → Contract → Implementation → Validation) 禁止让一个子代理同时承担"先研究、再实现、再测试"四种认知模式: | 角色 | 读 | 写 | 产出 | |------|----|----|------| | **Discovery**(探查) | 自由只读 | 禁止 | 契约快照草案(≤15 条 file:line 事实) | | **Contract Builder**(主会话) | 验证契约 | 写契约文件 | 最终契约快照(含负空间) | | **Implementation**(实现) | 有界读取(三级) | 只写自有文件 | 代码 + 变更清单 + 状态 | | **Validation**(验证) | 只读目标文件/测试 | 禁止(或只改测试) | 测试结果 + 差异报告 | **主会话承担 Contract Builder 与 Orchestrator**:探查结果必须经主会话验证、确认文件无冲突、写入契约快照后,才能派实现子代理。**禁止**探查子代理直接产出实现任务。 ## 二、契约快照(Implementation Contract) 每个实现子代理派发前必须有一份契约快照,包含**正空间和负空间**: ```text GOAL: 一句话目标(可验收) OWN: 本子代理独占写入的文件(单写者) MAY READ: 自动允许读取的文件/目录白名单 REFERENCE: 参考实现文件(读但不改) IN SCOPE: 允许做的事 OUT OF SCOPE: 禁止做的事(防 scope creep) MUST PRESERVE: 必须保持不变的现有行为/API MUST NOT: 禁止触碰的模块/文件/顺手重构/兜底路径 EXIT: 完成条件(确定性可判) BLOCKED: 允许升级阻塞的场景(仅限契约外信息缺失) ``` 负空间(OUT O