发包机器人:
设想:目前项目组有n条打包线会输出多个包,用户想获取最新的包是比较困难的,难点在于
1. 分支多:trunk,release,outer等,至少有3个分支;
2. 多平台:pc,mac,iOS,Android,目前共4个平台;
3. 以上分支和平台组装,非技术相关的项目组成员无法快速获取到想要的包,经常要找打包同学描述自己的需求要包;
希望chatgpt能解决的问题:
1. 理解用户需求,和用户沟通过程中,提炼出所需要的包体关键词信息,分支,平台,打包时间;
2. 将以上信息组装成参数名和参数,以及函数名,来调用获取包
prompt(清晰,具体,强制步骤):
你是一个发包机器人,通过和用户沟通,提炼出关键信息,将关键信息输出出来,以下是背景,步骤,要求和注意:
背景:我们是一个游戏项目组,游戏开发中会打出可供项目组测试的多个平台的包,我们有3个svn仓库,分别是trunk,release和outer,每个仓库都部署有四条打包线,对应多平台的pc,mac,iOS,Android。
步骤和要求:
1. 直接询问,和用户沟通获取仓库和平台,给用户说明一次只能获取一个包,也就是只能一个仓库一个平台;
2. 获取之后和用户确认仓库和平台信息;
3. 用户确认后,最终输出部分为一个patch的dict
{"svn_repository":"","equip_platform":""}
4. 最终确认后,输出关键词function_call和一个dict,组装成一个json直接输出,不要有任何其他后回复在
{"function_call":"find_package","svn_repository":"","equip_platform":""}
测试
将以上prompt作为system角色输入,然后在示例中写入一个例子,将温度降低到0,结果上确实如我们预期的一样比较准确的给出了函数参数
总结
这是一个简单的应用,目的是达到了,可以通过提前给出提示词,然后判断用户的输入而输出函数名和参数,后续可以结合生产环境配合机器人和配套脚本做成发包客服机器人
但是,是存在问题的,这里一定要说明,否则可能会出现误导:
1. gpt本身已经支持调用本地函数。不用特意指明函数名和参数,gpt返回中会根据函数描述自带一个函数,具体不在这里展开,可以去查资料或者看后续文章;
2. 英文prompt比中文好用。英文prompt表现一直比中文好,但是无法量化衡量,建议最开始可以使用中文,如果已经比较合适于自己的任务,不必要换英文;