OpenAI官方Prompt工程指南详解!再也不怕写不好Prompt了!

使用AI聊天、AI写作、还是AI绘图等过程中Prompt具有重要意义。

那么Prompt要怎么写效果才好?有没有标准化的模板可以直接用?

有,OpenAI官方发布了一份提示词工程指南,该指南分享了6大策略即可让AI输出更好的结果。至此,终于算是有了一个权威且有效的Prompt工程标准文档。

图片

一、写出清晰的指令

模型是无法读懂人的心思的,所以不能让模型猜,而是直接告诉它你想要什么。

• 把话说清楚

提供尽量多的详细信息和上下文,把话说明白一点,不要太笼统。

错误示例:总结会议记录

正确示例:用一个段落总结会议记录。然后写下演讲者的 Markdown 列表以及他们的每个要点。最后,列出发言人建议的后续步骤或行动项目(如果有)

图片

• 让模型充当某个具体的角色

模型可以扮演多种角色,告诉它让它演什么角色,它就会更专业更明确。

示例:充当一个喜欢讲笑话的喜剧演员,每当我当我请求帮助写一些东西时,你会回复一份文档,其中每个段落至少包含一个笑话或有趣的评论。

图片

• 使用分隔符清楚地指示输入的不同部分

“”"、XML 标签、小节标题等分隔符可以帮助划分要区别对待的文本部分。可以帮助大模型更好的理解文本内容。

示例:用50个字符总结由三引号分隔的文本。“”“在此插入文字”“”

图片

• 指定完成任务所需的步骤

对于有些任务,最好指定为步骤 1、2,明确地写出这些步骤可以使模型更容易去实现它们。

示例:使用以下分步说明来响应用户输入。

步骤1 - 用户将为您提供三引号中的文本。用一个句子总结这段文字,并加上前缀“Summary:”。

步骤2 - 将步骤1中的摘要翻译成西班牙语,并添加前缀“翻译:”。

图片

• 举例说明

你想让模型模仿一种难以明确描述的回答风格时,直接扔给大模型例子,让大模型按你的例子来输出。

示例:按这句话的风格来写XX文章:“”“落霞与孤鹜齐飞,秋水共长天一色。渔舟唱晚,响穷彭蠡之滨”“”

图片

• 指定所需的输出长度

用户可以要求模型生成给定目标长度的输出,目标输出长度可以根据单词、句子、段落等来指定。

示例:用两个段落、100个字符概括由三引号分隔的文本。“”“在此插入文字”“”

图片

二、提供参考文本

语言模型有时候会自己发明答案,为了减少错误输出可以提供参考文本。

• 指示模型使用参考文本回答问题

让大模型使用用户提供的信息来组成其答案。

示例:使用由三重引号引起来的文本来回答问题。如果在文章中找不到答案,就写「我找不到答案」。

图片

• 指示模型从参考文本中引用答案

直接要求模型通过引用所提供文档中的段落来为其答案添加引用。可以提高正确性,增加可验证性。

示例:您将获得一份由三重引号和一个问题分隔的文档。您的任务是仅使用提供的文档回答问题,并引用用于回答问题的文档段落。如果文档不包含回答此问题所需的信息,则只需写:“信息不足”。如果提供了问题的答案,则必须附有引文注释。使用以下格式引用相关段落({“引用”:…})。

“”“<在此插入文档>”“”

问题:<在此插入问题>

图片

三、将复杂的任务拆分为更简单的子任务

任务越复杂,出错率越高,这时候就需要进行拆分细节、子任务、子目标等等。

• 使用意图分类来识别与用户查询最相关的指令

• 对于需要很长对话的对话应用,总结或过滤以前的对话

• 分段总结长文档并递归的构建完整摘要

由于模型具有Token上限,因此要总结一个很长的文档(例如一本书),我们可以使用一系列查询来总结文档的每个部分。章节摘要可以连接起来并进行总结,生成摘要的摘要。这个过程可以递归地进行,直到总结整个文档。

四、给模型时间“思考*”*

提出一个问题,肯定是需要时间思考的,不会立马给出答案,需要时间进行思考和解答,人是这样,模型也是。

• 让模型在急于得出结论之前找出自己的解决方案

如果你给大模型移到数学题问它对还是不对,这时候模型给出的答案很随机,一会儿对一会儿不对,但是如果你先让模型自己做一遍,再去判断对与不对,结果就会准非常多了。

示例:首先制定自己的问题解决方案。然后将你的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。在你自己完成问题之前,不要决定学生的解决方案是否正确。

• 使用内心独白来隐藏模型的推理过程

前面的策略表明,模型有时在回答特定问题之前详细推理问题很重要。对于某些应用程序,大模型用于得出最终答案的推理过程不适合与用户共享。

例如,在辅导应用程序中,我们可能希望鼓励学生得出自己的答案,但模型关于学生解决方案的推理过程可能会向学生揭示答案。

所以内心独白是一种可以用来缓解这种情况的策略。内心独白的思路是指示模型将原本对用户隐藏的部分输出放入结构化格式中,以便于解析它们。然后,在向用户呈现输出之前,将解析输出并且仅使部分输出可见。

• 询问模型在之前的过程中是否遗漏了什么内容

这个技巧适用于长文本问答,比如我们给了一个文档,要让大模型模型来列出与一个特定问题相关的信息。如果源文档很大,模型通常会过早停止并且无法列出所有相关信息。所以在模型输出停止以后,我们可以再继续提问:还有更多相关片段吗?

五、使用外部工具

大模型也有缺点,通过向模型提供其他工具的输出可以弥补模型的不足。

• 使用基于嵌入的搜索实现高效的知识检索

比如涉及到实时信息的搜索,大模型因为知识库更新时间的限制,它就不知道,这时候我们给它联网,它就会自己进行查询,查完以后把一堆资料灌回来,然后根据自己查到的这些资料进行回答。

• 调用外部 API

大模型由于计算能力有限,所以OpenAI建议,如果遇到需要计算的东西,最好让大模型写一段计算的Python代码,也可以把自己的API文档复制给它,让大模型知道该如何写代码调用你的API。

• 赋予模型访问特定功能的权限

偏开发者的一个技巧,普通用户可以直接跳过。

六、系统地测试变更

一般用户基本用不上,主要是帮助开发者判断更改Prompt(例如新指令或新设计)是否使系统变得更好或更差。

有了如此完整的一份Prompt工程指南,还怕写不好Prompt吗!

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

### 关于提示工程指南或教程的内容概述 提示工程是一项新兴的技术领域,专注于开发和优化提示词,以便更高效地利用语言模型完成各类任务。以下是综合多个来源的信息整理而成的关于提示工程的核心内容: #### 提示工程的基础概念 提示工程是一门跨学科技术,主要目标是设计高效的提示(Prompts),从而让大型语言模型能够更好地理解和响应用户的输入[^3]。这项技术不仅适用于自然语言处理任务,还扩展到了数学推理、代码生成等多个领域。 #### 学习资源推荐 1. **《提示工程指南》中文版** 这份指南全面介绍了提示工程的基本原理及其实际应用案例。它适合从零基础入门的学习者,同时也覆盖了高级技巧和技术细节[^5]。 2. **OpenAI 提示工程指南详解** OpenAI 官方文档提供了详细的提示工程讲解,强调通过具体的设计原则提升与语言模型互动的质量。该资料特别指出,在不同场景下调整提示策略的重要性[^4]。 3. **极简教程——人工智能提示工程** 针对希望快速上手的人群,《Prompt Engineering 极简教程》是一个不错的选择。此书聚焦于解决现实世界中的问题,并附带实用的例子说明如何构建有效的提示语句[^2]。 #### 实践建议 为了提高效率并达到理想效果,可以遵循以下几个方面来进行练习: - 明确目标:清楚定义想要实现的功能或者解答的问题; - 数据准备:确保训练数据干净且具有代表性; - 测试迭代:持续测试新版本直至满足性能指标为止; ```python def generate_prompt(task_description): """ Generate a prompt based on the given task description. Args: task_description (str): Description of the task to be performed by the model. Returns: str: Formatted prompt ready for submission to an LLM. """ base_template = "You are tasked with performing {task}. Please provide your response below:\n\n" formatted_task = f"{base_template.format(task=task_description)}" return formatted_task ``` 以上函数展示了创建自定义化提示的一个简单方式,可以根据特定的任务描述动态生成相应的询问格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值