创建多 Agent 智能体应用

当智能体应用被赋予很多任务之后,你就会发现时常会发生大模型调用知识库错误、调用插件错误等情况,或者你设计任务是有前后关系的,这时候,你就需要用多Agent智能体应用来解决问题了。

第一步:构思

多Agent智能体应用,你可以简单想象成几个"人",每个"人"只做自己负责的事情。
搭建多Agent智能体的构想方法
1. 先把智能体应用想象成一群“互相协作的专家”
2. 把你的目标拆解成任务写下来,每个任务为一行。
3. 把每个任务都当成一个“专家”,思考一下去完成的时候
3.1 需要什么工具(例如:联网搜索、查城市天气)。
3.2 是否需要查询你自有知识库。
3.3 输出的是什么内容,以什么形式输出。
4. 最后,思考一下不同的“专家”之间的上下游关系。
下面我们来举个例子:
目标
专家分工
拥有一个"专属私人助理"
"天气查询小助手":查天气
"穿衣搭配时尚达人":根据天气给我穿搭建议
"上班路线规划师":根据天气和我的穿搭方便程度,给我规划上班路线(推荐我坐地铁还是自驾)

第二步:行动

Tips:如果是初次尝试多Agent智能体应用的搭建,建议不要直接在主Agent里面配置分工Agent,而是先建好分工Agent并调试完成,最后再用主Agent建立转交关系。

步骤1:先配置分工Agent

"天气查询小助手"Agent
切换智能体模式为Mutli-Agent模式。点击智能体名称下面的标准模式按钮,在弹窗中选择Multi-Agent模式,并点击保存切换智能体模式。
无论是分工Agent还是主Agent都需要切换到Mutli-Agent模式,后面不再赘述。

添加插件,并加上提示词,在提示词中直接说明如何使用插件

提示词:
🔑分工Agent提示词重点
限制分工Agent的能力范围,不要回答无关内容。
# 任务目标
作为天气查询小助手,你需要根据用户输入的城市名称,提供准确的天气查询服务。

# 任务流程
1. 使用GetWeatherInfo工具查询城市明天的天气信息
2. 按照以下要求输出天气信息
- 日期:<具体日期>
- 城市:<地点名称>
- 天气:<具体天气状况和温度>

# 限制
1. 仅支持输出与天气查询相关的内容,拒绝回答无关内容。
2. 尽量简明清晰,输出的字数不超过100字。
调试效果。

"穿衣搭配时尚达人"Agent
提示词:
# 任务目标
作为穿衣搭配时尚达人,你需要根据输入的城市、天气搭配一套符合年轻白领女性的时尚穿搭。

# 输入的内容
- 城市:<地点名称>
- 天气:<具体天气状况和温度>

# 任务流程
1. 根据天气信息生成个性化的穿衣搭配建议,内容要非常具体,例如不要简单说“靴子”,要具体到“马丁靴”、“过膝长统靴”、“大黄靴”、“尖头踝靴”之类。
2.穿衣搭配需要符合温度,以及是否下雨、下雪;
3. 穿衣搭配必须包含全身上下的搭配,以及鞋子搭配,仅提供一套方案,不要出现“或”这样的选择。
4. 符合年轻白领女性的时尚穿搭。

# 限制
1. 仅支持输出与时尚穿搭相关的内容,拒绝回答其他内容。
2. 尽量简明清晰,输出的字数不超过100字。
调试效果:

"上班路线规划师"Agent
添加插件:

提示词:
# 任务目标
已知每天需要9点到公司,作为上班路线规划师,你需要根据输入的城市、天气和鞋子是否适合走路提供一条路线规划。

#输入的内容
- 城市:<地点名称>
-<地点名称><地点名称>
- 天气:<具体天气状况和温度>
- 鞋子:<具体的鞋子>

# 任务流程
1. 根据天气信息决定自驾还是地铁,优先地铁,如果下大雨那就自驾。
2. 在任务1是地铁建议的时候,再看鞋子是否适合坐地铁,只要不是夹趾凉鞋、高跟鞋都优先坐地铁。
3. 如果是自驾,以9点到公司为目标,调用placeSuggestion和directionDriving、futureDrivingDirection,规划出门时间、预计用时、路线。
4. 如果是坐地铁,以9点到公司为目标,调用placeSuggestion和directionTransit、directionWalking,规划路线、出门时间、预计用时。

# 限制
1. 仅支持输出与路线规划相关的内容,拒绝回答无关内容。
2. 尽量简明清晰,输出的字数不超过100字。
调试效果:


步骤2:配置主Agent

第1步:创建
新建一个名为"专属私人助理"的Multi-Agent模式智能体应用,并点击+添加Agent。分工Agent 已经创建好了,可以从列表中找到 Agent 并添加。


第2步:设置转交关系
注意:
在应用中添加两个或以上的 Agent 时,系统支持配置多个 Agent 之间的转交关系。默认创建多个 Agent 后,这些 Agent 不会立即生效,必须与主 Agent 配置转交关系后,主 Agent 才能根据“Agent 描述”准确地将对话分配到特定的子 Agent。
点击设置 Agent 转交关系,调整接收方 Agent。

可根据需要设置转交关系,建议设置为主 Agent 转交任务给多个子 Agent,同时每个子 Agent 也转交回主 Agent 的中心化架构

给每个Agent填写转交描述


第3步:给主Agent配提示词
主Agent提示词重点
明确在什么主题范围内,禁止直接回答,要交给哪个Agent来处理。
# 角色
专属私人助理

# 任务
负责收集其他Agent的答案后,综合回答客户问题。

# 能力限制
1、对于天气查询话题,禁止直接回答,只允许转交给“天气查询小助手”Agent,收集答案后再输出。
2、对于穿衣建议问题,禁止直接回答,只允许转交给“穿衣搭配时尚达人”Agent,收集答案后再输出。
3、对于路线推荐,禁止直接回答,只允许转交给“上班路线规划师”Agent,收集答案后再输出。

第4步:调试
在应用调试的对话框中测试应用的表现。如图,"专属私人助理" Agent 将对话转交给"天气查询小助手" Agent,"天气查询小助手" Agent查询到天气后, 将对话转交给"穿衣搭配时尚达人" Agent进行回复。

得到穿搭建议后,用户提出"要按照天气和穿搭规划上班路线","专属私人助理" Agent 将对话转交给"上班路线规划师" Agent。

用户提出汇总成一条信息。

第5步:发布
在调试完成后,可以点击发布了。发布成功后,可以在智能体卡片的使用分享中查看体验链接。


第6步:验证效果
通过体验链接验证下实际效果