文章总结:
代理模式可增强大模型功能并规避其弱点。多代理模式则通过分配任务给多个机器人或模型,实现更精细化和准确化的处理。扣子智能体系统已上线多代理模式,并允许通过角色设定和全局跳转条件等方式优化用户体验和任务处理。多代理模式在丰富场景和精细化处理上展现出巨大潜力。
代理模式不仅可以拓展大模型的功能(比如给大模型加上网页搜索,加入知识库等),还可以规避大模型的弱点(比如需求是一段代码,但是大模型回复的内容不单单包含代码,还有一些解释语句)。而多代理模式又有什么作用呢?
首先看看单代理模式和多代理模式有什么区别:
在一个提示中包含多个任务的情况下,单代理模式会让一个机器人完成所有任务,而多代理模式则可以将任务分配给多个机器人去完成。
比如说我们设定一个机器人负责回答职场方面的问题,另一个机器人负责回答生活方面的问题,通过对用户输入问题的判定,系统就会将此问题分配给对应的机器人去处理。再比如,我们有两个大模型,一个擅长文本处理,一个擅长输出图片,这样两个模型就可以组合成多代理模式。
扣子智能体系统也悄悄上线了多代理模式,今天我们来体验一下。
设定两个角色,一个是诸葛亮,一个是庞统:
模拟一般的对话场景,用户对谁说话,就由谁来应答:
可以设想,这种设定就可以用于游戏里NPC身份的设定,进而增强用户体验。
我们再来一个比较实验性的设定,比如:
假设代理1用的是擅长处理文本的模型,而代理2用的是擅长调用插件的模型(由于模型准确率还达不到百分百,有时候它并不能正确地执行用户的命令,所以我们假设有针对这方面的专门训练以提高执行率)。
对于一般的请求,可以由代理1处理,而搜索的请求则可以由代理2执行:
一般的请求:
搜索的请求:
但是,在把请求从代理1传达到代理2进而获取结果这个流程,扣子还是存在一些缺陷,需要改进的:
它告诉用户它将调用另一个代理,并且显示它确实调用了代理2,但是没有返回正确的结果。
最后,全局跳转条件的场景:
“正在对话”这个标签显示了当前哪个代理具有处理问题的优先权,扣子允许用户设定在一轮会话后,优先级是停留在刚处理完问题的代理,还是回到开始结点连接的第一个代理。而全局跳转条件则可以在任何条件下,一旦识别到用户问题中包含设定的关键字,就会跳转到“全局跳转条件”对应的代理。
比如,要求用C#写一段代码,虽然此时代理1并没有连接代理2,也会自动跳转到代理2进行处理:
多代理模式可以使场景更丰富,并且可以对每个子任务做更精细化、更准确化的处理,未来可期。后面我们继续探索。。。
OK,就到这。
出自:https://mp.weixin.qq.com/s/5HIf0sJEz0lKPCIIDkU1dA
本文档由网友提供,仅限参考学习,如有不妥或产生版权问题,请联系我们及时删除。
客服请加微信:skillupvip