为了账号安全,请及时绑定邮箱和手机立即绑定

如何让大模型给出最优回答:最佳提示技巧指南

更好的提示信息就能获得更好的回答!

介绍

提示这个概念并不新鲜。这种提供提示的想法贯穿了许多领域:艺术(激发作家的创作灵感或即兴创作);科学(启动实验);刑事调查(提供或追踪最初的线索);计算机编程(在特定背景下迈出第一步)。所有这些都是旨在引发相应反应的提示请求的。

大型语言模型(LLM)互动也没有什么特别的地方。你需要设计出最好的提示来得到最好的回复。为了让LLM产生期望的回复,出现了一门新学科:提示工程——即“将文本结构化,让生成式AI模型能够理解和解释的过程。”[1]

在这篇文章中,我们探讨了什么是提示设计,构成最佳提示设计的技巧有哪些,什么样的提示能够引导大型语言模型生成期望的回答;相反,什么样的提示会阻止大型语言模型生成期望的回答。

什么是Prompt工程呢?它是指什么?

提示工程并不严格属于工程学科或精确科学,而是由数学和科学基础支撑的领域;它是一种通过一系列规则来创造精确、简洁且富有创意的文字,以指导大规模语言模型完成任务的实践。另一种说法是,“提示工程是与生成式大规模语言模型进行交流的艺术。” [2]

为了用精确且任务特定的指令与LLM进行沟通,Bsharat等人[3]提出了一套全面的原则性指令和指南,用于提升LLM提示的质量。研究表明,由于LLM在理解自然语言和执行如回答问题、数学推理、代码生成、翻译和任务总结等各类任务时展现出卓越的能力,采用原则性的方法来整理不同的提示类型和技巧,极大地提升了生成响应的质量。

下面举一个简单的例子,展示了在应用这个简洁明了的原则前后提示的对比。这种差异显示出响应既清晰又简单,以及期望的响应接收者。

如图1所示,左边是一个普通的提示,右边是一个更具体且精确的提示。

正如上面的例子所示,你的提示越简洁明了,大语言模型就越能准确理解任务内容,从而给出更好的回答。

让我们来看看一些原则、技巧以及能提供更好理解如何完成任务的提示类型,这些提示类型可以在各种自然语言处理领域中提供更好的洞察。

提示原则和指导

Bsharat et.al 列出了 26 个有序的提示原则条目,这些原则可以进一步分为五个类别,如图 2 所示的:

  1. 提示结构和清晰度: 考虑到目标受众。
  2. 具体性和信息量: 实施以几个示例提示为基础的提示。
  3. 用户互动和参与: 允许模型通过询问具体的细节和需求来获取足够信息,从而提供所需的回复。
  4. 内容和语言风格: 指定回复的语气和风格。
  5. 复杂任务和编码提示: 将复杂任务分解为一系列更简单的步骤来提供提示。

图2.:提示原则类别

同样,埃尔维斯·萨拉维亚的prompt工程指南 中提到,提示可以包含许多元素:

说明:描述你希望模型完成的具体任务

上下文:更多的信息或背景资料,用来指导模型的响应

输入或问题:表示给模型的回答

输出格式和类型:例如 JSON 格式,或者多少行、多少段落。提示与角色相关联,角色告诉 LLM 它应该与谁交互及如何交互。例如,一个 系统 提示会让 LLM 假装成助手或老师的角色。

用户在提示中提供上述任何元素,以便LLM能据此回应。Saravia,就像Bsharat等的研究一样,表示提示工程是一种精准沟通的艺术。也就是说,为了得到最好的答复,你的提示需要被设计得准确、简洁、具体。越简洁明了,回应就会越好。

此外,OpenAI关于提示工程的指南也提供了类似的权威指导,包含类似的要点和可演示的例子:

  • 写明指示
  • 提供参考材料
  • 把复杂的任务分解成更简单的步骤
  • 给模型一些时间来思考

最后,Sahoo、Singh 和 Saha 等人 [5] 系统地总结了提示工程技术,并对提示技术的演变进行了概述,从零样本提示到最新的进展。他们将其分为不同的类别,如图所示。

图3. 提示工程分类学

CO-STAR 提示框架

但CO-STAR提示框架[6]走得更远一些。它将所有之前提到的指南和原则简化并提炼成一种实用的方法。

在她赢得新加坡GPT-4提示工程竞赛的博客中,《如何赢得新加坡GPT-4提示工程竞赛》(https://towardsdatascience.com/how-i-won-singapores-gpt-4-prompt-engineering-competition-34c195a93d41)中,Sheila Teo 提供了一个实用策略和一些宝贵的见解,介绍了如何通过CO-STAR框架从大型语言模型中获得最佳效果。

简而言之,蔡女士将Bsharat et.al(见图2)的观点以及其他提到的原则提炼并简化为六个简洁明了的术语,即为CO-STAR,见图4。

C: 提供任务的相关背景和信息

定义你想要LLM完成的任务: 定义你希望LLM执行的任务

S: 风格 指定您想要LLM采用的写作风格

提示: 调整回应的态度和语气

A:观众明确回应给谁

R: 回答: 提供回答的格式和风格。

图4:CO-STAR的简洁明了的五个提示原则

这里是一个简单的CO-STAR示例,出现在演示笔记本中。

图4(a): 带有CO-STAR(一种框架)的示例提示

使用这个CO-STAR的提示,我们得到了我们大型语言模型的简洁回答。

图4(b): 带有CO-STAR框架的一个示例响应

可以在这两个Colab笔记中看到大量例子。

  1. 基础任务
  2. NLP 相关任务

除了CO-STAR以外,还出现了其他专门针对ChatGPT的框架,但构建有效提示的核心要素仍然相同:清晰性、具体性、上下文、目标、任务、操作等。[7]

提示类型和任务

到目前为止,我们已经从各种来源了解了最佳实践、指导原则和技巧,以如何编写简洁的提示来与大型语言模型(LLM)交互,从而生成所需且准确的回复。提示与任务类型挂钩,这意味着你想让LLM完成的任务类型对应于某种提示及其构建方式。

一般来说,萨拉维亚[8]分析了各种任务相关的提示,并就如何编写有效的提示以完成这些任务通常包括提供了建议。

  • 文本摘要
  • 零样本学习和少量样本学习
  • 信息提取
  • 问答系统
  • 文本和图像分类
  • 对话
  • 推理分析
  • 代码生成器

为了简洁,我将不赘述解释。但是,请通过下面的Colab笔记本中的示例来探索不同类型的提示,以了解如何构思有效提示并获得准确响应。

图5. 示例笔记本,展示了与任务相关的提示类型。(示例笔记本位于此处)。

注意:所有笔记本示例均已在OpenAI APIs上使用GPT-4-turbo、Llama 2系列模型和Mixtral系列进行了测试,Code Llama 70B则在Anyscale Endpoints上运行。要运行这些示例,您需要在OpenAIAnyscale Endpoints上拥有账户。这些示例取自GenAI Cookbook GitHub Repository中的部分内容。

总结

在这篇文章中,我们介绍了什么是提示工程,包括一系列权威的指导原则和实用技巧,用于策划和制作出有效的提示,以从大型语言模型(LLM)中获得最佳回复为目的。同时,OpenAI指南还列出了不应使用的提示类型。

在遵循上述原则的基础上,我们讨论了CO-STAR提示模板,并给出了一些使用该模板的具体实例。

最终,我们将提示类型与大型语言模型(LLM)的常见任务联系起来,并提供了一系列说明性的笔记本示例。

上述所有内容都是你踏上为LLM制作有效提示并获得最佳回应的过程的一个有用起点。

接下来会怎样?

阅读“GenAI Cookbook”系列关于LLM的下一组博客文章:

资源和参考

[1] https://en.wikipedia.org/wiki/Prompt_engineering(关于Prompt工程的维基百科页面)

[2] [ChatGPT, 2023](链接: https://chat.openai.com/)

[3] 参考文献:https://arxiv.org/pdf/2312.16171.pdf

[4] 可以在这里查看: https://arxiv.org/pdf/2312.16171.pdf

[5] 详见 https://arxiv.org/pdf/2402.07927.pdf

[6] 如何赢得新加坡的GPT-4提示工程比赛 - https://towardsdatascience.com/how-i-won-singapores-gpt-4-prompt-engineering-competition-34c195a93d41

【7】掌握ChatGPT提示工程的9个框架:https://www.linkedin.com/pulse/9-frameworks-master-chatgpt-prompt-engineering-edi-hezri-hairi/

[8] 参考链接:https://www.promptingguide.ai/introduction/examples

[9] https://platform.openai.com/docs/guides/prompt-engineering

[10] https://platform.openai.com/examples

[11] 如下链接:https://github.com/dmatrix/genai-cookbook/blob/main/README.md

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消