设计或评审多 Agent 系统、判断该用单 Agent 还是多 Agent 时使用——选择对等/管理者/去中心化协作拓扑、决定上下文是否共享、设计 Agent 间通信与共享文件系统、诊断多 Agent 失败模式(并发冲突、错误级联、同质趋同、互相扯皮、循环失控)。覆盖协作架构选择依据、多 Agent 优于单 Agent 的新信息判据、控制平面四原语与虚拟文件系统四类区域的设计检查表。
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Passed
No findings from the security scan
| 任务特征 | 选择 |
|---|---|
| 2-3 个角色,需要互相反馈、多轮迭代提质 | 对等协作(起草者/评论者、提议者/审核者) |
| 子任务多、需要动态调度、子任务间有复杂依赖 | 管理者模式(Manager 规划 + 子 Agent 执行) |
| 需职责对等的角色自主决定与谁沟通,或管理者不能成为单点故障 | 去中心化模式(handoff / 消息池订阅) |
| 开放搜索空间,需要广覆盖与多样化发现路径 | 多 Agent 并行(用更高 token 预算换覆盖) |
对等协作实现复杂度最低:定义好两个 Agent 的角色、通信机制和迭代终止条件即可跑起来。
transfer_to_agent / 替换 system prompt | Skill | |
|---|---|---|
| 工具可见性 | 只暴露当前角色工具 | 通常固定暴露全集 |
| 前缀缓存 | 每次切换改变请求前缀,缓存从变化点起失效 | 静态前缀不变,Skill 内容追加到末尾轨迹,前缀可复用 |
| 约束能力 | 强:越界工具在 schema 层不可见 | 弱:Skill 是行为指令,硬权限仍需 Harness 门 |
判据:角色差异主要来自知识、流程、写作风格 → 用 Skill;涉及权限、工具隔离、合规边界、需运行时强制禁止某类动作 → 用独立 Agent 或 transfer_to_agent,并在 Harness 层用代码限制。
| 区域 | 可见性 | 生命周期 | 读写 | 并发控制 |
|---|---|---|---|---|
| Agent 专属工作区(Scratchpad) | 仅该 Agent | 随实例销毁 | 读写 | 不需要 |
| 多 Agent 共享空间(Shared Workspace) | 所有协作 Agent + 用户 | 随任务持续,需持久化 | 读写 | 需要(乐观锁 / worktree) |
| 外部挂载资源 | 视外部授权而定 | 由外部源决定 | 多为只读,写需谨慎 | 由外部源负责 |
| 系统内置资源(Skills 等) | 所有 Agent | 跨会话稳定 | 只读 | 不需要 |
要点:隔离 scratchpad 既避免临时文件互相覆盖,也保持主上下文精简(子 Agent 只把最终产物提交到共享空间);外部挂载需显式处理权限约束、弱一致性与"按需只读";相当一部分并发冲突与信息泄露源于把本应隔离的区域混置。
task_assigned/status_update/result/terminate、JSON 负载)。统一信封使链路可追溯——这是多 Agent 调试的关键。get_status。更自然的是消息传递(问一句"进展如何")或共享文件系统(约定 progress.md,子 Agent 每完成一项更新一次)。用 progress.md 最后修改时间超过 N 分钟无变化来判定卡住并触发超时兜底。轨迹持久化(JSONL)适合读全貌,但不宜作为主要传递方式——数万 token 还得自己提炼。terminate 信号,子 Agent 在安全点清理资源后 ack)为首选,强制终止为兜底。终止沿创建关系向下级联,杜绝孤儿 Agent;确需长期后台 Agent 则从新的生命周期树起步。handoff = {task_id, sender, recipient, goal, constraints,
accepted_facts, artifact_refs, remaining_budget, visited_agents}接收方读任务包和引用、按需取证;预算、访问链与环检测由运行时保留,任何 Agent 不能自行删除。recipient 已在 visited_agents 中则拒绝(防 A→B→A 空转),预算耗尽则停止并上报。
"多个实例"不等于"多种思路"。模型、上下文、脚手架高度相似时,不同 Agent 会做出相同选择。要获得多样性需主动区分模型、上下文、工具、可见证据或职责,并让各 Agent 先独立判断、再汇总结果。
chapter10/multi-role-transfer/ — 同一共享轨迹下"替换 system prompt"与"加载 Skill"两种角色切换的受控对比chapter10/staged-system-prompt/ — 分阶段切换 system prompt + 工具集的归档实验(需求→实现→评审回环)chapter10/book-translation/ — 管理者模式四 Agent(Glossary/Translation/Proofreading/Manager),验证 Manager 上下文不随书厚增长chapter10/parallel-web-research/ — Manager 动态启动 N 个同构 worker、消息总线、第一个已验证命中的级联终止与资源清理chapter10/autonomous-phone-registration/ — 电话 + 电脑双 Agent 点对点协作,模型自主决定是否派生 Phone Agentchapter10/talkact-reproduction/ — 固定拓扑快慢双 Agent 与单模型基线的对照chapter10/voice-werewolf/ — 多 Agent 语音狼人杀:私有/公共记忆隔离与代码驱动的只读 Judgechapter10/generative-agents/ — 25 角色斯坦福 AI 小镇复现,反思机制与信息扩散的对照实验book/chapter10.md「多 Agent 协作的分类框架」book/chapter10.md「多 Agent 何时真正优于单 Agent」book/chapter10.md「共享上下文的多 Agent 协作」book/chapter10.md「不共享上下文的多 Agent 协作」book/chapter10.md「多 Agent 协作的失败模式」bojieli/ai-agent-book
dbc046e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.