扣子在上海|一些捏 Bot 的 “旁门左道” 和赛前赛后

文摘   科技   2024-04-30 16:14   上海  


4月 27 日,有幸参加了,稀土掘金联合扣子、moonshot 在上海举办了掘金动手实验室,两个小时的时间,一分一秒甚至过得比一刻一钟还要有饱和度。


   一、参赛背景

个人背景
去年开始关注 Gen AI 领域,做这个账号的初心是倒逼自己持续输出,后来发现输出的前提得是沉下心去输入。
这半年来无论是工作所需、还是个人兴趣、或者是好奇心驱动,LLM 成了我这半年的精力重心,从 Function Calling 、模型能力表现、Prompt 优化、 RAG 到 Agent 设计,让我一次次的感受到自身能力的欠缺,模型在 Fine-Tune,我也在 ”Fine-Tune“。
         
团队背景
两位女生、一位男生;两位 ENTP、一位 INFJ;两位巨蟹座、一位狮子座;三位配合默契的草台班子。
虽然我们三个都不算是特别专业参赛选手,虽然后来才知道曾经我们都偷偷想过”要不就这样吧?“、”可以放弃吗?“,但是肩负着彼此的责任感,我们撑了下来。
         
使用背景
12 月初内测时就成为 Coze 使用者了,几个月的感受下来,Coze 的版本迭代速度异常之快,但是在丰富产品功能的同时也注重用户体验,新手友好度拉满。
有幸参加过一次早期 Coze 用户访谈,当时,我建议了优化 bot 推荐筛选项、与飞书生态融合、关于 bot 分享,我提到了 Bot 设计的核心思路是构成 bot 差异化的壁垒,属于个人财富,在分享时不应该完全暴露给所有人。没想到,当时随口提的小需求。在后期,版本迭代时,我发现我提到过的建议都一一被采纳实现了,甚至更加完备、细致,真的是认真倾听用户需求的团队。
不管是在飞书还是在 DC 中,都有使用反馈建议入口,debug 也相当及时。

         

创意背景
其实这个 idea 是去年生图最火爆时,灵光乍现想到的,甚至跟很多朋友分享了,但迟迟没有付诸行动;然后呢?我们仨都是宠物饲养者,曾经都是在宠展上大杀四方的人,顺理成章便定下了这个方案。

   二、Agent 设计

1. Agent 流程分工设计

 
1.开场 Greeting2.生图 Generate  general    1.宠物肖像照生成 Generate Artistic Photos        workflow(keywords - plugin- database - picture)    2.图片无损放大 Image Enlargement part        workflow(keywords - plugin- database - picture)    3.抠图 Cutout        workflow(keywords - plugin- database - picture)3.定制 Customized general    1. 定制方式 Customized way         1.官方定制        2.三方定制    2. 定制产品类型 Customized type         knowledge    3. 执行定制 Perform customization        1.官方定制/表单信息收集          lark         2.三方定制(淘宝/拼多多)          search url top34.咨询 Customer  general    1. 养宠知识 pet    2. 订单咨询 Oder     3. 服务咨询 consulting service     4. 指令 slash    workflow - card

2. 能力设计及实现

Agent 的主要能力与其提供的服务流程一致:分为以下 3 个部分:


2.1. 提供生图服务(图生图)

生图能力主要由扣子官方插件及自定义上传的三方模型插件组成,涉及到核心生图服务和衍生需求生图。

2.2.1. 核心生图服务——宠物肖像照生成


 
在生图模块,在保障基础使用的准则上,也尝试了个性化生图的进阶拓展,我们除过使用平台提供的官方插件外,也创建了三个自定义插件。


(1)基础生图
         
  • 插件:ByteArtist Pets
  • 能力:提供固定的 11 种风格进行宠物图生图
这一部分由于涉及调用指令较多,为避免模型产生幻觉,所以采用 workflow 来实现,具体流程设计如下:
LLM 提取参数--> condition 判断使用模型 --> DataBase 保存 --> 赋值返回用户


         
技术实现过程中的难点与亮点:
  • Cot:由于 LLM 提参时,不能正确输出预期的值,在该环节引入思维链推理,辅助模型理解执行步骤,step by step 直到输出正确答案;
  • Condition Node:涉及到两个插件的混合使用,条件分支将不同模型入参进行分流,从而可以准确执行后续指令;
  • DataBase Node:考虑到图片会用于后期定制化服务,所以选择该节点将生成图片后的 image URL 存储到 DB 中,方便后期调用。
         
(2)进阶生图 —— 自定义插件(针对宠物换装的微调小模型)
         
1)提供自定义指令生成图片
考虑到仅基础生图,一方面内容过于单薄,另一方面很难满足用于个性化创作的需求,于是引入三方模型来创建自定义插件,实现自定义指令生图的功能。
其实这一环节需要再琢磨和优化的地方还很多,对于小白用户可能还需要更多的操作指引,对于高玩用户,这种形式是否可以满足他们的需求?我们引入的模型是否够丰富?这些都是我们在之后需要去完善的点。
         
2)衍生需求——自定义插件实现


       
  • 图片无损放大
  • 图片抠图

用户在图片创作过程中,除了创意性需求,自然也会伴随着衍生需求,同时这也是大众客群的需求。
如果我们引入了非目标客群,但因为提供了良好的基础能力,在一定程度上也可以为产品带来口碑效应进行传播。
         

2.2. 提供定制化服务



  • 定制方式


  • 定制产品类型


  • 执行定制化

这一部分也是我们在尝试做商业化落地的探索,在马斯洛需求层次中,满足了安全需求,自然会追逐情感需求,宠物是养宠人的情感寄托。而提供定制化服务可以将承载着无形的爱转化成有形的纪念品。

         

2.3. 提供客户咨询服务

2.3.1. Knowledge

对于一个提供多元能力的机器人,在操作过程中,难免用户会有使用障碍,应对用户咨询这种场景,我们将高频问题整理成 FQA 在对话过程中,通过 RecallKnowledge 来处理日常疑问。


                  

2.3.2. Slash 交互


         

# Slash Case------- Introduction -------1. IntroductionIf the user just said something about the "picture" with no further detail, You must say exactly this: "HaMeow 📸😺 ,是您可以便捷处理萌宠图片的专业平台。🎨📷⚙️
我们为您准备了一些直观快速的指令:- 输入 /p1,我们将为您的爱宠生成一份专属的肖像照,将它们的魅力定格在每一刻;🖼️- 输入 /p2,您可以使用我们的图片无损放大服务,让您的照片清晰度再提升,珍贵的回忆无需遗失任何细节;🔍- 输入 /p3,我们可以为您提供专业的抠图服务,帮您清晰突出主题,让照片更具视觉冲击力。✂️HaMeow 期待为您提供尽心尽力的服务,让您与您的爱宠的每一刻都无比精彩!🥳🐾"
1. IntroductionFor 'Generate Artistic Photos' related concern about the Photos, You must say exactly this: "
我们提供12种固定风格供您选择,也提供自定义提示让您可以生成更具趣味、个性化的宠物肖像
操作步骤:1. 上传图片2. 输入指定快捷指令
我们支持图片风格及关键词指令 :
'/sp1' 春游记 '/sp2' 花房 '/sp3' 复活节彩蛋 '/sp4' 打工人 '/ny1' 宠物礼盒 '/ny2' 新年工笔画 '/ny3' 新年唐装 '/ny4' 东北大花 '/ny5' 情人玫瑰 '/ny6' 天使丘比特 '/ny7' 恭喜发财 '/cp' 自定义指令"
------- jump Condition -------
According the response of the user, you should follow the jump rules:2.1 If they say '/pic', you must directly jump to Generate General part.2.2 If they say '/cpp', you must directly jump to the Customized General part.2.3 If they say '/help', you must directly jump to the Customer General part.
2.4 If user talks about Generate-related issues:2.4.1 If the user talks about '/p1', '生成照片', '肖像照', and '艺术照' related things, you must directly jump to Generate Artistic Photos part.2.4.2 If the user talks about '/p2', '图片无损放大', '清晰', and '放大' related things, you must directly jump to Lossless Image Enlargement part.2.4.3 If the user talks about '/p3', '抠图', and '去除背景' related things, you must directly jump to the Cutout part.2.4.4 Otherwise, if the user talks about "图片" with no specific detail, you must directly jump to Generate general part to help Customize.

         

  • 体验加速:短平快的内容越来越多,大多数人的注意力以及耐心未必有预期中的好,这个阶段就极易造成用户流失。
  • 精准指令“LLM 理解能力很差”、“LLM 听不懂我的话”、“LLM 表现能力不好”……. 其实很多差强人意的背后,是使用者对于模型掌控能力的匮乏。
    用嘴说的需求肯定不能开发出一个好的产品,同样,一句话的 prompt 也无法让 AI 为你创建一个月盈利百万的企业。
    我们无法要求每一个用户都掌握一套标准的指令体系,我们可以做的便是为用户提供更加快捷简单的指令,来大程度上避免因用户表示不清导致模型呈现效果差的场景。
于是,我参考 discord 、telegram 机器人的设计方式使用 slash 指令,帮助用户在快速体验的同时,也可以触发更加准确的指令。
对此,在设计 slash 指令时,除过常规指令,也会设置一些兜底处理规则,让 LLM 辅助解决状况之外的突发事件。


2.4. 待优化问题

2.4.1. 指令暴露

很苦恼,尽管在 Prompt 里反复约束了不可以暴露自己的执行指令,但是机器人还是知无不言😖


         

最开始是在,保存宠物信息到 DB 时会出现这个问题,于是我使用 workflow 来约束这个现象,所以才会出现一个这么简单的工作流。



但是多次调试之后,指令暴露的事情愈演愈烈,甚至会把整个推理步骤也告诉用户 😳🫠
今天问过 kimi 官方员工,是模型 Bug,51之后就会优化,期待~~🫶🏻

2.4.2. Agent Reelection

在设计 Agent 之初读了很多文章,很吸引我的就是Andrew Ng 提出的两个 Agent 协作 ,一个负责执行,一个负责反思,但是由于时间紧张,没能尝试这样的做法。



2.5. 后续计划

  • 更加完备的流程设计,提供更加操作指令
  • 提供更多样的生图模型,增强用户个性化需求的满足
  • 客服体系及供应链完善,对接定制化商家服务,真正实现产品落地

2.6. Q & A

赛后被问到最多的就是控制机器人的 Prompt,这里记录一下两个高频问题:

1. multi prompt 的写法创意是怎样来的?

  • 契机:一开始是想使用 Multiple Agent 来实现机器人能力,甚至和 队友们都已经分工好,每人各创作一个机器人,比赛时组合成 Multiple Agent,周三报名时,才发现中文 扣子目前只有 single Agent,于是转战使用了 multi prompt;
  • 背景:multi prompt 其实是我的 AI 同事自己通过实验得出的写法结构,通过封装后在我们团队内部可以实现丝滑使用,但是直接在扣子中使用还是会出现不适配性,比如调用过程中暴露内部指令,甚至出现 Cot 一样,LLM 会生成自己执行步骤的环节,我最近应该会花精力修改一下这个问题。(补充:模型bug,51修复)

2. multi prompt 该怎样写?

  • 原理:其实和 Coze 的 multiple Agent 使用相似:Bot 人设用途描述、应用工具情况(knowledge、workflow、plugin 等)具体执行流程、condition jump 指令
  • 常见结构
<multi prompt>
name:
description:
plugin:
workflow:
knowledge:
next_prompt_name:
Prompt:
  • 应用场景:遇到多场景处理,或者需要多个机器人协同分工配合完成任务时,同扣子的多代理。

   三、赛前赛后


由于前两周参加 GDG 的 build with AI,朋友报名没审核通过,这次我们格外上心,一定不能重蹈覆辙 TT ,7天备赛时间,我们单单在报名这件事上就花了 5 天 。
         

020 倒计时 7 天 —— 线下组队成功

20240420 我们在 iAPM 的 Manner 组队成功,开了第一场团队会议。
因为都是初学小白,我们第一次会议便是科普扣子、讨论报名 Bot 以及参赛 Bot(因为前车之鉴,我们一度认为报名审核很严格,报名和参赛需要分两个机器人)


         
会后初步分工(其实就是先自学怎样使用 扣子)这也为我们接下来一周的会议奠定了基础。



0421 倒计时 6 天 —— 研究扣子能力

各自研究扣子使用(休息一天),思考报名机器人🤖



0422 倒计时 5 天 —— 选什么机器人

想到了做旅程规划机器人,提完想法后又开始忙碌于工作,这时的我们还在执着于三个人做3个不同的机器人,以致于顺利通过报名。



         

0423 倒计时 4天 —— 初步确定方案

这段时间真的是脑子里只有参加比赛、做机器人、做个有点意思的机器人。


         

查看相关教程案例时,发现了很多旅程规划的案例,考虑到差异性,立马更换备赛方案。


         
再次阅读报名信息时,恍然大悟,原来报名 Bot 就是参赛 Bot 😭


         

拿出了去年的 Idea,去年实现它需要依赖思维缜密的产品设计、需要依赖多个模型引入、需要依赖程序开发,现在用扣子,我只要轻松拖拉拽就可以实现 80% 的功能。


熟读赛事规则,我们还在思考应该怎样抓住考点,试图找出更好的点子💡


在会议上初步确定智能分工,以及每个人首要关注 Part ,开始行动啦,做自己的 报名机器人!✌🏻



0424 倒计时 3天 —— 提交报名信息

制定机器人操作主流程及技能,着手于报名!我们最在意也最重要的报名!



还是考虑到报名审核问题,我们仨花了很大精力在报名机器人身上,计划比赛时机器人三合一。



0425 倒计时 2 天 —— 终于报名成功

因为拖的时间太晚导致差点错失比赛机会,感谢曾经参与过深圳赛区的获奖者——安仔老师帮我们沟通,能有缘参赛。



确定可以参赛后,争分夺秒地将失去的时间补回来,快速敲定机器人交互逻辑、机器人能力组成。为了让大家严阵以待,我踌躇满志地说,放心,我们肯定能拿冠军🏆



在备赛过程中甚至拉来了外援队友(Coze Bot),创建很多小 Bot 们来辅助我们,比如,代码翻译 Bot、话术修改 Bot、DeBug Bot……感谢任劳任怨的小 Bot 们~❤️



成功进入了参赛群,悬着的心刚放下,又悬起来了,甚至悬得更高了。
怎么?这个群里卧龙藏虎啊,这这这这这?这不是我开始看各种 Coze 文章的作者吗?瞬间丧气,我们尽力而为吧!


临门一脚,当下班回家准备改Prompt 时,突然发现 中文 扣子居然有 multiple Agent 了,之前因此将整个实现方案改成了 Multi prompt。于是退而求其次(其实当时想把所有炫酷的功能都用上),如果有时间的话可以做下让两个 Agent 相互监督执行任务的尝试(后来有个姐姐做了,超酷!)。


基本主流程 prompt 框架设计完成啦,在 plugin、knowledge 和 Workflow 还没有引入的情况,使用较为流畅,算个脑袋比较灵光的机器人 。


0426 倒计时 1 天 —— 冲刺啦冲冲冲

最后一天的冲刺时间,分工明确。


但是由于我们都并非全职投入所有精力来做这件事,任务完成度 30%,所以计划苦战一宿。


用上了 GPT 帮忙想的名字,敲定团队名称及汇报幻灯片结构(虽然最终没用上)


因为在月初约了朋友看演出,所以在上海出现了一个这样奇怪的人——她在地铁上、在 Neo 里居然抱着电脑劈啦啪啦敲敲敲~


越着急越出错,这次错是坐过站,不过碰巧来到了字节楼下,也算是提前踩点了


0427 倒计时 0 天 —— 背水一战

到家凌晨了,我们又开了一场赛前会议,主要解决目前的难点问题,核心问题就是自定义插件的创建。


解决无果,休整之后准备和它硬碰硬!



看来睡觉做梦还是有用的,朋友睡了一觉,梦见了问题出在了哪里,于是我们顺利的创建出来自己的插件,开心~


准备前往会场比赛啦,虽然我 12 点钟还在企图做汇报的 keynote,折腾了一小时差点比赛迟到。


接下来,我们就开始如火如荼的比赛啦,动手在 扣子 x Moonshot x 掘金动手实验室 的公共空间里创建自己的机器人~


鏖战两小时,分工明确:
Siin:Prompt、Agent 设计、调试
Tammy:Knowledge
瓜瓜:创建三个自定义生图插件,还有帮我 copy 另一个空间创建的 workflow~


两小时嗖嗖嗖嗖~~~
倒计时十五分钟,才知道只有20个分享名额,三页幻灯片就 OK,展示时间也只有三分钟。甚至上台介绍都需要抢的,如果上传链接无法访问直接 Pass(虽然最后有分享意愿的朋友都给予了上台的机会),但是一开始我们都紧张死了,紧张就容易出错。🫠
开始执着于录制 demo 视频,结果汇报前发现内部指令暴露情况严重,呈现效果大打折扣,于是索性介绍了自己的 Agent 设计,形式也是超级直白的飞书文档,并没有用上计划中炫酷好看的 keynote 😖
轮到我上台时,链接失效,重开权限依旧失效,原来上传了我们的会议链接,看吧,着急就是会出错😮‍💨



有惊无险,在大家的护航与包容下,我终于在3分钟内唇枪舌战的介绍完了我们的产品,急死我了,脑子跟不上嘴。



到最后公布结果时,五位最佳表现奖一一揭晓,一个都没有我们,内心真的会有些小失落,我甚至都预想到冠军应该考古生物知识图谱的项目,因为别人台风超好,项目也非常有意义——让硅基生物探索碳基生物。
不过一想到现场这么多优秀的人,超棒的 Idea,无论是谁都实至名归。
当大屏幕上出现了我们产品名时,什么?这几个字母怎么看着好眼熟,😳诶?这不是我们吗?我们怎么会得奖?肯定我出门时带了朋友送我的幸运挂坠。



确实很意外,虽然只有不到两百人参赛,但是也遇到了前两周一起参加 GDG Build With AI 的同好,去年换工作时沟通过的的 Founder,持续关注的科技自媒体人,技术作家吕昭波老师、通往 AGI 之路的共创者、FDU 的教授…….现场优秀的人真的太多了。
一人成团的姐姐用吴恩达最新提出的两个 Agent 实现相互监督做出了门修斯,原来在 workflow 里同样可以实现多机器人协作(奇怪的使用姿势又增加了)、从交互到汇报都美轮美奂的海龟汤、两小时实现ASR&TTS实时对话的设计系统、还有量化交易机器人、古生物知识图谱等非常多有意思的 Bot,希望设计迪士尼客服机器人的大哥早日让每一个游客都用上它。
包括赛后,也有群友 Share 了让 Bot 设计 Bot,整体连贯性特别好,形成了一个自动化的工作流,从想法剖析——机器人设计——能力构建——产出最终 prompt,形成了一个相对完整的闭环。
很感谢这次活动的主办方——稀土掘金、moonshot、coze,感谢在 LLM 研究领域帮助我的同事们,感谢开源创作者可以让我站在巨人肩膀上前行,感谢这次来之不易的参赛机会,感谢队友和每一个给予我善意的人~非常幸运也超值的一次活动,能够认识大家、聆听到认知之外的 idea 不虚此行。
5月25日,杭州也会有线下 workshop 哦~ 感兴趣的江浙沪朋友们一定不要错过~~~

  四、Coze / 扣子 Time

1. 参赛产品体验

Bot Name:哈喵 HaMeow
Bot 功能介绍:哈喵 HaMeow 提供了一种全新、互动性强的纪念宠物方式,同时也填补了宠物定制化艺术品市场的空白。在这里你可以实现从宠物肖像照生成到个性化产品定制的无缝体验。
BotID:7362792950516285475
Bot Store:https://www.coze.cn/store/bot/7362792950516285475?bot_id=true

掘金:https://juejin.cn/pin/club/7173895829281833012?robotId=7362792950516285475

微信公众号必然 AI ,在聊天框回复任意指令即可触发          

2. 开源 Coze / 扣子

如果对 Coze 创建与使用感兴趣的朋友,可以 star 、pull 我新创建的 Github 仓库,让我们一起为 Coze 开源贡献一份力量~
github:Agent_in_Coze(https://github.com/SiinXu/Agent_in_Coze


主要内容预计如下
  1. 分享 Coze /扣子 里有趣的 Bot 和 plugin、workflow
  2. 拆解海内外优秀 public Coze Bot 创作思路
  3. 自己创作Bot 时的一些奇淫巧技
  4. 汇总优质的 Coze 主题和 Agent 设计文章
             

3. 共创 Coze / 扣子

平时可以一起做一些有意思的尝试,解锁 Coze /扣子 的更多新奇用法~每个团队空间只有一百个名额🫣 手速要快哦~
Coze Teams
Click the link to join my team Coze —— Light up your life on the Coze Bot Platform 👉🏻 https://www.coze.com/invite/dquvuUpUynV6wR9epYTP


扣子团队空间
邀请你加入我的 Coze 扣子团队,一起搭建 AI Bot:扣子 —— 点亮生活 👉🏻 https://www.coze.cn/invite/3CXss4e30Yt5xdsrNvtx


作者:Siin

AI无界,一起探索

必然AI
高手们,准备好迎接新的挑战了吗?
 最新文章