关于大模型的使用——提示词工程 原创
“ 学会写提示词,就类似于学会使用电脑的鼠标和键盘,这是学习和使用大模型必备的技能之一。 而提示词工程就是让你学会怎么和大模型说话 ”
最近断断续续一直有人通过后台留言或加微信的方式,来咨询大模型的应用问题;比如,怎么用大模型优化文本,或者怎么才能从大模型得到更好的回答等问题。
这些零零散散的问题,其实归根结底都属于大模型的应用问题,而大模型的应用目前最常用,也是最重要的手段就是提示词工程。简单来说,就是怎么更好的问大模型问题或者说让大模型更好的理解我们的意图,然后给出更好的输出。
所以,要想学会使用大模型,最简单也是最直接的办法就是学习提示词工程。
提示词工程
在之前的文章中也简单介绍过提示词工程,提示词工程这玩意说起来挺高大上,但实际上就是一门基于经验的科学。这玩意就像我们大部分人的表达能力一样,有些人三两句话就能说清楚一个问题;而有些人噼里啪啦一大堆你都不知道他想表达什么。
所以,所谓的提示词工程就是我们对大模型的表达能力,能够用简短直接的语言,让大模型理解我们想要什么,想做什么。
提示工程(Prompt Engingering),也被称为上下文提示(In-Context Prompting),指的是通过结构化文本等方式来完善提示词,引导LLM输出我们期望的结果。
以上就是网上对提示词工程的定义,虽然有些文章对提示词的定义有一些出入,但大体上就是这个意思。
很多人看到提示词工程这几个字,就会觉得这是一个高大上的玩意;然后也不知道从哪下手,就从网上找一些乱七八糟的课程去学习怎么写提示词。
虽然说这些课程并不是完全没用,但不得不说很多人还是把提示词工程想的太复杂了。
从用户的角度来说,大模型就是一个黑盒,你给大模型一个输入,然后大模型根据自己的理解给出一个输出。
而这个输入就是提示词,不论你输入的是一句简单的话,比如你吃饭了没;还是一个非常专业的问题,比如,从理论,技术,应用场景和发展现状等多个角度介绍一下大模型;它们都属于提示词的范畴。
而提示词工程,就是研究怎么用最简单,最符合大模型“思维”方式的语言逻辑,来让大模型理解问题并回答问题。
所以,现在再来讲什么是提示词?
你随便对大模型说的一句话,一个字它就是提示词,只不过你这句话说的可能不怎么好,大模型理解的也不好。
所以,现在理解什么是提示词工程了吧?
提示词工程,就是根据一些经验,用一些大模型更好理解的语言来把你说的话给优化一下;这玩意就类似于给文章润色,虽然你的文章内容很坚实,但文笔可能写得太差,别人看不下去。
提示词工程,就是让你学会怎么和大模型说话。
经过一段时间的研究,网上已经给出了一些标准的提示词模板和范式;比如zero-shot prompting(零样本提示),few-shot prompting(少样本提示)。
其实说白了就是, 零样本提示是直接问问题,而少样本提示是先举个例子;这样才能让问题更生动,更容易理解。
还有一些提示词框架,比如ICIO,CRISPE,BROKE等;不同的提示词框架适合不同的应用场景,比如说ICIO适合那种有着明确目的任务;而CRISPE适合角色扮演的任务;而BROKE又适合那种有着明确目的,又有适当角色并且能够持续优化的任务。
ICIO
定义
- 🤖Instruction (任务):你希望 AI 去做的任务,比如翻译或者写一段文字
- 📋Context (背景):给 AI 更多的背景信息,引导模型做出更贴合需求的回复,比如你要他写的这段文字用在什么场景的、达到什么目的的
- 📖Input Data (输入数据):告诉 AI 你这次你要他处理的数据。比如你要他翻译那么你每次要他翻译的句子就是「输入数据」
- 📤Output Indicator (输出格式):告诉 AI 他输出的时候要用什么格式、风格、类型,如果你无所谓它输出时候的格式,也可以不写
CRISPE
定义
- 😊Capacity and Role (角色):告诉 AI 你要他扮演的角色,比如老师、翻译官等等
- 📜Insight (背景):告诉 AI 你让他扮演这个角色的背景,比如扮演老师是要教自己 10 岁的儿子等等
- 📌Statement (任务):告诉 AI 你要他做什么任务
- 🎨Personality (格式):告诉 AI 用什么风格、方式、格式来回答
- 🧪Experiment (实验):请求 AI 为你回复多个示例(如果不需要,可无)
BROKE
定义
- 🌄 **Background (背景)**:说明背景,提供充足信息
- 🎭 **Role (角色)**:你要 AI 扮演的角色是什么
- 🎯 **Objectives (目标/任务)**:你要 AI 做的事情的一个描述
- 🔑 **Key Result (关键结果)**:对于 AI 输出的回答,在风格、格式、内容等方面的要求
- 🌟 **Evolve (改进)**:在 AI 给出回答以后,三种调整、改进方法
所以总而言之,言而总之,提示词工程没大家想的那么复杂,你只需要根据自己的需求,多写写,多练练;然后多模仿别人写的比较优秀的提示词,那么你的提示词水平慢慢就会得到提升。
而且,我们不仅可以自己写提示词,也可以让大模型帮我们写提示词或者优化提示词。
总之,提示词是每个人学习和使用大模型必不可少的一项技能;除非大模型真的能够发展出真正的智能,否则提示词就一直会存在。
本文转载自公众号AI探索时代 作者:DFires