1、什么是 Single-Agent System 和 Multi-Agent System?
Single - Agent System(单智能体系统):指在一个系统中仅存在单个智能体,该智能体独立完成任务,其决策和行动仅基于自身的感知、知识与能力,不与其他智能体协作或交互。Multi - Agent System(多智能体系统):由多个智能体组成,这些智能体相互协作、交互,共同完成复杂任务。各智能体具有自主性,可独立做出决策,但通过信息共享、协作等方式实现共同目标。
预计今年 Q3 会上线很多垂直领域的单智能体系统,例如专注于做表格的,专注于做报告的,专注于做旅行计划的,并逐步呈现互联网 APP 的繁荣景象。这些垂直领域的单智能体系统,将成为未来多智能体系统的协作基础。
对于多智能体系统,理论上可以为经理模式和去中心化模式。经理模式下,存在一个中心 "经理" 代理,它以调用工具的方式协调多个专业代理。"经理" 代理负责将任务分配给合适的专业代理,并整合最终结果,提供统一的用户体验,适用于希望由一个代理掌控工作流程并与用户交互的场景。去中心化模式中,多个代理地位平等,可相互移交任务执行权。当一个代理调用移交函数,新代理立即开始执行并接收最新对话状态。
2、为什么需要多智能体系统?
抛开技术因素,会有两个截然不同的观点。
正方:模型越强大,所有 AI Agent 都有可能被 "模型即产品" 所替代,不需要多智能体系统。
反方:模型再智能,也无法主动甄别所有环境感知(Context),每个细分领域的 Agent,调研类 Agent、Coding Agent、表格 Agent,都需要花大量的时间,少则半年多则一年,去设计环境感知(Context),减少模型幻觉,Agent 会像互联网 APP 那样百家齐放,而不是一家独大。
这个需要时间来证明。单只从技术视角看,多智能体系统是必要的。
复杂性管理
随着业务规模和复杂度的提升,单体架构会变得庞大且难以维护,牵一发而动全身,就像大型工厂扩展业务后,内部管理混乱,效率降低。而微服务将业务拆分成多个独立的小服务,每个服务专注于单一功能,降低了系统复杂度。
对于多智能体系统,将复杂任务分解给多个智能体。每个智能体负责特定任务,各自独立运行和决策。以及维护迭代,既利于对每个智能体进行独立调试和迭代,也利于任务的分解,提高了系统的可管理性。例如撰写一篇报告,将任务分别布置给梳理整体报告逻辑的智能体、收集和归类信息的智能体、绘制图表的智能体,每个智能体均有自己的特长。这种设计也是延续了人类社会的分工,一份报告需要有策划、编辑、拍版、设计师等通力协作完成。
灵活性和可扩展性
单体架构在扩展新功能或修改现有功能时,往往需要对整个系统进行调整,成本高且风险大,如同在大型工厂里改变生产流程,需要停产并大规模改造。微服务架构则允许独立扩展和修改单个服务,灵活性和扩展性强。
对于多智能体系统,新增或修改一个智能体的功能,不会对其他智能体造成太大影响,还可以根据任务需求灵活增加或减少智能体,提高系统应对变化的能力。用户甚至可以对智能体进行排列组合,例如若发现绘制图表的智能体不够优秀,可以使用另一款多模态智能体。
资源成本优化和并行处理
微服务架构中每个服务可以根据自身需求分配资源,实现资源的优化利用,并且不同服务可以并行处理任务,提高整体效率。
如果所有任务都指派给同一个性能最强的智能体,资源消耗大。采用多智能体系统,每个智能体系统因为只擅长各自领域的任务,参数更小,能显著降低资源消耗。另外,每个智能体可以根据自身任务需求分配计算资源、时间等,而且多个智能体可以同时处理不同任务,实现并行处理。
容错性和可靠性
单体架构一旦出现故障,整个系统可能会瘫痪;微服务架构中某个服务出现问题,其他服务可以继续运行,通过服务的冗余和容错机制提高系统的可靠性。
对于多智能体系统,某个智能体出现故障,其他智能体可以继续工作,通过智能体之间的协作和备份机制,确保系统整体的稳定性和可靠性 。