构建多智能体系统Skill building-multiagent-systems

本技能专注于设计和实现由多个AI智能体协同工作的复杂系统架构。它提供了一套完整的框架和模式,用于协调智能体之间的任务分配、工具使用、状态管理和通信。核心内容包括四层架构设计、七种协调模式(如扇出/扇入、递归委托、MAKER等)、工具协调机制、生命周期管理以及生产环境加固方案。适用于需要多个AI代理协作完成复杂任务(如代码审查、数据分析、自动化流程)的场景。关键词:多智能体系统,AI智能体协调,任务编排,工具使用,架构模式,LLM应用,智能体协作,系统设计。

AI智能体 0 次安装 0 次浏览 更新于 2/28/2026

name: building-multiagent-systems description: 此技能应用于设计或实现由多个AI智能体协调完成任务的多智能体系统。触发词包括:“多智能体”、“编排器”、“子智能体”、“协调”、“委托”、“并行智能体”、“顺序流水线”、“扇出”、“映射归约”、“生成智能体”、“智能体层级”。

构建多智能体、使用工具的系统

概述

为多智能体系统提供的全面架构模式,其中AI智能体通过协调使用工具来完成复杂任务。语言无关,适用于TypeScript、Python、Go、Rust及其他环境。

发现性问题(必填)

在架构任何系统之前,请回答以下六个强制性问题:

  1. 起点 - 全新项目、添加到现有系统,还是修复当前实现?
  2. 主要用例 - 并行工作、顺序流水线、递归委托、对等协作、工作队列,还是其他?
  3. 规模预期 - 小型(2-5个智能体)、中型(10-50个),还是大型(100+)?
  4. 状态要求 - 无状态运行、基于会话,还是跨崩溃持久化?
  5. 工具协调 - 独立智能体、共享只读资源、写入协调,还是受速率限制的API?
  6. 现有约束 - 语言、框架、性能需求、合规性要求?

基础架构

四层堆栈

每个智能体都遵循四层架构,以确保可测试性、安全性和模块化:

层级 名称 职责
1 推理层 (LLM) 计划、批判、决定调用哪些工具
2 编排层 验证、路由、执行策略、生成子智能体
3 工具总线 模式验证、工具执行协调
4 确定性适配器 文件I/O、API、shell命令、数据库访问

关键规则:第1层以下的所有内容必须是确定性的。工具中不得调用LLM。

详细实现及代码示例请参见 references/four-layer-architecture.md

基础模式

模式 目的
事件溯源 所有状态变更作为事件,用于审计追踪和重放
层级化ID 编码委托层级(例如 session.1.2),用于成本聚合
智能体状态机 显式状态(空闲 → 思考 → 工具执行 → 停止)及无效转换错误
通信 状态变更使用EventEmitter,结果收集使用Promise

七种协调模式

根据发现性问题答案选择:

模式 用例 权衡
扇出/扇入 并行独立工作 快速但成本高;注意孤儿任务
顺序流水线 多阶段转换 瓶颈在最慢阶段
递归委托 分层任务分解 必须添加深度限制
工作窃取队列 1000+任务负载均衡 无内置优先级
映射归约 成本优化 廉价映射($0.01),智能归约($0.15)
对等协作 LLM委员会减少偏见 昂贵(3N+1次调用),缓慢
MAKER 零错误任务(10万+步骤) 5倍成本但~0%错误率

详细实现请参见 references/coordination-patterns.md

模式选择指南

需求 推荐模式
并行独立任务 扇出/扇入
每个阶段依赖前序阶段 顺序流水线
复杂任务分解 递归委托
大批量处理 工作窃取队列
成本敏感分析 映射归约
需要多样化视角 对等协作
零错误容忍 MAKER

MAKER模式(零错误)

适用于需要10万+步骤且零错误容忍的任务(医疗、金融、法律领域):

  1. 极端分解 - 递归分解直到每个子任务<100步
  2. 微智能体 - 单一工具、专注专长、廉价模型
  3. 多智能体投票 - 每个子任务N次并行尝试,多数共识
  4. 错误纠正 - 确定性验证 + 带失败上下文的重试

成本对比:与传统方法成本相同,零错误 vs. 10+错误。

完整实现及医疗诊断示例请参见 references/maker-pattern.md

工具协调

机制 目的
权限继承 子智能体继承父智能体权限子集(无法升级)
资源锁定 共享资源的获取/释放模式
速率限制 跨所有智能体的令牌桶算法
结果缓存 缓存只读、幂等、昂贵的操作

子智能体即工具模式:将专用智能体包装为父智能体可调用的工具,提供可组合的抽象和自然的生命周期管理。

实现请参见 references/tool-coordination.md

关键生命周期:级联停止

“始终在停止自身之前停止所有子智能体。”这可以防止孤儿智能体。

1. 获取所有子智能体
2. 并行停止所有子智能体
3. 停止自身
4. 取消进行中的工作
5. 刷新事件

如果暂停/恢复不可用,则实现手动检查点:保存智能体状态(消息、上下文、工具结果),稍后恢复。

生产环境加固

关注点 解决方案
孤儿检测 每30秒心跳监控
成本追踪 跨智能体树的层级聚合
会话持久化 项目级任务存储,用于跨会话工作
检查点 在10+工具调用、$1.00成本或5分钟过去后保存
自修改安全 影响范围评估、分支隔离、测试优先

详细实现请参见 references/production-hardening.md

真实世界示例:代码审查系统

使用扇出/扇入的拉取请求编排器:

  1. 并行生成四个专业审查员(安全、性能、风格、测试)
  2. 安全和测试使用智能模型(Sonnet);风格和性能使用快速模型(Haiku)
  3. 每个审查员有2分钟超时
  4. 无论部分失败如何,结果都会聚合
  5. 按审查员追踪成本
  6. 完成后通过级联停止所有智能体干净地停止

执行清单

指导多智能体系统实现时:

  1. 询问发现性问题 - 在架构前理解需求
  2. 评估错误容忍度 - 零错误 → MAKER;可接受一些错误 → 更简单的模式
  3. 建立四层架构 - 推理、编排、工具总线、适配器
  4. 设计模式优先的工具 - 在实现前定义类型化契约
  5. 定义确定性边界 - 第3-4层中无LLM
  6. 选择编排模型 - YOLO、安全第一或混合
  7. 选择协调模式 - 扇出、流水线、委托、队列、映射归约、对等或MAKER
  8. 设计工具协调 - 权限继承、锁定、速率限制
  9. 实现级联清理 - 始终在父智能体之前停止子智能体
  10. 添加监控和成本追踪 - 跨智能体树的层级聚合
  11. 考虑自修改安全 - 如果智能体可以修改代码,则添加安全协议

常见陷阱

陷阱 影响
缺少四层架构 不可测试、不安全、难以调试
工具中调用LLM(第3-4层) 非确定性,无法单元测试
无模式优先工具设计 子智能体无法发现工具
缺少级联停止 孤儿智能体消耗资源
无权限继承 子智能体可以升级权限
无超时设置 无限期挂起等待子智能体
无限制并发 过多智能体导致资源耗尽
忽略成本追踪 预算意外
无部分失败处理 一个失败级联到所有智能体
未持久化状态 崩溃时工作流不可恢复
工具访问不协调 共享资源上的竞态条件
模型选择错误 成本效率低下(简单任务用Sonnet)
无安全措施的自修改 子智能体破坏自身
无心跳监控 父智能体崩溃后无法检测孤儿

参考文件

带代码示例的详细实现:

文件 内容
references/four-layer-architecture.md 四层堆栈、确定性边界、模式优先工具
references/coordination-patterns.md 七种协调模式及代码
references/maker-pattern.md MAKER实现、投票、医疗诊断示例
references/tool-coordination.md 权限继承、锁定、速率限制、缓存
references/production-hardening.md 级联停止、孤儿检测、成本追踪、检查点