大型语言模型可以生成任何字符组合。在任何语言、数据格式或编程形式中,都可以生成任何字符组合。
而且质量差距非常大。
它可能是一种典型的模棱两可的回应,充满各种限制和冗长的解释,或者前一天模糊记得的知识。
或者是一本畅销小说的第一部分,一个完美的品牌名称提案,解决棘手问题时最强大和最优雅的Python代码。
或者甚至更多,越来越多的是这样的情况:当您正在开发一个应用程序时,该模型可以可靠而准确地回答数百万个来自客户的问题,全面处理保险索赔,并坚持不懈地每天在新提交的专利文件中搜寻与旧专利的冲突。
但这有一个大前提:只有你用完美的指令清晰表达你的愿望,这才行。
而且这不仅仅是指你需要避免使用模糊的指令,比如那些家伙浪费了他们的三次机会。不,这要困难得多。要充分发挥我们AI精灵的潜力,你需要精心且细致地设计你的提示。
当你用模型处理日常生活中的琐事时,这些技术可能会帮到你。
如果你正在开发使用AI的应用程序,这绝对是必要的。
我们的《提示工程速查指南》是一本浓缩成的PDF手册,包含了这一稍显神秘且常常棘手的机器学习领域的各种技巧。
无论你是资深用户还是刚开始踏上AI之旅的新手,这份小抄都应该是你与大型语言模型沟通时的随身词典。
内容如下所示:
- AUTOMAT 和 CO-STAR 框架
- 输出格式 定义
- 少量样本学习技术
- 链式思维
- 提示 模板
- RAG,检索增强生成
- 格式和分隔符,以及
- 多提示方式。
这里有一个**[易于复制、改编和使用的提示示例](https://www.linkedin.com/pulse/perfect-prompt-engineering-cheat-sheet-snippets-part-vogel-mxkcf/)(来自领英的外部链接),供你参考,这里还有一份[提示工程速查表的PDF版本**](https://big-picture.com/media/the_prompt_engineering_cheat_sheet.pdf)(来自BP网站的外部链接),方便你随时查看。
AUTOMAT框架AUTOMAT 框架介绍了完美提示指令的关键要素:你需要的内容以及如何撰写它。
那样怎么不要写。
提示工程技巧表:AUTOMAT 框架(图片来源:Maximilian Vogel)
AUTOMAT这个缩写为
假装成一个……
用户角色,及受众
精准行动
输出,定义一下
M 模式 / 语气 / 风格
几个, 典型的案例
白名单话题
通过考虑每个方面,你可以引导LLM达到你期望的结果。想象你在为一个聊天机器人编写对话脚本。你定义它的角色(角色),它与谁互动(互动方),互动的目标(目标),它应提供什么样的信息(信息),它应该如何沟通(沟通方式),如何处理特殊情况(处理特殊情况),以及哪些话题是相关的(相关话题)。这种结构能确保你的LLM在沟通时保持清晰且一致。
AUTOMAT 框架示例(图片来自:Maximilian Vogel)
CO-STAR 架构稍微改一下重点的方式,差不多的意思是:
- 背景: 设置场景!提供背景细节,帮助大语言模型理解情况。
- 目标: 你的目标是什么?明确任务定义,以获得专注的结果。
- 风格与语气: 指定写作风格和情绪基调,让大语言模型的回答更贴合你的需求。
- 受众: 了解你的受众。确定目标读者,以便调整大语言模型的输出。
- 回复: 选择你的输出格式。定义大语言模型回复的格式,如文本或代码等。
提示工程技巧表:CO-STAR 框架,详情请见 链接 由 Sheila Teo
输出格式如下:输出格式的说明告诉模型如何回复。甚至不用说,直接展示会更好。提供一个实际的输出示例。
该模型可以模拟几乎任何可想象的输出,包括现有格式和你为特定任务定义的结构。给出答案以易于解析的格式(如JSON),这大大简化了构建应用程序和自主AI的过程。
提示设计:输出格式,(图片提供者:Maximilian Vogel)
进一步结构化输出内容
- 指定 AI 回应的允许的值及其范围
- 告诉 AI 如果数据不可用或缺少某些值时应该怎么做
提示工程速查表:输出格式(图片提供:Maximilian Vogel)
少量样本学习在提示中,模型会先通过少量样本学习,了解几个实际问题及其解决方案,然后再开始实际任务。
- 标准案例:通过一些例子来展示模型应该怎样从输入得到输出。
- 特殊情况:展示模型如何处理特殊情况,比如数据缺失、提问跑题或用户行为异常时,模型应该如何应对。
提示工程提示表:少量样本学习(图片来自:Maximilian Vogel)
思考链如果我们引导模型出声思考并在给出最终答案之前进行一些思考和推理,结果会更好。
实际上,我们的AI和六年级学生解决数学问题并没有什么不同。或者说,就像大多数人解决问题一样。
顺便说一下,这不是我的想法,而是Google Brain 团队的想法。
{
"reasoning": "为了从答案中提取推理部分,请再次用JSON格式输出。"
}
提示工程速查清单:思考链 图片提供:Maximilian Vogel
提示模板在构建AI应用程序时,你几乎从不使用固定的提示词。
你将使用一个包含变量的模板,这些变量会根据具体情况设定:用户的问题、文档中的部分内容、API返回的数据、当前时间、网上的内容等。
提示工程速查指南:模板(图片来源:Maximilian Vogel)
在每当步骤中或每次调用模板时,变量都会被实际内容替换。
提示工程速查表:提示模板 (图片来源:Maximilian Vogel)
RAG — 检索增强生成RAG 可能是过去两年在大型语言模型领域开发的最重要的技术。这项技术可以让大型语言模型访问你的数据或文档来回答问题——从而克服了预训练数据中知识的时效性限制等问题。RAG 让我们能够利用极其广泛的内容,包括数兆字节的数据量,从而使得大型语言模型的回答更加全面和及时。
提示工程快速参考指南:检索增强生成(Retrieval Augmented Generation)——一步步介绍,图片提供者:Maximilian Vogel
格式与分隔符的相关内容模型不会反复读你给的提示。
他们要么是一下子就明白这条信息是用来做什么的——它是例子、指令还是背景资料?
或者他们不会这样。然后他们的回答可能就错了。
所以,确保模型能理解你提示的结构。与Medium故事的作者不一样,你只能用字符,不能使用标题、粗体或斜体等图形高亮。在结构各个部分的过程中,善用井号、引号和换行。
提示工程提示表:格式和分隔符(来自图片)(图片来自:Maximilian Vogel)
把零件组装起来这里有一个实际的例子,展示如何将所有这些组件结合在一起。我正在使用我们之前讨论过的提示组件和分隔符,为提示构建结构。具体来说,各个部分的出现顺序是:核心指令部分,然后是示例、数据以及输出格式,最后是交互历史部分。
是的,带有示例和上下文信息的提示确实可以很长。 这就是为什么模型提供商正在扩大单次推断的上下文范围——在AI行话中,这是模型生成一个答案时能接受的最长输入。
提示工程快速参考表:复杂提示词的组成部分(图片来源:Maximilian Vogel)
多提示策略在构建像处理保险理赔的自主AI这样的复杂应用时,一个提示通常不够用。你可以构建一个提示语来分类理赔案件、检查覆盖情况、考虑客户的保险条款并计算赔偿金。
但这种方法并非最佳。将提示拆分成更小的单一任务提示,这样,构建一系列模型请求的链,这样既简单又能得到更准确的响应。通常,你首先对输入数据进行分类,然后选择一个特定的处理链,利用模型和确定性函数进行处理。
提示技巧速查表(技巧):多提示策略(图片来源:Maximilian Vogel)
亲爱的各位提示大师和学徒,祝大家的AI项目进展顺利,希望你们能找到理想的提示。
我会尽量保持这份快速参考指南更新。关注我并在LinkedIn上点击中箭头链接获取更新。
特别感谢各位埃llen John、Timon Gemmer、Almudena Pereira和Josip Krinjski帮的忙,你们的小抄真的帮了大忙!
订阅Generator的Newsletter: https://medium.com/the-generator/newsletters/ai-in-real-life-the-generator-newsletter
共同學習,寫下你的評論
評論加載中...
作者其他優質文章