单代理AI系统有明确的限制:上下文窗口限制、并行工作的难度,以及维持连贯长期规划的挑战。多代理系统——多个AI模型协作,每个都有专业角色——解决了这些限制,但引入了新的复杂性。在构建之前了解权衡至关重要。
为什么需要多代理系统
上下文窗口限制:单个模型在活跃上下文中只能保存有限量的信息(Claude的200k令牌,意味着大约150,000个单词)。长任务——审计大型代码库、写书、运行多天研究项目——超出这些限制。多代理系统可以在代理之间分割工作,每个代理在自己的上下文中运行。并行化:单个代理顺序执行。如果任务有独立的子任务(研究5个不同主题;处理100个文档),生成并行代理可以显著减少实际时间——每个代理同时工作。专业化:不同的代理可以针对不同的任务进行优化——代码审查员、文档编写员、安全审计员——每个都有专业化的系统提示和工具访问,而不会通过混合焦点影响其他代理的性能。错误检查和验证:第二个代理审查第一个代理的输出,捕获制造它们的代理看不见的错误(盲点问题)。这是多代理系统在生产中最有价值的应用之一。编排器-工作者模式:最常见的多代理架构。编排器代理(有时称为规划者或路由器)将高级任务分解为子任务并委派给工作代理,然后聚合结果。编排器维护高级状态;工作者在狭窄范围内运行。关键设计决策:编排器知道什么vs工作者知道什么;工作者如何报告;工作者是否可以生成子工作者;错误如何传播。
设计模式和实践考虑
管道模式:代理顺序链接——代理A的输出成为代理B的输入。每个代理在转换链中执行一个步骤(提取→分类→总结→格式化)。简单实施和调试;有限的并行性。同行评审模式:代理A产生结果;代理B审查它;代理A根据审查进行修订。显著提高写作、代码和分析任务的输出质量。辩论模式(对抗性):代理A产生论点;代理B反驳;评判代理评估两者并产生最终答案。研究表明这提高了答案不确定的事实性任务的准确性。工具分配:多代理系统应该只给每个代理它角色所需的工具(最小权限原则)。搜索网络的代理不需要数据库写入权限。这限制了代理错误的影响范围。状态管理:多代理系统中最难的问题。选项:共享内存(所有代理读写的公共存储——简单但创建竞争条件和一致性问题);消息传递(代理通过与协调器的显式消息进行通信——更安全但实施更复杂);对话历史(每个代理维护自己的上下文,只接收需要的内容——无状态任务最干净的方法)。失败模式:代理可能陷入循环;代理可能幻觉工具调用;代理协调开销可能超过收益(如果子任务实际上是相关的或顺序的,编排会增加延迟而没有并行性收益)。成本:多代理系统比单代理系统使用更多令牌——每个代理调用都是单独的API调用。在扩展之前对系统的令牌使用进行基准测试。




