试着从4月17号最新发布的这篇 agent 综述里,提炼了 6 个让 agent 更智能的方法,以及 2种 agent 架构的适用场景。
论文链接是
arxiv.org ,强烈建议每一位对 agent 感兴趣的同好,都去精读几遍。言归正传,下面是我的总结:
一、如何让 agent 更智能
1、明确定义的系统提示,指导智能体的行为和目标
例子:ReAct 方法
在 ReAct 方法中,智能体首先对给定任务进行思考,然后根据这些思考执行动作。这个过程可能会重复进行,直到任务完成。这种方法中的系统提示非常明确,指导智能体首先进行思考,然后行动,这样的循环确保智能体在执行任务时有明确的行为和目标指导。
2、明确的领导和任务分工机制
例子:Embodied LLM Agents Learn to Cooperate in Organized Teams
在这个研究中,团队中的领导智能体对整个团队的效率有显著影响。领导智能体负责指导和分配任务,使得其他智能体可以更专注于执行具体的任务。这种明确的领导和任务分工机制使得团队能够更快地完成任务,减少了无效的沟通和混乱。
3、专门的推理/规划、执行和评估阶段
例子:AgentVerse 方法
AgentVerse 方法中包含了明确的任务执行阶段:招募、协作决策、独立行动执行和评估。这些阶段被严格定义,每个阶段完成后,智能体团队会根据任务进展进行重新组织,确保每个阶段的智能体都最适合当前的工作需求。
4、动态调整的团队结构,根据需要添加或移除智能体
例子:DyLAN 方法
DyLAN 框架通过动态的智能体结构来处理复杂任务,如逻辑推理和代码生成。系统会评估每个智能体在上一轮工作中的贡献,并只将表现最好的智能体保留在下一轮执行中。这种动态调整的团队结构使得智能体团队始终保持最高效率。
5、来自人类或其他智能体的反馈机制
例子:Reflexion 方法
在 Reflexion 方法中,智能体在执行任务的过程中会接收到来自一个语言模型评估器的反馈。这种反馈机制使得智能体能够根据反馈调整自己的行为和策略,从而提高任务完成的成功率和减少错误。例如,如果智能体在执行任务时偏离了正确的轨道,评估器可以指出这一点,并建议智能体如何调整策略以更好地达成目标。这种反馈循环不仅增强了智能体的性能,也提高了其与人类用户的互动质量和信任度。
6、智能的消息过滤,减少无关信息干扰
例子:MetaGPT 方法
MetaGPT 实现了一个“发布-订阅”机制,允许所有智能体在一个共享的信息平台上发布信息,但每个智能体只阅读与自己任务相关的信息。这种智能的消息过滤机制显著提高了团队执行目标的效率,减少了无关信息的干扰。
二、多智能体一定比单智能体高贵吗?
并不是,单智能体和多智能体模式,都显示出解决「需要高级问题解决技能」的复杂多步骤问题的能力。
1、单智能体模式
通常最适合于工具列表有限且流程明确的任务。单智能体架构相对容易实现,因为只需定义一个智能体及其可用工具。
此外,单智能体不会面临来自其他智能体的糟糕反馈或令人分心的无关闲聊等限制。
然而,如果单智能体缺乏强大的推理和自我改进能力,它们可能会陷入无休止的执行循环,无法真正朝着目标前进。
2、多智能体架构
往往适用于需要多个角色反馈以完成任务的情况。
例如,在文档生成过程中,一个智能体可以对文档某个部分提出反馈,供另一个智能体参考和改进。
多智能体系统还有助于跨不同任务或工作流实现并行化。Wang等人的研究发现,在没有提供示例的情况下,多智能体模式的表现优于单智能体。
不过,多智能体系统通常更加复杂,需要良好的对话管理和明确的领导才能发挥最佳效能。