随着 ChatGPT、GPT-4 等大型语言模型(LLM)的出现,提示工程(Prompt Engineering)变得越来越重要 。很多人将 prompt 视为 LLM 的咒语,其好坏直接影响模型输出的结果 。
如何写好 prompt,已经成为 LLM 研究的一项必修课 。
【OpenAI官方的Prompt工程指南:你可以这么玩ChatGPT】引领大模型发展潮流的 AI target=_blank class=infotextkey>OpenAI , 近日官方发布了一份提示工程指南,该指南分享了如何借助一些策略让 GPT-4 等 LLM 输出更好的结果 。OpenAI 表示这些方法有时可以组合使用以获得更好的效果 。
文章插图
指南地址:https://platform.openai.com/docs/guides/prompt-engineering
六个策略,获得更好的结果策略一:写清楚指令
首先用户要写清楚指令,因为模型无法读懂你的大脑在想什么 。举例来说,如果你希望模型的输出不要太简单,那就把指令写成「要求专家级别的写作」;又比如你不喜欢现在的文本风格,就换个指令明确一下 。模型猜测你想要什么的次数越少,你得到满意结果的可能性就越大 。
只要你做到下面几点,问题不会太大:
首先是提示中尽量包含更详细的查询信息 , 从而获得更相关的答案,就像下面所展示的,同样是总结会议记录,采用这样的提示「用一个段落总结会议记录 。然后写下演讲者的 Markdown 列表以及每个要点 。最后,列出发言人建议的后续步骤或行动项目(如果有) 。」结果会比较好 。
文章插图
其次是用户可以提供示例 。例如,当你想让模型模仿一种难以明确描述的回答风格时,用户可以提供少数示例 。
文章插图
第三点是指定模型完成任务时所需的步骤 。对于有些任务 , 最好指定步骤如步骤 1、2,显式地写出这些步骤可以使模型更容易地遵循用户意愿 。
文章插图
第四点是指定模型输出的长度 。用户可以要求模型生成给定目标长度的输出 , 目标输出长度可以根据单词、句子、段落等来指定 。
文章插图
第五点是使用分隔符来明确划分提示的不同部分 。"""、XML 标签、小节标题等分隔符可以帮助划分要区别对待的文本部分 。
文章插图
第六点是让模型扮演不同的角色,以控制其生成的内容 。
文章插图
策略 2 提供参考文本
语言模型会时不时的产生幻觉,自己发明答案 , 为这些模型提供参考文本可以帮助减少错误输出 。需要做到两点:
首先是指示模型使用参考文本回答问题 。如果我们可以为模型提供与当前查询相关的可信信息,那么我们可以指示模型使用提供的信息来组成其答案 。比如:使用由三重引号引起来的文本来回答问题 。如果在文章中找不到答案,就写「我找不到答案」 。
文章插图
其次是指示模型从参考文本中引用答案 。
文章插图
策略 3:将复杂的任务拆分为更简单的子任务
正如软件工程中将复杂系统分解为一组模块化组件一样,提交给语言模型的任务也是如此 。复杂的任务往往比简单的任务具有更高的错误率,此外,复杂的任务通常可以被重新定义为更简单任务的工作流程 。包括三点:
- 使用意图分类来识别与用户查询最相关的指令;
- 对于需要很长对话的对话应用 , 总结或过滤以前的对话;
- 分段总结长文档并递归的构建完整摘要 。
推荐阅读
- Finally中的代码一定会执行吗?
- SQL必须消失的九个理由,你认可吗?
- 生成式人工智能潜力的释放:软件工程师的MLOps和LLM部署策略
- 如何改变照片的kb大小,调整照片kb大小的两种方法
- Windows 12将为个人电脑将带来颠覆性改变!PC史无前例的五大变化
- 八个关于网站SEO优化的方法
- 什么是网站降权?网站降权的七大原因及恢复方法
- 什么是SEO?一文了解SEO的本质、意义和潜力
- 快速提高搜索引擎优化排名的秘密
- 最全的100个Python精选库,建议收藏!