外观
第 26 章 Detailed Outline:多 Agent 协作与任务隔离
学习目标与中心问题
学习目标: 读者能为一组并发候选写出可检查的任务契约和集成门,在路径重叠、共享写入、输入漂移或验证不完整时给出停止或升级理由。
中心问题: 多个 Agent 如何合作而不争夺同一份真相、同一个输出或同一次外部效果?
小节蓝图
| 小节 | 读者问题 | 内容与边界 | 计划交付 |
|---|---|---|---|
| 为什么并行会制造竞争 | 任务标题不同就能并发吗? | 用书稿章节协作说明输入、写入面、验收和共享工件必须同时分开;不报告真实并发。 | 竞争风险表。 |
| 编排模式与责任主语 | 谁决定路由,谁输出最终结果? | 限定引用 OpenAI SDK 的 manager/handoff 与代码编排说明;本书不采用其 API。 | 模式—责任对照表。 |
| Task Contract | 如何让一个任务可领取? | 定义 ID、owner、输入快照、exclusive paths、验收、停止条件、共享写入请求。 | 最小任务契约表。 |
| Ownership Claim 与共享工件 | 哪些内容能局部改,哪些必须集中收口? | 专属输出只有一个当前 owner;共享状态、词表、目录和总校验由集成者持有。 | 所有权矩阵。 |
| 交接与交付包 | 输出怎样由局部变成可集成结果? | 交付包包含工件、命令、结果、未覆盖范围与冲突;摘要不能覆盖当前状态。 | 交付包字段表。 |
| 冲突恢复与停止 | 发现重叠、漂移、未知效果怎么办? | 冻结受影响写入、记录证据、分类冲突、由集成者决定拆分/串行/重新验证;不实现锁或恢复系统。 | 冲突路由表。 |
| 图示与最小示例 | 如何检查隔离前提? | Mermaid swimlane 与纯内存 assessTaskIsolation;先红后绿。 | 10 项 Node 测试与演示。 |
| 完整案例 | 三位维护者怎样生产三个章节? | 两位作者写互斥路径,集成者唯一写共享工件;未执行真实 Agent 或 Git 操作。 | 阶段—责任—证据表。 |
计划图示
问题: 协调者怎样把共享输入分发为专属工作,并在共享写入或冲突出现时将责任收回到集成门?
图示元素: 协调者、Task Contract、Agent A/B、输入快照、专属路径、局部验证、Delivery Package、Conflict、Integration Gate、共享工件与 Stop。
读图结论: 两个 Agent 可以同时形成局部交付包;共享状态不能由它们直接回写,必须由集成门验证后统一更新。箭头表示本书模型中的工件流,不表示真实进程、文件锁、消息、worktree 或并发执行。
计划示例
模块: examples/agent/task-isolation-assessment.mjs
输入: 注入的 Task Contract、Ownership Claim 列表和 Integration Contract。
输出: ready / blocked / requires_integration / not_applicable,以及路径、路由和原因。
测试路径: 合法专属任务;owner 缺失;验收缺失;停止条件缺失;异 owner 路径重叠;同 owner 续接;共享写入路由;集成者缺失;共享路径误称专属;非 Task Contract 输入。
边界: 模块不创建 Agent、子进程、worktree、文件锁、消息、浏览器会话、文件、网络或外部副作用。
与前后章节的关系
- 前置: 第 03 章提供项目上下文分层;第 09 章提供任务拆解;第 10 章提供状态与恢复;第 12、14 章保留权限与批准边界;第 21 至 23 章提供跨工具规则与自动化边界。
- 本章: 专注多个执行者之间的任务、路径和集成责任,不定义产品运行时或版本控制技术。
- 后续: 第 27 章将实现层面的 Git、worktree 与代码审查作为独立主题;第 34、35、45 章再扩展团队 Skill Library、企业 Harness 与长期接力。
完成标准
- 章节以原创任务契约、所有权、交付包和集成门解释协作。
- 产品事实只使用 CH26-REF-01 至 CH26-REF-05 的限定范围。
- 例程先保留
ERR_MODULE_NOT_FOUND红灯,再以实际 Node 测试和演示记录结果。 - Mermaid 源码、导出 SVG/PNG、替代描述和正文含义一致。
- 技术、事实、图示、语言与最终审查记录不宣称真实多 Agent、worktree、文件锁、浏览器会话或消息系统已运行。
