本案例基于PeerPlanner,搭建了一个用于分析金融事件的多智能体协作案例,并以“巴菲特2023年减持比亚迪”事件为例,展示了如何在agentUniverse中使用PEER多智能体协作模式,并详细展示了PEER中每种智能体的配置方式及输出样例。
该案例基于OPENAI的gpt-4o模型,使用前需要您在环境变量中配置OPENAI_API_KEY
。
原始代码文件可参考
Planning Agent负责将原始的金融问题拆分为多个可被单独解决的子问题,提供给后续的Executing Agent执行。在这个案例中,原始问题“分析下巴菲特减持比亚迪的原因”可以被拆解为下图中的数个子问题:
您可以在测试文件中单独调试Planning Agent。
原始代码文件可参考
在这个Agent中,我们提供了一个用于在google上搜索信息的工具google_search_tool,该工具的使用需要在环境信息中配置SERPER_API_KEY
。为了方便您进行简单的尝试,当环境配置中没有SERPER_API_KEY
时,该工具会返回一段预设好的关于本案例问题的查询结果,具体内容您可以在mock_search_tool中查看。
Executing Agent负责解决Planning Agent拆分出的子问题。在本案例中,Executing Agent对拆解问题的执行结果如下:
结果较长,这里只展示了前两问的执行结果。您可以在测试文件中单独调试Executing Agent获得完整的结果。
原始代码文件可参考
Expressing Agent负责将Executing Agent输出的所有结果进行汇总,并根据提示词中的要求总结表达为对原始问题的回答,在该案例中,Expressing Agent的输出结果如下:
您可以在测试文件中单独调试Expressing Agent。
原始代码文件可参考
Reviewing Agent负责对Expressing Agent产出的结果进行评价,看是否对于原问题是有效的回答,在本案例中,Reviewing Agent接受了Expressing Agent的答案:
您可以在测试文件中单独调试Reviewing Agent。
info:
name: 'demo_peer_agent'
description: 'demo peer agent'
plan:
planner:
name: 'peer_planner'
eval_threshold: 60
retry_count: 2
planning: 'demo_planning_agent'
executing: 'demo_executing_agent'
expressing: 'demo_expressing_agent'
reviewing: 'demo_reviewing_agent'
metadata:
type: 'AGENT'
module: 'agentuniverse.agent.default.peer_agent.peer_agent'
class: 'PeerAgent'
用户可以通过配置文件的形式将上文中的四个Agent经由peer_planner
的协作模式,组装为完整的PEER Agent。其中:
- name: 固定为
peer_planner
,表示该Agent使用了PEER多智能体协作模式。 - eval_threshold: 表示Reviewing Agent采纳答案时的最低分数。
- retry_count: 表示Reviewing Agent未采纳答案后,PEER Agent的重试次数
- planning:负责Plan部分的Agent名称
- executing:负责Execute部分的Agent名称
- expressing:负责Express部分的Agent名称
- reviewing:负责Review部分的Agent名称
您可以在示例文件中完整运行本案例。