前言
随着AI应用开发的深入,越来越感觉Prompt提示词工程
的重要性。而且,提示词逐渐成为AI时代编程团队成员间的交流语,似乎比以前的流程图、产品原型图、文档在同事间使用更频繁。产品经理在画好原型的同时,会设计产品Prompt,预设产品的走向;运营同学会将活动和数据需求,准备好提示词模板,让技术开发AI运营后台, 甚至自己就能动手完成;技术呢,基于已经把Prompt设计放到了与数据库设计一样重要的地位,更不用提什么代码生成,Agent...
最近看到十年踪迹
老师分享的猜单词游戏,里面有十分精彩的"Prompt提示词"分享,让我们来一起跟着这个示例学习AI游戏提示词功课。GPTs体验链接,chat.openai.com/g/g-JFwC0ob... ,大家玩起来吧。博文链接:调教 AI:让 ChatGPT 陪你玩猜单词游戏
游戏故事
开篇作者介绍了游戏灵感的来自几年前比较流行的一款手机游戏《Four Pictures One Word》。玩家通过四张有共同点的图,猜出它们所表示的单词。即简单,又适合家长带孩子玩。
当我们以AIGC来思考这个游戏的功能,这就是LLM最擅长的地方。文字和图片之间的NLP关系,很好打理。作者接下来,给大家讲述了不用编码,直接通过GPTs来完成游戏并上线。
游戏开始
游戏开始后,ChatGPT 会生成四格图画,代表一个单词,并给出12个提示字母,提供给玩家参考。
如果玩家回答正确,游戏会进入下一轮。如果玩家给出错误答案或者猜不出,ChatGPT 会公布正确答案并做出解释,然后继续进入下一轮。
提示词
首先,我们要用到GPT4,它能调用DALLE模型绘图。所以我们在Prompt里关于绘图的表达设计,是能得到图片的,太牛逼了。
我们来学习作者的第一版Prompt:
shell
## 介绍
这是一个游戏
## 规则
你生成一幅四格漫画图片,其中的四张图都代表一个单词。
接着你再给出一组提示,提示包含12个乱序的字母,这些字母的其中一些也正好能组成这个单词,同时你告诉我这个单词由几个字母组成。
我来根据你给的图片和字母猜这个单词。
如果猜出来了,那么这一局我获胜,否则这一局我输了。
如果我赢了,宣布我赢了,直接进入下一局。
如果我输了,告诉我答案以及这个为什么是这个答案,然后进入下一局。
## 约束
图片务必是四格漫画,也就是其中包含四幅画,不要其它形式。
我们用中文交流,单词要简单,不要超过9个字母。
图片是写实风格,每一张图片都有整个单词的含义,而不是其中的部分字母。
图片与单词的关联要直观形象且符合逻辑,不要太隐晦。
除了游戏相关的内容之外,不要讨论任何无关的话题。
请用中文和我交流。
你不用问我是否准备好,第一轮游戏直接开始。
每一局游戏结束后,也不用问我是否进入下一轮,直接进入下一轮。
大家可以copy上面的Prompt
交给GPTs,感受下GPT4和DALL.E共舞的魅力。我之前看过吴恩达的提示词课程,里面给出了一些Prompt
设计的GuidLines,我们来逐条分析:
- 清晰度
这个游戏的Prompt设计满足了清晰度的要求。它明确规定了游戏的介绍、规则和约束,并且清楚地描述了每一局游戏的流程和目标。同时,它对于图片的要求也做出了具体的说明,包括四格漫画、写实风格和直观形象等。这些详细的描述和指导确保了游戏的参与者能够清晰地理解并按照规则进行游戏。 GPT4也更好准确的完成任务。
- 完整性
游戏的玩法,输赢,规则等,可以让GPT4直接执行游戏开发,Prompt游戏故事完整。
- 多样性
赢了怎么样,输了怎么样,Prompt涵盖了所有的可能。
- 合理性
Prompt
提供了约束,让GPT4在创作游戏的时候,知道什么合理,什么不合理,约束即是那条红线。越来越认同,人类活在虚拟世界中,只是一串代码,写代码的我们是被"神"写出来的代码,"神"用的是GPT20吧?
- 让它思考一下
作者给的提示词,针对用户的输入如何思考,去判断后,游戏走向何处,以及是否开启下一局...
提示词优化
非常开心,作者给出了针对第一版本提示词的优化方案,这也是我想把它介绍给大家的主要原因。
作者发现,上面一版提示词,让游戏正常运行没问题,但是有一些瑕疵。有时候提示字母不对,或者不够随机。难道这是GPT4的能力问题,还是?让我们随着作者一起去优化提示词。
上图的字母提示里就少了一个 N(LEARNING需要两个N)
优化后的提示词
shell
## 介绍
这是一个游戏
## 规则
你生成一幅四格漫画图片,其中的四张图都代表同一个单词。
接着你再给出一组提示,提示包含12个乱序的字母,确保这些字母中的一些刚好能组成这个单词,注意字母数量必须是12个且次序务必要完全打乱,在能组成这个单词的每一个字母中间尽量插入其他的随机字母。
同时你告诉我这个单词由几个字母组成,重复的字母要计算多个,比如APPLE应该是5个字母,FLY应该是3个字母。
如果单词中某个字母出现多次,它在乱序字母提示里也应该出现多次。
我来根据你给的图片和字母猜这个单词。
如果我猜出了,那么这一局我获胜,否则这一局我输了。
如果我赢了,宣布我赢了,直接进入下一局。
如果我输了,告诉我答案以及这个为什么是这个答案,然后进入下一局。
## 约束
图片务必是四格漫画,也就是其中包含四幅画,不要是其他形式。
我们用中文交流,单词要简单,不要超过9个字母。
图片是写实风格,每一张图片都有整个单词的含义,而不是其中的部分字母。
图片与单词的关联要直观形象且符合逻辑,不要太隐晦。
除了游戏相关的内容之外,不要讨论任何无关的话题。
请用中文和我交流。
你不用问我是否准备好,第一轮游戏直接开始。
每一轮游戏结束后,也不用问我是否进入下一轮,务必直接进入下一轮。
woo, 学到了,学到了。作者在这一版的Prompt中,针对上图的bug,做了更细节的设计。这不就跟改bug一样吗?prompt原来也是要改bug的,感谢作者的分享。Prompt中关于如APPLE应该是5个字母,FLY应该是3个字母...
这里使用的是Prompt中Few-shots的技术,能过举例,让GPT4更好的照章办事。
后续优化
作者继续提出,游戏还不够完美的一些点,比如英文单词的多义性,就没有处理好,比如单词「LIGHT」,既可以表示光,也可以表示轻便,单词「STAR」既可以表示星星,也可以表示明星,这些多义词性,ChatGPT其实有一定的体现,但还表现的不够好。
上图由于我们Prompt
规则没有体现多义性的约束,用户在玩的时候可能就会有歧义了,图一、四是星星,图二、三是明星...
大家可以尝试写下你的优化版本,发在评论区, 一起交流下
总结
- 收获了第一个GPTs游戏的提示词,以前主要接触的是电商或RAG方向的。
- Prompt工程化有了更深入的理解,不只是团队所有人都能来参与Prompt设计,它还有优化,改bug,以及不断发版的过程。
- 更加坚定Prompt的力量,成为Prompt工程师,人人都可以。
再次感谢"十年踪迹"老师, 本文是学习文章,有感而发。
参考资料
- 吴恩达提示词课程
- 调教 AI:让 ChatGPT 陪你玩猜单词游戏