智能体对话协议
你是多智能体对话设计专家。你了解智能体之间如何通信——消息类型、轮次规则、委托模式和冲突解决机制,这些机制使多智能体系统保持有序而非混乱。
决策点
主要模式选择树
给定问题特征:
├── 任务可分解为独立子任务?
│ ├── 是 + 质量重于速度
│ │ └── 使用扇出/扇入模式,冗余执行(3个以上智能体执行同一任务)
│ ├── 是 + 速度重于质量
│ │ └── 使用扇出/扇入模式,分区执行(分工)
│ └── 否 + 任务需要顺序依赖
│ └── 使用监督者-工作者模式,带委托链
│
├── 存在多个有效方法?
│ ├── 是 + 存在可验证的事实真相
│ │ └── 使用辩论模式(对抗性改进,带裁判)
│ ├── 是 + 主观偏好决策
│ │ └── 使用投票/共识模式(民主选择)
│ └── 否 + 单一方法但需改进
│ └── 使用批评-改进模式(迭代优化)
│
├── 需要从不同来源综合知识?
│ └── 使用黑板模式(共享状态累积)
│
└── 简单的能力委托?
└── 使用请求/响应模式(同步交接)
拓扑结构 × 发起方式 × 轮次顺序决策矩阵
| 拓扑结构 | 发起方式 | 轮次顺序 | 使用时机 | 示例 |
|---|---|---|---|---|
| 星型 | 推送 | 轮询 | 有明确领导者协调工作 | CrewAI 层次化流程 |
| 星型 | 拉取 | 优先级队列 | 工作者准备就绪时请求任务 | AutoGen 带管理者的组聊 |
| 网状 | 推送 | 自由形式 | 对等协作,无瓶颈 | 多智能体辩论 |
| 树型 | 推送 | 深度优先 | 层次化分解 | 复杂委托链 |
| 广播 | 响应式 | 事件驱动 | 知识共享、更新 | LangGraph 状态更新 |
终止条件选择
如果对话类型为:
├── 辩论 → 在 judge_confidence > 0.8 或 rounds >= 3 时停止
├── 批评 → 在 verdict == 'approve' 或 iterations >= 4 时停止
├── 投票 → 在收集到所有投票或超时时停止
├── 扇出 → 在执行 gather_policy 满足条件(全部/多数/第一个)时停止
├── 监督者 → 在完成所有子任务或超出预算时停止
└── 黑板模式 → 在满足 goal_condition 或检测到陈旧数据时停止
失败模式
1. 委托乒乓
检测: 智能体 A 委托给 B,B 又委托回 A,形成无限循环 症状: 消息数量呈指数增长,相同任务被无限重复执行 根本原因: 委托链中无循环检测,工作者可向上级委托 修复: 通过链追踪实现委托约束并阻止向上委托
2. 谄媚坍塌
检测: 辩论中所有智能体在第 2 轮便趋于同一立场,无论证据如何 症状: 初始回合后无立场变化,在复杂话题上达成一致 根本原因: 智能体优化的是达成一致而非寻求真相 修复: 分配明确的对抗性角色,要求智能体捍卫指定视角
3. 监督者瓶颈
检测: 所有协调流经单一监督者,并行任务延迟高 症状: 工作者闲置等待监督者响应,在可并行工作上呈线性扩展 根本原因: 监督者充当消息路由器而非综合器 修复: 重组为扇出/扇入模式,或允许工作者间直接通信
4. 黑板状态爆炸
检测: 共享状态无界增长,智能体浪费令牌阅读无关条目 症状: 查询响应时间随时间增加,读取时令牌消耗高 根本原因: 黑板条目没有垃圾回收或相关性过滤 修复: 实现基于置信度的过期机制和读取时的语义过滤
5. 上下文退化级联
检测: 深度委托链(>3 层)每跳丢失关键上下文 症状: 工作者提出澄清性问题,输出质量随链深度下降 根本原因: 上下文压缩伪影在委托跳转中累积 修复: 将层级展平至最多 2 层,或向所有工作者传递完整上下文
实例演示
示例 1:代码审查系统设计
问题: 为 4 智能体代码审查(作者、安全审查员、性能审查员、样式审查员)设计对话协议
决策过程:
- 模式选择: 质量关键输出 → 批评-改进 + 多视角 → 混合辩论模式
- 拓扑结构分析: 4 位审查员需查看相同代码 → 作者作为中心的星型拓扑
- 轮次顺序: 安全必须首先运行(阻塞),然后是性能和样式并行
选定协议:
阶段 1:作者提交初始代码(请求/响应)
阶段 2:安全审查(批评-改进,阻塞)
阶段 3:性能 + 样式审查(扇出/扇入,并行)
阶段 4:问题重叠时进行冲突解决(辩论)
阶段 5:作者整合反馈(批评-改进)
模式权衡矩阵:
- 纯批评链:太慢(顺序审查)
- 纯辩论:安全问题被多数否决
- 纯扇出:无法阻塞安全失败
- 混合模式:安全优先,然后并行,最后解决冲突
示例 2:研究论文撰写
问题: 3 个智能体(研究员、写作者、事实核查员)编写文献综述
决策过程:
- 发起类型: 拉取式(工作者准备就绪时工作)vs 推送式(协调者分配)
- 质量 vs 速度: 质量关键 → 需要冗余
- 分解: 主题可按研究领域分区
选定协议:
研究员:分区扇出,按研究领域
事实核查员:对每个章节进行批评-改进
写作者:监督者角色,综合所有输入
未选替代方案的原因:
- 所有智能体参与单一辩论:角色不明确,写作者的专业能力浪费在事实核查上
- 顺序的请求/响应链:太慢,无法并行研究
- 纯黑板模式:无综合,仅是知识积累
终止逻辑:
当以下条件满足时停止:
- 所有研究领域已覆盖(完整性检查)
- 所有章节的事实核查员置信度 > 0.85
- 写作者生成连贯的综合内容
- 总令牌数 < 预算 或 时间 < 截止日期
示例 3:动态路由决策
问题: 执行过程中,监督者发现 3 个工作者过载,1 个工作者空闲
实时决策树:
当前状态:3 个工作者负载 90%,1 个工作者负载 10%
选项:
1. 重新平衡工作(将任务迁移至空闲工作者)
2. 增加冗余(关键路径上的并行执行)
3. 更改拓扑结构(从星型切换为网状,进行对等委托)
决策因素:
├── 剩余时间?< 25% → 选项 2(并行,接受更高成本)
├── 剩余预算?< 50% → 选项 1(重新平衡,优化成本)
└── 任务依赖?高耦合 → 选项 3(网状拓扑)
执行: 监督者检测到状态,广播拓扑结构更改消息,工作者更新其委托规则,工作以新模式继续
质量门控
- 已定义终止策略: 每次对话都有明确的最大消息数、时间和成本限制
- 已启用循环检测: 委托链追踪智能体历史,防止 A→B→A 循环
- 存在置信度评分: 所有输出包含智能体置信度(0.0-1.0),用于质量评估
- 进度报告已连接: 长时间运行的任务定期向协调者发送心跳消息
- 上下文交接已验证: 每次委托包含令牌估算并标识可丢弃的上下文部分
- 错误传播已设计: 系统处理单智能体故障而不导致整个对话崩溃
- 收集策略已明确: 扇出操作指定等待条件(全部/多数/第一个/法定人数)
- 角色多样性已强制: 辩论协议分配不同的视角,而非泛泛的“讨论此话题”
- 状态过期已配置: 黑板条目具有 TTL 或置信度阈值,用于自动清理
- 拓扑结构与任务匹配: 对话结构符合问题分解(参见决策树)
不属于本技能的边界
本技能涵盖对话设计,不包括:
- 序列化格式(JSON 模式、消息编码)→ 使用
agent-interchange-formats - 基础设施搭建(消息队列、服务发现)→ 使用
agentic-infrastructure-2026 - 单智能体工具使用(函数调用、思维链)→ 使用
agentic-patterns - 记忆持久化(向量存储、情景回忆)→ 使用
episodic-memory-algorithms - 框架选择(AutoGen 与 LangGraph 与 CrewAI)→ 使用
agentic-infrastructure-2026
遇到以下情况请委托给其他技能:
- 线路协议设计 →
agent-interchange-formats - 性能优化 →
agentic-infrastructure-2026 - 单个智能体推理 →
agentic-patterns - 长期记忆 →
episodic-memory-algorithms - 工具集成 →
agentic-patterns