OpenAI官方Prompt工程指南详解:六大原则助力高效人机交互
创作时间:
作者:
@小白创作中心
OpenAI官方Prompt工程指南详解:六大原则助力高效人机交互
引用
CSDN
1.
https://blog.csdn.net/weixin_59191169/article/details/137587207
随着人工智能技术的不断发展,大模型在各个领域的应用越来越广泛。然而,如何有效地与大模型进行交互,使其更好地满足我们的需求,成为了许多用户关注的问题。近日,OpenAI在其官方文档中发布了Prompt engineering(提示词工程)指南,为用户提供了权威且有效的指导。本文将对这份指南进行详细解读,帮助读者掌握与大模型交互的核心技巧。
OpenAI在指南中提出了六大核心原则:
- 写出清晰的指令
- 提供参考文本
- 将复杂的任务拆分为更简单的子任务
- 给模型时间“思考”
- 使用外部工具
- 系统地测试变更
接下来,本文将对这些原则进行详细解读,并结合具体示例帮助读者更好地理解。
一、写出清晰的指令
这是所有原则中最核心的一条。清晰的指令能够帮助大模型更好地理解用户的需求,从而提供更准确的回复。OpenAI给出了以下六条小技巧:
- 把话说详细:尽量提供详细的上下文信息,避免过于笼统的表述。
- 示例:不要说:“总结会议记录”,而是说:“用一个段落总结会议记录。然后写下演讲者的Markdown列表以及他们的每个要点。最后,列出发言人建议的后续步骤或行动项目(如果有)。”
- 让模型充当某个角色:通过设定角色,使模型能够更专业地完成任务。
- 示例:让模型扮演一个喜欢讲笑话的喜剧演员,要求其在回复中加入幽默元素。
- 使用分隔符清楚地指示输入的不同部分:使用三引号、XML标签等分隔符可以帮助模型更好地理解文本结构。
- 示例:使用三引号分隔文本:“”“在此插入文字”“”
- 指定完成任务所需的步骤:将复杂任务分解为一系列步骤,使模型更容易完成。
- 示例:分步说明:“步骤1 - 用户将为您提供三引号中的文本。用一个句子总结这段文字,并加上前缀“Summary:”。步骤2 - 将步骤1中的摘要翻译成西班牙语,并添加前缀“翻译:”。”
- 提供例子:通过few-shot prompt的方式,给模型提供参考示例。
- 示例:要求模型模仿特定风格:“”“落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨”“”
- 指定输出长度:明确要求模型生成特定长度的输出。
- 示例:要求模型生成两个段落的摘要:“”“在此插入文字”“”
二、提供参考文本
通过提供参考文本,可以显著降低大模型胡说八道的概率,提高回答的准确性和可靠性。
- 让模型使用参考文本作答:直接要求模型基于提供的文档回答问题。
- 示例:“使用提供的由三重引号引起来的文章来回答问题。如果在文章中找不到答案,请写“我找不到答案”。”
- 让模型通过引用参考文本来回答:要求模型在回答时引用具体文档段落,增加答案的可验证性。
- 示例:“您将获得一份由三重引号和一个问题分隔的文档。您的任务是仅使用提供的文档回答问题,并引用用于回答问题的文档段落。如果文档不包含回答此问题所需的信息,则只需写:“信息不足”。如果提供了问题的答案,则必须附有引文注释。使用以下格式引用相关段落({“引用”:…})。”
三、将复杂的任务拆分为更简单的子任务
将复杂任务分解为更简单的子任务,可以显著提高模型的处理效果。
- 使用意图分类来识别与用户查询最相关的指令:通过意图识别,可以更准确地定位用户需求。
- 示例:对于“我断网了咋整”这类问题,先进行意图识别,再给出具体解决方案。
- 对于需要很长对话的对话应用,总结或过滤之前的对话:解决模型上下文长度限制的问题。
- 解决方案:可以采用对话摘要、异步总结或向量库存储等方式。
- 分段总结长文档并递归构建完整总结:处理超长文档时,可以采用分段总结再递归汇总的方式。
- 参考研究:OpenAI在《Summarizing Books》中详细介绍了这种总结方法的有效性。
四、给模型时间“思考”
通过chain-of-thought(CoT)提示,可以让模型逐步推理,提高答案的准确性和可靠性。
- 让模型在急于得出结论之前找出自己的解决方案:避免模型过早下结论。
- 示例:要求模型先制定解决方案,再与参考答案进行比较。
- 使用内心独白来隐藏模型的推理过程:对于某些应用场景,可能需要隐藏模型的推理过程。
- 示例:通过多次API调用,隐藏模型的推理过程,仅展示最终结果。
- 询问模型在之前的过程中是否遗漏了什么内容:确保模型充分考虑所有相关信息。
- 示例:要求模型检查是否遗漏了相关片段:“还有更多相关片段吗?注意不要重复摘录。还要确保相关片段包含解释它们所需的所有相关上下文。”
五、使用外部工具
大模型并非万能,对于某些特定任务,使用外部工具会更有效。
- 使用基于嵌入的搜索实现高效的知识检索:通过RAG(Retrieval Augmented Generation)方式增强知识检索能力。
- 实现步骤:加载文件 -> 读取文本 -> 文本分割 -> 文本向量化 -> 问句向量化 -> 匹配相似文本 -> 生成回答。
- 使用代码执行来进行更准确的计算或调用外部API:对于计算任务,让模型生成Python代码进行计算。
- 示例:求解多项式方程:“求以下多项式的所有实值根:3x**5 - 5x4 - 3*x3 - 7*x - 10。”
- 给模型提供特定的功能:通过API传递函数描述,让模型生成函数参数。
- 应用场景:数据查询、数据处理等。
六、系统地测试变更
对于开发者来说,系统地测试Prompt变更非常重要,以确保改进是有效的而非偶然。
- 建议:建立评估程序,判断Prompt优化是否真正有效。
- 参考链接:https://platform.openai.com/docs/guides/prompt-engineering/strategy-test-changes-systematically
写在最后
OpenAI的Prompt engineering指南内容详尽且实用,远胜于市面上大多数零散的框架和课程。掌握这些原则和技巧,能够显著提升与大模型交互的效果。值得注意的是,良好的日常表达能力和沟通能力,对于Prompt的编写同样至关重要。
正如某公司的一条价值观所言:“布阵清晰、传球舒服、接球靠谱”,无论是与人还是与AI交互,清晰的表达和有效的协同都是成功的关键。
热门推荐
1944年,世界第一第二军事强国——苏德之间的战时工业和军事部署
香港金融管理局 | 个人两地跨境汇款常见问题集
木门漆的选择技巧与种类全解析
【工艺门怎么翻新漆】木门油漆翻新工艺 木门翻新喷漆改色方法步骤
宿舍卫生知识培训课件
野钓使用玉米的技巧分享,提高诱鱼效率和中鱼率,不吃是不可能的
如何增强免疫力:从饮食到心理的全方位指南
游走在官方与同人之间——二次元周边产业链观察
脖子后面的穴位与经络:位置、功效及作用
"碧蓝档案与雀魂的奇妙联动引发玩家热议"
汽车刹车卡钳回位异常:深度解析、高效解决与全面预防
农历二月二适合装修开工吗
无土栽培的温度控制方法
南瓜子有什么作用
【垂医病例科普】胸外科:肺部磨玻璃结节的重要性|不容忽视的健康警示
如何看一个人聪不聪明
我们如何判断一个人是否拥有智慧呢?
合伙人以什么方式出资
合伙协议的内容及范本
鱼油的副作用和危害
匈奴帝国曾称霸欧洲,后来为什么消失了?
“匈奴帝国兴衰史”思维导图
西瓜能天天吃吗?专家解读西瓜食用注意事项
钱锋院士:用“接地气”的方式培养人才
视神经脊髓炎导致的眼睛疼痛和散光如何处理
1944年德国国内经济研究:从战时困境到战后重建
通江达海延展外向型优势
卧推后脖子疼痛如伤到神经该如何解决
汽车刮到电缆为何不能下车?揭秘"法拉第笼效应"在生活中的应用
荞麦面条:糖友们的优选还是陷阱?深入剖析升糖真相