概述
这是用于设计和实现多个 AI 智能体协作完成任务系统的技能。它提供语言无关的架构模式,适用于 TypeScript、Python、Go、Rust 等环境。触发关键词包括“multi-agent”等。
发现性问题(必答)
架构任何系统前,必须先回答六个问题:
- 起点:全新项目、接入现有系统,还是修复当前实现?
- 主要用例:并行工作、顺序流水线、递归委派、对等协作、工作队列,还是其他?
- 规模预期:小(2-5 个智能体)、中(10-50 个)还是大(100+)?
- 状态需求:无状态运行、基于会话,还是崩溃后持久化?
- 工具协调:独立智能体、共享只读资源、写入协调,还是限流 API?
- 现有约束:语言、框架、性能需求、合规要求?
基础架构:四层栈
每个智能体遵循四层架构,以保证可测试性、安全性和模块化:
| 层 | 名称 | 职责 |
|---|---|---|
| 1 | 推理(LLM) | 规划、批判、决定调用哪些工具 |
| 2 | 编排 | 校验、路由、执行策略、派生 sub-agent |
| 3 | 工具总线 | 模式校验、工具执行协调 |
| 4 | 确定性适配器 | 文件 I/O、API、shell 命令、数据库访问 |
关键规则:第 1 层以下的一切都必须是确定性的。工具中不得调用 LLM。
基础模式
- 事件溯源:所有状态变更作为事件,用于审计追踪与重放
- 层级 ID:编码委派层级(如 session.1.2),便于成本聚合
- 智能体状态机:显式状态(idle → thinking → tool_execution → stopped),非法转移报错
- 通信:状态变更用 EventEmitter,结果收集用 promise
七种协调模式
根据发现问题的答案选择:
| 模式 | 用例 | 权衡 |
|---|---|---|
| Fan-Out/Fan-In | 并行独立工作 | 快但贵;注意孤儿智能体 |
| 顺序流水线 | 多阶段转换 | 瓶颈在最慢阶段 |
| 递归委派 | 层级任务拆解 | 必须加深度限制 |
| 工作窃取队列 | 1000+ 任务与负载均衡 | 无内置优先级 |
| Map-Reduce | 成本优化 | 便宜的 map($0.01),聪明的 reduce($0.15) |
| 对等协作 | LLM 委员会降低偏见 | 昂贵(3N+1 次调用),慢 |
| MAKER | 零错误任务(100K+ 步) | 成本约 5 倍,错误率约 0% |
模式选择指南:并行独立任务用 Fan-Out/Fan-In;各阶段依赖前阶段用顺序流水线;复杂任务拆解用递归委派;大批量处理用工作窃取队列;成本敏感分析用 Map-Reduce;需要多样视角用对等协作;零错误容忍用 MAKER。
MAKER 模式(零错误)
适用于 100K+ 步、零错误容忍的任务(医疗、金融、法律领域):
- 极致拆解:递归拆分直到每个子任务少于 100 步
- 微智能体:单一工具、专注专长、使用便宜模型
- 多智能体投票:每个子任务并行 N 次尝试,多数共识
- 错误纠正:确定性校验 + 带失败上下文的重试
成本对比:与传统方法成本相同,实现零错误 vs 10+ 错误。
工具协调
- 权限继承:子智能体继承父权限的子集,不能提权
- 资源锁:共享资源的获取/释放模式
- 限流:所有智能体共用的令牌桶算法
- 结果缓存:缓存只读、幂等、昂贵的操作
- 子智能体即工具模式:把专门智能体包装成父智能体可调用的工具,提供可组合抽象和自然生命周期管理
关键生命周期:级联停止
“停止自身前总是先停止子智能体。”这防止孤儿智能体。流程:1)获取所有子智能体;2)并行停止所有子;3)停止自身;4)取消进行中的工作;5)刷新事件。
若暂停/恢复不可用,实现手动检查点:保存智能体状态(消息、上下文、工具结果),稍后恢复。
生产加固
| 关注点 | 方案 |
|---|---|
| 孤儿检测 | 每 30 秒心跳监控 |
| 成本追踪 | 沿智能体树层级聚合 |
| 会话持久化 | 项目级任务存储,跨会话工作 |
| 检查点 | 10+ 次工具调用、$1.00 成本或 5 分钟流逝后保存 |
| 自我修改安全 | 爆炸半径评估、分支隔离、测试优先 |
实际示例:代码审查系统
一个使用 Fan-Out/Fan-In 的拉取请求编排器:并行派生四个专家审查者(安全、性能、风格、测试);安全与测试使用聪明模型(Sonnet),风格与性能使用快速模型(Haiku);每个审查者 2 分钟超时;结果无论部分失败都聚合;按审查者追踪成本;完成后所有智能体通过级联停止干净退出。
执行清单
引导多智能体系统实现时:1)提出发现问题;2)评估错误容忍(零错误 → MAKER,允许一些 → 更简单模式);3)建立四层架构;4)模式优先设计工具(先有类型化契约);5)定义确定性边界(第 3-4 层无 LLM);6)选择编排模型(YOLO、安全优先或混合);7)选择协调模式;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:级联停止、孤儿检测、成本追踪、检查点
关于收费、价格、平台支持等具体信息,资料暂未提供。