“扣子”开发之一:“扣子”初体验

从爆火的AI聊天apps中发现豆包,从认识豆包了解到火山引擎,从探索火山引擎又接触到“扣子”,从熟悉“扣子”到进入AI应用开发,一路就这么走来了。

什么是“扣子”呢?

“扣子”的英文名叫Coze,这个名字大概同时匹配了其中英文的发音,也同时契合了扣子的目标功能定位。
扣子是新一代 AI 应用开发平台。它是字节跳动公司基于火山引擎(也就是字节跳动提供互联网云服务的平台)和豆包大模型而推出的,供用户定制开发各种AI应用的平台。核心特征:
第一、扣子是个开发平台;
第二、用扣子开发的是AI应用,包括智能体和功能更为全面的AI应用。

什么是智能体?

简单理解就是电脑虚拟人。由于有了AI大语言模型,电脑可以学习到至今所有的人类知识,能够理解普通人的话(自然语言),然后根据它学习到的知识与人对话,回答普通人的任何问题,包括普通常识和专业知识,攘括一切已知的能公开搜集到的人类知识。正是因为能够与人通话,又具有所有的人类知识,所以电脑就变成了一个虚拟的人!
这个虚拟人比普通的真人强大得多。它并不仅仅是一个电脑程序,它背后是全世界最先进的机器学习算法和计算能力,像字节跳动、阿里、百度,以及国外的OpenAI、Google、Tesla等,都是全球最顶尖的大公司,花了巨额的资金,建设了最先进的AI云计算中心,搜集了互联网至今所有的人类知识,才训练出了各种大语言模型,并提供了大语言模型的服务平台,开发了各种AI聊天apps,包括ChatGPT和豆包。普通人见到的聊天apps就是智能体的典型。

为什么要开发智能体?

既然有这么多聊天apps,为什么还要开发其他的智能体呢?顶尖AI公司开发的聊天apps是通用于所有人的,但现实社会存在着各行各业,有千千万万的公司,更有亿万人民的丰富多彩彼此不同的生活。人们工作和生活的各个不同方面,都有特殊的更贴合这些方面的事务内容和形式,千千万万的人也有不同的风格,它们需要更专注于某个特定方面的工具,需要有不同的服务呈现方式,换句话说就是,人们需要形式更为丰富的定制的虚拟人。

为什么叫“扣子”?

本质上,虚拟人都是基于大语言模型开发的,大语言模型虽然有很多种,但主流的总归也就那么几种。虚拟人的工作模式都是背靠大语言模型,区别只是选择不同的模型,专注于特定的方面,用不同的语气风格说话,亦或者,用图片或3D动画呈现出一个人的形象来,可以修饰发型,穿上虚拟的衣服,做些虚拟的动作。。。等等,总之就是装扮出一个人的形象。不管是可见的虚拟人形象,还是不可见的程序给你回答文字、语音、图片等内容,开发智能体的本质都是对大语言模型进行包装、打扮,就像是给一个人穿衣服,扣扣子,于是“扣子”这个名字就应运而生了。
英文名“Coze”首先是对中文名发音的模拟,其次它也是从code这个词变形而来,code可作名词表示代码,也可作动词表示编码,代表编程,代表开发,确实就很贴合“扣子”作为AI应用开发平台的功能定位。
这一段纯属我个人的揣测,官方并未明确解释。不过这么理解,应该更能把握扣子的功能定位,有利于后续理解和发挥扣子的各种操作方法。

智能体与AI应用的区别

智能体就是虚拟人,它的表现形式主要是听话(接受输入,包括文字、语音、图片等),理解(利用大语言模型进行推理),和说话(输出,根据人的要求输出文字、语音、图片等,甚至包括视频)。比说话进一步的是,虚拟人可以在电脑系统内(包括电脑、平板、手机等)执行搜索、播放音乐、视频,设置闹钟等等这些“电脑能做的事情”,目前主要就是这些。如果再进一步,AI很快会跟物联网结合,比如在家里自动帮你开关灯,开关窗帘,让家门口的摄像头自动守护和报警,让洗衣机自动洗衣服烘干等等,现在可能有些电器已经能分别做到这些,以后都跟家里的AI管家联动起来,就真的有了“智能管家”,这些都还在发展中,应该会很快了。
总之,扣子平台上的智能体开发,就是这种以“听话、理解、说话”为主要特点的简单AI应用。开发这类应用非常简单,甚至根本不需要写代码,你直接跟平台“说”就可以了,告诉它怎么设置,需要哪些组件,有哪些要求,选什么风格等等,普通人就能做得到,对信息技术有点了解的人操作起来就更轻松。
除了简单的以AI对话模式为主的智能体开发外,前面已经提到,社会上还有各行各业,有千千万万的公司,它们都有各自的业务。在AI时代,这些业务都需要进行AI赋能,进行流程再造。而这些流程比简单的说话肯定复杂得多,它们的输入内容有不同形式和规模,比如大型的数据库,特殊行业的巨量音视频库等;它们的处理流程可能涉及多个环节多种不同身份的人,它们的输出也可能有更复杂的内容、形式和规模等等,总之它们需要更复杂的应用。扣子平台也对开发这类复杂应用进行了支持,这类应用就是真正的,或者说一般意义上的AI应用了。

用扣子开发第一个智能体

接下来我就开始动手了,尝试开发第一个智能体,以获得直观体验。
首先参照 官方指南 https://www.coze.cn/docs/guides/welcome 进行基本操作,创建了智能体后的界面如下:
在这里插入图片描述
界面分为三个栏目,左边栏是“人设与回复逻辑”的编排栏,中间栏是“技能”设计——各种工具调用,右边栏是"预览与调试”。
默认的编排模式是“单Agent”,Agent是什么意思?不清楚,但是官方指南中有这么一句话:"智能体默认采用单 Agent 模式,即通过一个智能体独立完成所有任务。当需要搭建更复杂、功能更全面的智能体时,可选择多 Agent 模式。你可以为不同的 Agent 配置不同的提示,将复杂的任务分解为一组更简单的任务,而不是在一个智能体的提示中设置所有的判断条件和使用限制。”如果简单理解的话,应该就相当于单任务系统与多任务系统的区别,或者说,是一个虚拟人为你服务,还是多个虚拟人同时为你服务。具体先不管它了,体验下再说。
在这里插入图片描述
“人设与回复逻辑”下方有个小箭头,点击它后会拉伸出提示标签,这里有很多选项栏(称为“模板”),可以左右移动看到更多的类型提示,鼠标悬浮在某个类型标签上会弹出具体的解释和一个命令按钮“插入提示词”,点击它,就会出现类似注释的提示:
在这里插入图片描述
官方指南中有个“夸夸机器人”的例子可供参考。填写完这些提示后,可以点击“优化”按钮,让大模型帮你优化刚填写的提示词。官方“建议在人设与回复逻辑中指定模型的角色、设计回复的语言风格、限制模型的回答范围,让对话更符合用户预期。” 我的理解,这个“人设与回复逻辑”的定义实际上就是跟大模型交互时输入给大模型的提示词(prompt),给大模型细化了问题描述,明确了生成回答时的具体要求,实际就是对提示词的包装,是附加在真正的“用户输入”前面的一般性要求,每轮对话的输入信息中都包括了这部分提示。

第一次测试

完成人设和回复逻辑的设定之后,就算是定制了一个智能体了,就这么简单。马上在右侧的“预览与调试”栏的下方提问,试试效果。下面就是我定制的第一个智能体的第一次测试:
在这里插入图片描述
果然,结果印证了我的理解和推测,就是附加了提示词,给了大模型更明确的指示。
简单扼要做到了,5条建议做到了,其他几条要求暂时还未体现出来,可能跟问题的内容有关系吧。
但是有个问题很明显,每次回答都是5条建议,直愣愣的来5条,这个感觉不爽。所以我就修改了下,在输出格式中加入了“首先要对我的提问要有礼貌的回应,然后给出三到五条建议”的要求,再试:
在这里插入图片描述
好像并没有产生效果啊,怎么改才行呢? 调整了下输出格式要求中的语句顺序,再试:
在这里插入图片描述
问题的关键核心是抓住了,顺序做了调整,但礼貌性回应还是没有啊,尝试着再调整下人设:
在这里插入图片描述
还是不理想,再来调整输出格式要求,再试:
在这里插入图片描述
无效啊?有点困扰了,这不是我跟豆包对话时的那种印象啊!怎么才能做得到呢?来试试“优化”?
在这里插入图片描述
哦,不对,不是直接点击右上角的“优化"按钮,而是要先选中提示语,然后再点击浮动出来的这个“优化”按钮:
在这里插入图片描述
给出的优化建议是这样的:它在输出格式得要求种加了一句“并且可以适当加入一些幽默元素”,其他基本没变,这就是“优化”!
在这里插入图片描述
点击“替换”按钮,替换提示词,然后再试,但结果还是不理想,没有明显变化。而且还有个问题,如果在优化弹窗中连续地对话,它会失掉目标,脱离了前面的提示词这个中心,变成了纯粹的一问一答,信马由缰了,看来功能还不成熟啊!
我准备放弃,做个结论:“人设和回复逻辑”采用自然语言定义,仅仅只是补充提示词,并不容易达到预期目的;而且“优化”功能也不成熟,效果不好!

关于技能

1)可以在中间的“技能”栏下找到想要的技能来扩展智能体的能力,有很多其他人预定义的插件可以调用,还可以自定义插件,如果做得好,也可以将自定义插件分享给其他人使用。
2)知识库和记忆功能都很有用,知识库相当于提供自己定义数据或文件规范,让智能体从其中选择然后形成回答,是一种范围约束,用大语言模型的术语来讲,这就叫“精调”,用专业知识训练大模型;记忆功能就是把对话过程中的重要信息记录到存储系统中,后面可以查询。
3)角色语音选择很有趣,可以选跟角色定位贴近的语音,选择很多,可以先试听,然后选择自己喜欢的就行;
4)对话体验里面的开场白、用户问题建议、背景图片等都是辅助性的细节,根据需要选择。
上面4条中,我觉得硬核的“技能”是前两条吧,也就是插件、知识库、记忆这三种技能是真正很有用的,第三条语音选择好玩,第四条是辅助补充。

“技能”要用起来,也需要在提示词中进行明确,增加一组关于技能的说明。
但是我设定好技能的提示语后,尝试着问答,经过多轮并未得到满意的答复,也未见技能被调用,是哪里出了问题呢? 有没有客服支持啊,我这种探索很费时,关键是根据官网指南并不能立竿见影啊!
在这里插入图片描述
原来在每个页面的右下角有个助手图标,只露了半个头,不容易发现:
在这里插入图片描述
点击它,弹出一个助手页面,也是问答形式,它就是个智能体,下面是求助过程:
在这里插入图片描述在这里插入图片描述在这里插入图片描述
这就无解了啊,它根本不看我的现场,只通过语言沟通哪里说得清楚?!
官方指南上还提供了另外两种帮助途径,一个是加入交流群,一个是发邮件:

如果扣子助手不能解决你的问题,你可以加入交流群,在社区中和其他开发者展开讨论;也可以发送邮件至feedback@coze.cn,反馈你的问题,扣子团队会尽快回复你。

好吧,都试试!
交流群是个微信群(编号177了,看来有很多群),我加入的时候里面有147个人(确定里面有权威回答吗?) 管它三七二十一,先问一把再说,邮件也同时发了。

但是过了很久答复还没来,我自己继续试吧!鉴于后面几个回答它都是在设置定时安排,为什么会这样呢?观察了下,刚才选插件时,顺便把“允许用户在对话中创建定时任务”选项勾选了,去掉了这个选项,回答就改善多了,也调用了抖音的插件:
在这里插入图片描述
这次回答好多了。没搞懂,就算我勾选了“允许用户在对话中创建定时任务”选项,也不能每次答复都只设定时器吧?!

关于调试

打开右侧预览与调试栏上的“调试”按钮(小扳手图标),可以打开“调试详情”页面:
在这里插入图片描述
默认是显示最后一轮问答的调试信息,我们可以把鼠标放在每一轮的回答上面,本轮回答信息下面就会出现几个功能按钮,包括“调试”,点击这个调式按钮,就会显示本轮问答的调试信息,这个就很好用了,赞一个!
在“调用树”这张图上,可以选择具体的某一个步骤,点击,下面就会出现该步骤的详细调用数据,包括了输入输出的详细参数和时间信息:
在这里插入图片描述
好用,这个必须夸!通过对调试信息解读,可以进一步明确地总结:
1)智能体的开发主要是通过为大模型定制输入提示词,然后调用大模型来实现;
2)在调用大模型之外,还可以扩展很多的API接口,调用外部功能,称为插件,插件大大扩展了智能体的能力;
3)从调用树来看,首先是调用豆包大模型;然后调用扩展插件,根据定制的情况,以我的测试用例来说,依次调用了头条新闻、抖音视频,以及数据库读写接口;最后扣子平台自己又把前面的多轮问答内容组成一个提示词,自己又问了豆包大模型一个建议型问题;为什么是这样的四轮调用?暂时还没搞明白,有待继续研究;
4)在调用豆包大模型时,消息体中携带了对话上下文中多轮的问答内容,其中最开始的部分就是我们在编排栏中输入的提示词,这也就证实了我开头的猜测:所谓的“人设与回复逻辑”其实就是每一轮对话都要携带的提示词的第一个部分,它对大模型进行提示和限定,从而让大模型的回答更贴近我们的设计目的——也就是人设,这就是智能体设计的本质。而技能部分则是通过插件来外扩的功能,它丰富了智能体的能力表现。

以上就是我对在扣子平台开发智能体的初体验。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值