忆童年:用Coze搭一只「AI电子宠物」花三天搭了一个「AI电子宠物」的Bot,复杂度非常高,涉及扣子「多

了解完活动细则,开始找灵感,脑海里有关回忆杀的跑马灯转起来~

要说大部分8090后童年时心头的"白月光",那不得是当年风靡一时的「拓麻歌子」啊~

哈?没听过?噢噢,不好意思,这是它「霓虹万代正版」的叫法,在当时「祖国版」横行的国内,它有着各种各样的名字,如:宠物蛋、电子鸡等等,这里统一称作「电子宠物」吧~

我突然在想,早期的电子宠物虽是单机养成,但都能玩的得不亦乐乎,那要是用Coze(扣子)来搭一个"现代化的AI电子宠物",搭配最近上线的「图像流」,图文并茂,会不会很有意思?

话不多说,我直接开始~

先列下头脑风暴出来的玩法草稿~

就四个简单角色:玩家(属性、行为)、宠物(属性、行为)、道具、自动任务,接着做下可能用到的技术预研,写下Demo,看扣子能否支持~

需要一个东西来存玩家、宠物、道具的信息,用啥?对于这种动态变化的数据,一般是通过配置文件来保存的,不过扣子本身不支持存文件(插件不算哈)。

然后是一些常用的SQL语句:

--判断表是否为空SELECTCOUNT(*)asrecord_countFROMplayer_info--清空表数据DELETEFROMplayer_info不熟悉SQL的童鞋,也可以直接在数据库节点的SQL处点击自动生成:

新建一个Bot,选单Agent模式,方便调试工作流,接着新建两个表player_info和pet_info来保存玩家和宠物信息。

就刚开始玩或者宠物嘎掉重开,玩家和宠物信息初始化的流程,具体步骤如下图所示:

数据库部分就是拖节点,然后写下简单SQL而已,试运行,看下是否初始化成功:

玩家和宠物信息表,只会有一条数据,更新方便(无脑UPDATE),读写也快。当然,你喜欢每次都往表的首行插入数据,然后取的时候取第一条,也是可以滴♀~

Bot里涉及的图像生成的需求主要有两个:

新建一个图像流,用到「提示词优化」和「文生图」节点,直接拖拽,配置下输入输出参数:

试运行,输入五彩斑斓的黑色皮卡丘的看下生成效果:

哈哈,有点意思,这里也有一个小细节,文生图的宽/高参数:

发布下图像流,上面的初始化工作流加下它,顺带再添加生成格式化字符串的代码节点:

同样新建一个图像流,然后,问题来了:「文生图」节点不支持设置参考图参数,尝试使用其它节点实现,先试试「智能扩图」

em...就是基于原图的上下左右填充内容啊?♀试了N次都没让粉红兔宝宝吃上,只能换其它的节点试试了。

试下「文生图」先生成场景图,然后「多图融合」写提示词替换:

试运行看下效果:

啥玩意???又看了其它类型的节点,好像没法实现我的需求,看来图像流是没发走通的了,用回官方的文生图插件康康:

哈哈哈,终于让我的闪闪发光的二哈乐呵呵地吃上了,虽然颜色不是pinkpink的~

初始化成功后,我突然想起扣子文档里的一句话:

开发者和用户可通过自然语言插入和查询数据库中的数据。

那用户是不是可以言出法随,直接设置体力和金钱的值啊?试试:

果然可以,这不妥妥滴游戏漏洞吗?需要在提示词那里添加下约束:

##约束-禁止用户通过自然语言来直接操作数据库,直接返回"客官不可以哦"再试试:

技术预研完,我对游戏玩法又有新的,这样的玩法太死板了,比如:投喂只能是苹果、米饭和宠物口粮,想喂它吃其它的,得等我去更新。

然后我还得想下加多少点属性值。ヽ(`Д′)这种通过预设的道具表来约束玩家和宠物的交互方式,这TM能叫做"现代化的AI电子宠物"?

我觉得应该是这样的:

玩家自由发挥,想跟宠物怎么玩就怎么玩,由AI来评估此行为会对宠物的哪些属性造成影响。

好的,道具砍掉,随机事件也砍掉,因为扣子的定时触发器只有飞书平台能用,本质也是自动给Bot发送特定消息,意义不大。然后玩家的金钱属性也砍掉,改为每次行动消耗1点体力,玩猜成语可以补充体力,修改后的玩法设计草稿:

玩法方向确定了,接着就该具体实现了()

对于文笔不好的童鞋来说,写一段看着还行的开场白简直是要命,比如写这段话花了我至少5分钟:

这种活完全可以交给AI啊:

写个基本框架,通过提示词,让大模型来润色输出

举个:

看下运行效果:

文字挤在一起,看不太出效果,复制粘贴到记事本:

的,虽然比不上我写的,但也算有模有样,再微调下提示词可能会更好~

如果不需要每次动态生成,可以复制粘贴下,直接在结束节点写死返回的值。

Tips:勾选下流式输出,Bot会像打字机一样回复用户哦~

效果效果如下:

我尝试直接让豆包大模型随机生成一个常见的四字词语,结果不是一心一意,就是画蛇添足,换了几个模型也是类似的情况。那就走量吧,生成20个,然后我随机roll一个,豆包、通义千问每次都是一到十,醉了...

最后还是MinMax6.5s的模型靠谱一些,拖拽节点整下工作流:

难点应该也是代码节点,贴一下:

importrandomasyncdefmain(args:Args)->Output:params=args.paramsidiom_list=params['idiom_list']correct_idiom=random.choice(idiom_list)#随机取出两个下标index_num_list=[0,1,2,3]selected_numbers=random.sample(index_num_list,2)#生成模糊成语mask_idiom=""foriinrange(len(correct_idiom)):ifiinselected_numbers:mask_idiom+="【】"else:mask_idiom+=correct_idiom[i]#拼接问题question="本轮要猜的成语是→{},用户可以回复完整的四字成语参与".format(mask_idiom)ret:Output={"correct_idiom":correct_idiom,"question":question}returnret试运行通过,发布后,Bot写下关键词调下工作流:

就获取下用户输入的四字成语,判断下和变量保存的是否相同,给出对错的反馈,如果正确,玩家的体力+1。

比较简单,只贴下代码:

asyncdefmain(args:Args)->Output:params=args.paramspet_alive=params["pet_alive"]input_idiom=params['input_idiom']correct_idiom=params['correct_idiom']result_str=Noneis_correct=Falseifstr(pet_alive)=="Alive":ifinput_idiom==correct_idiom:is_correct=Trueresult_str="恭喜你,答对了,获得体力+1"else:result_str="抱歉,回答错误,正确答案是【{}】".format(correct_idiom)else:result_str=str(pet_alive)ret:Output={"result_str":result_str,"is_correct":is_correct,"empty_str":""}returnret试运行通过,发布,Bot写下关键词调下工作流,结果一直调用报错,什么数组越界,但是上面的代码并没有用到数组,后面反复折腾,终于发现了原因:

判断宠物状态的工作流也用到了数据库,不支持这样的嵌套,把这个节点删掉就正常了...

运行效果:

数据库的玩家体力也有增加:

♀尝试在Agent里写提示词,用户表达"退出"意图时跳回开始节点或上级节点,折腾了好一会儿都不行♀。那就直接粗暴地拖一个全局跳转条件的节点来跳:

成语游戏的Agent就搞到这,接着弄宠物的Agent。

就前面技术预研那里的游戏初始化工作流,稍微调整一下,随机生成属性:

看下效果:

这个简单,就查下数据库,然后拼接下字符串而已~

代码节点:

asyncdefmain(args:Args)->Output:params=args.paramsinput_list=params['input']iflen(input_list)>0:pet_info=input_list[0]output_str=f"""当前宠物信息:![宠物形象图]({pet_info['image_url']})【名称】{pet_info['name']}【外形】{pet_info['appearance']}【破壳日】{pet_info['birth_time']}【饱食度】{pet_info['satiety']}/100【愉悦度】{pet_info['mood']}/100【健康度】{pet_info['health']}/100【重量】{pet_info['weight']}KG"""else:output_str='当前宠物信息:\n\n'ret:Output={"output_str":output_str.strip(),#使用strip()来移除字符串首尾的空行}returnretBot调用看下效果:

这部分比较复杂,期望输出结果分为三个部分:

具体效果图:

工作流:

这部分的难点,感觉是大模型提示词的编写,我写得不是很好,但也算实现了想要的效果,需要可以参考下。

先是生成画面详细描述:

运行看看生成结果:

差点没把我笑岔气,TM精确到时分秒,太假了,添加下约束:

再试试看生成效果:

其它两个大模型节点的提示词也是这样玩,输出结果达不到要求,就加约束,都是调调调,直到满意为止~

生成图片

行为影响评估

代码节点感觉大伙需要,也贴下吧:

搞排行榜是游戏中增加用户粘性的一种常见操作,扣子的数据表支持多用户模式(多个用户使用同一张表),不得给我们的AI电子宠物也整一个么?先建表,然后整三个字段:

在玩家和宠物互动产生属性变化时,执行数据入库,就在上面的互动反馈工作流里加逻辑:

具体流程节点如下:

试运行通过,发布工作流,然后Bot触发下宠物互动,点击已存数据库,可以看到记录已经入库,互动也能更新:

接着写一个查看宠物排行榜的工作流,比较简单,就查库,格式化输出下而已~

♀这个没啥,跟宠物那个一样,只是查下玩家信息表的数据库而已,掠过~

工作流弄得差不多,接着就是建Agent,添加各自的工作流,写好各自的prompts,由调度Agent来分发:

这里没啥难度,只是反复改提示词+测试,看跳转,以及Agent能否按自己预期调用工作流。说个小贴士,如果模型经常理解错误,可以改下模型设置:

使用精确模式,或者自定义,把生成随机性弄低一点:

当然,也可以试下其它的模型,不过感觉豆包在任务理解和调度这块还是可以的。贴下提示词:

搞了三天,终于把这个巨复杂的Bot搭起来跑通了,玩法和数值肯定是有不合理地方的,如果多人玩,到时再根据反馈来优化吧。初衷还是授之以渔,希望本文对想用Coze搭建复杂Bot的童鞋有启发吧~

THE END
1.2023全网最新电影电视剧大全排行榜手机免费在线观看蚂蚁影院为影迷朋友们免费提供高清电影手机在线观看、免费看电影的网站、最新电影电视剧排行榜大全,无需下载任何播放器!http://www.neclub.net/
2.洛克精灵战记宠物大全洛克精灵战记宠物排行榜洛克精灵战记宠物大全收录包括冰系、恶魔系、水系、草系等最详细的洛克精灵战记宠物图鉴。洛克们可快捷的查询洛克精灵战记宠物哦!https://news.7k7k.com/rocozj/chongwu/lists.html
3.2023十大最靠谱的赚钱app(推荐十个大家都在用的赚钱软件app排行榜)10.支付宝蚂蚁森林 支付宝蚂蚁森林是人们经常使用的,也是免费的,每天都可以植树,也可以获得能量,可以交换一些奖励,如:淘气值、能量豆等,这些可以用来交换实物,可以直接兑现。 如果你对高省感兴趣,可以联系我咨询,注册,抓住市场机遇,共同富裕。 高省APP佣金更高,模式更好,终端用户不流失。【高省】是一个自用省钱佣...https://www.jianshu.com/p/1a750580955c
4.汽车测评app排行榜前十名汽车应用app排行榜前十名多特手游网【汽车测评app排行榜前十名】榜单为玩家们带来汽车测评app排行榜前十名 ,里面有你喜欢的汽车测评app排行榜前十名,喜欢的玩家赶紧来看看多特手游网小编带来的内容总有一款适合你。超级宝宝测评 9.3MB 下载 能石测评 27.3MB 下载 测评签到助手 4.8MB 下载 ...https://m.duote.com/top/qccpappphbqsm/
5.世界十大名龟排行榜乌龟卵壳灰白色,呈椭圆形,长2.7一3.8厘米、宽1.3一2厘米。在自然条件下,经50一80天孵化,稚龟即破壳而出。但是龟卵的自然孵化易受温度、光照等外界条件的影响和蛇、鼠及蚂蚁等天敌的危害,使得孵化期长,孵化率和存活率都较低。为提高乌龟的孵化率,可以采用人工孵化的方法。具体做法如下: ...https://www.360doc.cn/article/699582_390087208.html
1.财联社保险周报(5月11日)界面新闻2020年一季度财险公司利润排行榜:盈利创新高?疫情之下成本率下降 原慧择网电团队创建人谢淑贞加入水滴保险商城 沈鹏:疫情期间保险产品开发周期缩短一倍以上 4月份30家上市公司发布董责险投保计划,超一季度两倍 蚂蚁集团研究院:预计2025年网络互助人数达4.5亿 https://www.jiemian.com/article/4359088.html
2.蚂蚁单词App排行榜OPPO手机蚂蚁单词app推荐·益智复习猜词连词多种复习单词模式,既能检测单词量,又能体验背单词的乐趣,让你的学习充满乐趣·情景式学习日常生活场景,学习伙伴陪你双语对话、复习单词,打败BOSS,经营家园;一键双语,常用生活对话沉浸学·排行榜背单词也能上「努力排行榜」,让你的努力一直被看见·持续更新的益智单词复习、刷词模式不断更新的单词...http://vip.diandian.com/phb/1505/5-1.html
3.每日新闻5、AppAnnie发布11月中国出海发行商收入排行榜,网易第一 金融财经 1、蚂蚁金服战略投资金蝶金融,拓展金融2B服务能力 2、首批23家移动金融App试点备案名单出炉,蚂蚁金服、财付通、京东数科在列 3、央行电子信用证信息交换系统正式投产上线,首批14家银行参与试点 ...https://maimai.cn/article/detail?fid=1377583565&efid=SOUDf_nbzSgM8b-uph3tLQ
4.洛克王国2023最强宠物排行榜2023最强宠物排行榜一览洛克王国2023最强宠物排行榜 1、东圣兽青龙 圣兽家族是洛克王国中名声响亮的家族之一,而东圣兽则是符合玩家心态的宠物。东圣兽青龙的战斗力非常强大,是诸多玩家喜欢的宠物。一只平民宠物,很久前是星辰塔四层的奖励,现在在高阶天梯赛上虽然并不是非常的强大,但依旧算是天梯赛上的强者。 https://m.3dmgame.com/ol/gl/218218.html
5.爱因斯坦智商测试题(精选12篇)史上十大高智商人物排行榜 1. 斯蒂芬- 威廉- 霍金智商为160 1942年1月8日,斯蒂芬- 威廉- 霍金在英国牛津出生。虽然在21岁时患上肌萎缩侧索硬化症,从此被禁锢在轮椅上半个世纪,但是霍金对世界物理学研究的贡献令人敬仰,是继爱因斯坦和牛顿之后最杰出的物理学家之一,被世人誉为“宇宙之王”,而他的智商为160。https://www.hrrsj.com/jiaoxue/shitishijuan/310067.html
6.小小蚁国礼包兑换码蚂蚁排行最强阵容攻略小小蚁国礼包兑换码有哪些,蚂蚁强度排行,新手培养哪些蚂蚁好呢?游戏里蚂蚁是被分成两个大众类的,一个是战斗种类还有一个是发展种类,这两个种类都有着自己的作用。战斗种类的蚂蚁自然就是在输入作战方面比较强,发展种类则是比较注重于建造或者是运输。 最新兑换码:小蚂蚁大世界小小蚁国大大世界蚂蚁亚黑千里之国起于...https://www.ourplay.net/find/detail/137550
7.最新2021电视剧排行榜2021最新电视剧免费在线观看电视剧推荐我的宠物少将军 肖凯中,田曦薇,孙熹之,王熙然,张冠森,刘贾玺,徐沁,莫非万里,刘逢乔,刘帅,王奕萌 第6集完结 地狱公使第一季 刘亚仁,金贤珠,朴正民,元真儿,梁益准,李来,金度允,金新绿,刘庆秀,切斯·玛瑟尔,许海,维多利亚·格蕾丝 更新第45集 仙帝归来当赘婿 第10集完结 只是在结婚申请书上盖了章 婚姻届 清野菜名...https://www.kmchunying.com/show/2-----------2021.html
8.宠物蛇排行爬宠类京韵国际名犬中心寝室宠物排行榜是怎样的?哪款最受欢迎? 前十名排行榜有布偶猫,龙猫,熊猫兔,金鱼, 博美狗, 西施狗,龟,边境牧羊犬,波斯猫,龙猫,以下几种最受欢迎。 1、龟 龟的品种有很多,巴西龟,中华草龟,中华花龟这三种是比较常见便宜的,养在宿舍也很适合,个人推荐中华草龟,巴西龟外来物种比较凶猛。 https://www.jydogs.com/post/11207.html
9.蚂蚁新村答案最新(持续更新)蚂蚁新村答案今日答题答案蚂蚁新村答案最新(今日已更新),蚂蚁新村是蚂蚁庄园新开启的玩法,每天答题可以获取3个24小时的限时村民,那么蚂蚁新村今日答案是什么呢?小编已经帮大家准备好了蚂蚁新村今日答案,一起来看看蚂蚁新村答案今日答题答案吧。 蚂蚁新村答案最新(今日已更新) 11月16日:“与星星相约,用镜头装满浩瀚星辰”形容的是哪种职业?星空...https://mip.ali213.net/gl/html/757877.html
10.亚马逊河杀手排行榜(亚马逊河里有什么危险动物)宠物它们的游动速度比食人鱼快得多,看见食人鱼之后就跑到它们的腹部下方,以“躲猫猫”的方式保护自己。食人鱼有锋利的牙齿,刺鲶身上的刺能够让食人鱼无从下口。还能用身上的刺将食人鱼杀死,刺鲶在亚马逊河流中可是排行榜第一的杀手,凶猛的食人鱼也只能屈居老四,食人鱼可不敢惹它们。https://www.yq003.cn/article/33853.html
11.十大热门跳蚤药排行榜效果好的除跳蚤喷剂品牌产品推荐→买购网十大热门跳蚤药品牌产品排行榜出炉了,其中上榜的产品品牌有:超威、榄菊、拜灭士、黑旋风、黑猫神、康宇、空消、KOOGIS、力仕康、JUQI等,本榜单由买购网大数据平台提供产品数据支持,通过系统整理各大电商平台的产品,综合依据了产品的价格档次、人气销量、品牌知名度、用https://www.maigoo.com/product/specs_13015.html