Cozer进阶:彻底搞懂,为什么扣子工作流不工作?

最近在智能体学习交流群里回复了一些小伙伴的问题。

发现其中有一个共性问题不少人没有搞得很清楚:就是在Coze Bot里,工作流到底是基于什么被调用的?

有小伙伴发现,即使在人设提示词里明确指明了什么时候应该调用工作流,但它就是不执行

这个问题其实是一个比较关键的基础问题,所谓基础不牢,地动山摇。咱们学知识要知其然,更要知其所以然,才能为更高阶的功能做好准备。

程哥今天就专门来给大家解释清楚这个原理。

首先看个例子:

在这个例子里,我在人设提示词里什么都没写,是空的。

技能里只有一个工作流test1,工作流非常简单,就是输出“你输入的是一”

在预览的时候,我输入“一”,它就会执行工作流并输出“你输入的是一”

是不是挺神奇?连人设回复逻辑都不需要,就可以正常工作。

如下:

图片

关键就在我的那个工作流描述里:如果用户输入“一”,则执行这个工作流

现在程哥就把Bot调用工作流的原理详细说明一下,这样大家就能理解为什么工作流会被调用了。

首先,Coze Bot默认使用的是豆包 · Function call模型,字面意思也就是函数调用模型。

看这个图:

图片

函数调用模型的意思也就是,大模型会根据用户的输入去判断是否调用某个函数,而工作流就是某个函数。判断的依据就是函数(工作流)的描述。当我输入“一”的时候,大模型就会根据工作流的描述自动匹配到它。

为了更清楚的了解具体原理,我们再来看一下调试区的调用树图。

它完整展示了整个Bot的执行过程,首先从用户输入开始 -> 再到Function call模型 -> 再调用工作流 -> 最后到工作流结束

图片

接下来我们向下滑动来看一下Function call模型的细节

首先看下大模型的输入部分:

图片

解释一下:

"model":"豆包·Function call模型:这个是Function call模型的完整结构

tools:这个是Function call模型中的tools结构,可以看作是大模型的工具箱,里面放的就是在Bot里添加的各种技能,包括插件,工作流等

function:这个是tools工具箱里的第一个技能,也就是我添加的工作流test1,它是一个function(函数)

description:这个是就是工作流test1的描述,大模型会根据这个描述来决定是否调用这个工具

name:这个是工作流test1在系统里的真实名字

type:将这个工具定义为一个函数类型

最后再看下大模型的执行结果:其实就是对工作流test1执行了一次函数调用

图片

可以看出工作流在大模型的结构里就是个函数,是否调用这个函数就看用户输入的要求是否和函数的描述匹配。

所以对一个工作流的正确描述是非常非常重要的,要避免有时候工作流不被正常调用,就一定要给它一个正确的描述。

好了,掌握了以上知识以后,你应该能更好的理解大模型在Coze Bot里的运行原理,可以更从容的管理Bot输出结果的预期了。

不知道程哥讲清楚了没有,觉得还有疑问的小伙伴欢迎给我留言~

今天就这,欢迎关注程哥,和我一起玩AI

更多精彩专栏

-> AI智能体学习&实战

-> 私域AI机器人

-> 自媒体AIP打造

-> AI应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程哥聊AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值