大模型提示工程指南¶
1 概念¶
提示工程(Prompt Engineering),也称为 In-Context Prompting,是指在不更新模型权重的情况下如何与 大模型交互以引导其行为以获得所需结果的方法。
在人工智能领域,Prompt指的是用户给大型语言模型发出的指令。例如,“「讲个笑话」”、“「用Python编个贪吃蛇游戏」”、“「写封情书」"等。虽然看似简单,但实际上,Prompt的设计对于模型的结果影响很大。因此如何设计prompt,进而与模型更好的交互,是研究人员必备的必不可少的技能(提示工程)。
提示工程不仅仅是关于设计和研发提示词。它包含了与大语言模型交互和研发的各种技能和技术。提示工程在实现和大语言模型交互、对接,以及理解大语言模型能力方面都起着重要作用。用户可以通过提示工程来提高大语言模型的安全性,也可以赋能大语言模型,比如借助专业领域知识和外部工具来增强大语言模型能力。
2 提示工程的原则¶
基于OpenAI官网文档,我们提炼出了5条大原则:
清晰的指令
文本参考
复杂任务拆分简单子任务
给模型"思考"的时间
借助外部工具
接下来,我们将对每一种具体的原则进行原理讲解以及举例实时,以帮助我们在日常工作准确的使用LLM。
2.1 清晰的指令¶
任何Prompt技巧,都不如清晰的表达你的需求。这就类似人与人沟通,如果话说不明白,不可能让别人理解你的思想。因此,写出清晰的指令,是核心。
那么如何写出清晰的指令呢?下面罗列几个小技巧:
2.1.1 详细的描述¶
当我们进行模型的提问时,不要描述的太笼统,而是尽量多的提供重要的详细信息或上下文.
eg: 不要直接说,“帮我写一封情书”;而是说:“用一些温柔的话语写一封情书,来表达我对你的仰慕和思念。最后,我要求书写字体数要不低于500个字”
2.1.2 让模型充当某个角色¶
当我们使用大模型时,可以让模型充当一个角色,这样模型会更专业更明确的对你的问题进行回复.
Eg:我需要你充当一个AI算法面试官的角色,要求你自主的对我进行AI面试过程中常考的面试题,你可以一次说一个问题,然后我回答完,你再出第二道题
2.1.3 使用分隔符标明输入的不同部分¶
中括号、XML标签、三引号等分隔符可以帮助划分