用扣子做你的旅游景点的路线规划助手

用扣子做你的旅游景点的路线规划助手

开发者广场内容精选NaN-NaN-NaN
解决方案
作者:冯回国
推荐理由
借助coze平台和云雀大模型的能力,做一个旅游景点的路线规划助手的全过程和prompt编写技巧,以及解决问题的心路历程。
一、关于我
哈喽大家好,一位来自某数据标注基地的技术员。之前接触各家大模型较多,而字节推出的基于云雀大模型的扣子平台一经发布也是引起了国内AI行业的轩然大波,所以我就看瞧瞧是怎么个事,看看扣子平台究竟有哪些能力可以供我们一玩。
二、需求分析
随着周末假期来临,环球影城等热门主题游乐场成为大人孩子的经典过节选项,但巨大的人流也意味着排队成为游客最大的痛点,游乐场项目多、如何在有限的游玩时间内收获最大的快乐,是我们想要解决的问题。
这里提供一个示例(可以根据不同景点需求更换内容信息):上海迪士尼各景点的游玩时间和视觉指数以及刺激指数信息表。
喷气背包飞行器,排队+游玩时长:60,视觉指数:3,刺激指数:9
创极速光轮-雪佛兰呈现,排队+游玩时长:50,视觉指数:7,刺激指数:10
抱抱龙冲天赛车,排队+游玩时长:100,视觉指数:3,刺激指数:8
小熊维尼历险记,排队+游玩时长:50,视觉指数:7,刺激指数:4
疯狂动物城,排队+游玩时长:220,视觉指数:9,刺激指数:6
加勒比海盗-沉落宝藏之战,排队+游玩时长:45,视觉指数:10,刺激指数:4
翱翔-飞跃地平线,排队+游玩时长:130,视觉指数:10,刺激指数:8
雷鸣山漂流,排队+游玩时长:130,视觉指数:4,刺激指数:9
小飞象,排队+游玩时长:40,视觉指数:6,刺激指数:5
城堡迎宾阁,排队+游玩时长:60,视觉指数:7,刺激指数:1
小矮人矿山车,排队+游玩时长:145,视觉指数:3,刺激指数:8
三、方案调研
传统的这个问题是一个经典的动态规划的01背包问题,我们可以自己写python代码求解,大模型bot时代应该如何解决呢?其关键就是探索大模型能力的边界,使用自然语言的方式启发大模型写代码。
扣子平台作为一个全新的bot平台,我们可以通过调用不同插件来实现大模型能力的拓展。
AIbot的关键功能已被解构并划分为四个主要部分:规划、记忆、工具使用和行动,每个部分承担着代理智能行为的不同方面。
规划能力(Planning)涵盖了智能代理的目标设定、子目标的分解、以及对行动方案的反思和优化,这一能力是智能代理进行有效决策的基础。
记忆能力(Memory)进一步细分为短期记忆和长期记忆,两者共同构成了智能代理存储和回顾信息的机制。规划与记忆之间的互动,由虚线表示,说明记忆在智能代理的规划和决策过程中发挥了支持作用。
工具使用能力(Tool)指智能代理通过调用外部接口(APIs)来获取信息或执行特定任务的能力。这一能力使得代理能够扩展其操作范围,超越内部处理能力的限制。
行动(Action)则是智能代理对外界输入做出响应的能力,包括生成文本的能力,以及通过工具使用能力实现的具体物理或数字动作。
Coze平台,基于云雀大模型构建并开放了bot智能体框架,实现自动规划能力(Planning)及代码生成与执行能力Tool),使得原本只能通过专业算法编程才能解决的问题,能够通过自然语言指令配置和对话交互完成,极大降低了AI应用开发门槛,创造了无限的想象空间。
四、开发流程
得益于coze提供的各类功能插件,给我们提供了基础的Planning和Tool的能力,我们只需要解决Memory功能和增强其Planning在具体的任务上的表现即可。而基础的Memory可以通过prompt荷载来实现,我们将赛题的信息描述成基本的形式化语言输入到prompt中,即可让AIbot具有简单的记忆功能。
$data = [
{name:喷气背包飞行器,time:60,view:3,thrill:9},
{name:创极速光轮-雪佛兰呈现,time:50,view:7,thrill:10},
{name:抱抱龙冲天赛车,time:100,view:3,thrill:8},
{name:小熊维尼历险记,time:50,view:7,thrill:4},
{name:疯狂动物城,time:220,view:9,thrill:6},
{name:加勒比海盗-沉落宝藏之战,time:45,view:10,thrill:4},
{name:翱翔-飞跃地平线,time:130,view:10,thrill:8},
{name:雷鸣山漂流,time:130,view:4,thrill:9},
{name:小飞象,time:40,view:6,thrill:5},
{name:城堡迎宾阁,time:60,view:7,thrill:1},
{name:小矮人矿山车,time:145,view:3,thrill:8}
];
其中“游乐项目名称name”、“用时time”、“体验指数(视觉指数view、刺激指数thrill)”。
对于planning部分的优化,我们可以采用Chain of Thoughts(COT)和oneshot的形式。
Chain of Thoughts(COT)顾名思义,思维链,就是将解体思路的思考过程描述出来。
比如在这个问题中,我们可以辅助AIbot思考的过程,将基本的解题思路,使用自然语言来描述给大模型。其核心是如下这句话:枚举每一种游玩组合,计算体验指数之和,并且保证组合的耗时小于设定总时长$ztime,并记录其最大的体验指数之和和对应组合。
关于这部分,我曾尝试过使用语言描述动态规划的原理启发大模型写代码,但是考虑到这个场景的数据量和结果的正确率,效果一直比启写枚举思路成功率偏低,因此最终采用了【启发大模型写枚举代码】思路,各位可以多多尝试。
完整的实例如下:
你作为一个人工智能算法助手,
根据下面提供的算法逻辑和遍历组合的解题思路来处理景点游玩最优规划这个情景问题。
【代码算法逻辑及步骤】:
step1:分析问题,获得可用总时长$ztime(分钟);
step2:加载以下全部11组$data数据:
...
其中“游乐项目名称name”、“用时time”、“体验指数(视觉指数view、刺激指数thrill)”。
step3:分析问题,设置对应要计算的指数(刺激指数:thrill;视觉指数:view);
step4:判断总耗时是否小于$data中的time最小值,如果小于则直接结束运算,说明不会存在最优解。如果大于等于则进行下一步;
step4:枚举每一种游玩组合,计算体验指数之和,并且保证组合的耗时小于设定总时长$ztime,并记录其最大的体验指数之和和对应组合
step5:输出最大的体验指数之和和对应组合
Fewshot和oneshot的概念是给AIbot提供多个或者一个参考案例,让他模仿案例进行学习。在我们的任务中,可以参考如下形式:
【示例】:{
问题: 游玩5个小时,玩哪些项目的组合刺激指数最大?
回答:亲爱的游客您好,根据您的问题经过严密计算后得出:
300分钟之内,刺激指数总和最大为36,总耗时300分钟。
【小熊维尼历险记】【耗时50分钟】【刺激指数:4】
【抱抱龙冲天赛车】【耗时100分钟】【刺激指数:8】
【创极速光轮-雪佛兰呈献】【耗时50分钟】【刺激指数:10】
【小飞象】【耗时40分钟】【刺激指数:5】
【喷气背包飞行器】【耗时60分钟】【刺激指数:9】}
最后,我们将上面提到的三部分组织起来,构建成一个完成的prompt,描述给大模型。
你作为一个人工智能算法助手,
根据下面提供的算法逻辑和遍历组合的解题思路来处理景点游玩最优规划这个情景问题。
【代码算法逻辑及步骤】:
step1:分析问题,获得可用总时长$ztime(分钟);
step2:加载以下全部11组$data数据
$data = [{name:喷气背包飞行器,time:60,view:3,thrill:9},
{name:创极速光轮-雪佛兰呈现,time:50,view:7,thrill:10},
{name:抱抱龙冲天赛车,time:100,view:3,thrill:8},
{name:小熊维尼历险记,time:50,view:7,thrill:4},
{name:疯狂动物城,time:220,view:9,thrill:6},
{name:加勒比海盗-沉落宝藏之战,time:45,view:10,thrill:4},
{name:翱翔-飞跃地平线,time:130,view:10,thrill:8},
{name:雷鸣山漂流,time:130,view:4,thrill:9},
{name:小飞象,time:40,view:6,thrill:5},
{name:城堡迎宾阁,time:60,view:7,thrill:1},
{name:小矮人矿山车,time:145,view:3,thrill:8}];
其中“游乐项目名称name”、“用时time”、“体验指数(视觉指数view、刺激指数thrill)”。
step3:分析问题,设置对应要计算的指数(刺激指数:thrill;视觉指数:view);
step4:判断总耗时是否小于$data中的time最小值,如果小于则直接结束运算,说明不会存在最优解。如果大于等于则进行下一步;
step4:枚举每一种游玩组合,计算体验指数之和,并且保证组合的耗时小于设定总时长$ztime,并记录其最大的体验指数之和和对应组合
step5:输出最大的体验指数之和和对应组合
【示例】:{
问题: 游玩5个小时,玩哪些项目的组合刺激指数最大?
回答:亲爱的游客您好,根据您的问题经过严密计算后得出:
300分钟之内,刺激指数总和最大为36,总耗时300分钟。
【小熊维尼历险记】【耗时50分钟】【刺激指数:4】
【抱抱龙冲天赛车】【耗时100分钟】【刺激指数:8】
【创极速光轮-雪佛兰呈献】【耗时50分钟】【刺激指数:10】
【小飞象】【耗时40分钟】【刺激指数:5】
【喷气背包飞行器】【耗时60分钟】【刺激指数:9】}
请严格按照上述算法和输出要求,运算出结果并输出。让我们一步一步来思考!
OK,完成了基本的prompt撰写我们再看看如何使用。
1.打开扣子平台(coze.cn
2.点击创建bot,给你的bot起个名字,我这个就叫“上海迪士尼游玩助手”,图标可以点击AI生成。
3.然后我们可以在人设与回复逻辑的框里粘贴填入我们写好的prompt。
4.点击插件商店,添加插件,搜索代码执行器并添加。
5.点击添加开场白。
开场白文案:你好,我是上海迪士尼游玩助手,你有什么需要我帮助可以随时问我。我将竭诚为您服务。
开场白预置问题:游玩5个小时,玩哪些项目的组合刺激指数最大?
6.这样我们的机器人就做好了,点击右上角发布。
7.飞书现在已经可以接入coze,我们制作的小助手可以添加到飞书内部。注意:要取消勾选提交到扣子BOT商店,并且需要勾选飞书,即可发布到飞书。
8.接下来,就可以在企业内的飞书中使用我们的机器人了。
如果需要接入到外部群,可以参考广场孝夕夕大佬分享的教程
五、成果展示
这是我做好的上海迪士尼游玩助手,大家可以检测一下基于上面我给出数据回答的准确度,来进一步优化prompt。
六、反思记录
Chain of Thoughts
思维链,就是将问题解体思路的思考过程描述出来。
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
联系我们立即试用