ChatGPT Prompt 编写指南
一、第一原则:明确的意图
你需要明确地表达你的意图和要求,尽可能具体、描述性、详细地描述所需的上下文、你期望的结果等。你的要求越明确,越有希望获得你想要的答案。
糟糕的案例 ❌
写一首关于 OpenAI 的诗。
更好的案例 ✅
以莎士比亚的风格写一首短小的、鼓舞人心的诗,重点关注最近 DALL-E 产品推出(DALL-E 是一种文本到图像的 ML 模型)的事情。
上面的例子明确提出了几点要求:
1.
以莎士比亚的风格
2.
短小的、鼓舞人心的
3.
跟 DALL-E 产品相关的
由于 ChatGPT 只掌握了 2021 年的知识,可能不知道 DALL-E 是什么,我们还在 prompt 里简单解释了 DALL-E,帮他理解模棱两可的概念。
二、理解 Prompt 的主要构成
Prompt 的主要构成有:
•
Instruction 指令:您想让模型执行的特定任务或指令
•
Context 上下文:可以涉及外部信息或附加上下文,可以引导模型产生更好的响应
•
Input Data 输入数据:我们感兴趣的输入或问题(以期望 ChatGPT 给出解答)
•
Output Indicator 输出提示:表示希望 ChatGPT 以什么形式来输出结果
接下来用几个 Prompts 来加深理解:
案例一
我希望你能担任私人教练的角色。我会提供你一个想通过体育锻炼变得更健康的人的信息,而你的角色是根据他们现有的健康水平、目标和生活习惯,为这个人设计最佳的计划。你应该利用你对运动科学、营养建议的知识,来为他们创建一个适合他们的计划。我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。”
其中,
1.
上下文:我希望你能担任私人教练的角色。我会…,来为他们创建一个适合他们的计划。
2.
指令:我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。
案例二
翻译成英文:如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答。
1.
指令:翻译成英文:
2.
上下文:如今 ChatGPT 给人带来的最大的震撼在于,… 他总能围绕问题作出解答。
案例三
为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。输出内容为英文。五点的每一点都要超过 20 个单词。
输出格式为:
标题:
搜索关键词:
五点:1。 ; 2. ; 3. ; ...
该产品的特征是:”””
[品牌] 防切割手套,Level A6 防切割级别,透气,舒适性强,黑色,适用于仓库、货运、钓鱼、园艺、木工,从 XS 到 XXL 码齐全,适用于各种人群需求。
”””
1.
指令:为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。
2.
上下文:输出内容为英文。五点的每一点都要超过 20 个单词。
3.
输出提示:输出格式为:…
4.
输入数据: 该产品的特征是:””” [品牌] 防切割手套,… 适用于各种人群需求。”””
三、一些 Prompt 的优化迭代技术
使用以下的方法,不断地优化你的 prompt。
1). 框选你想表达的重点信息
使用 ### 或 """ 等符号框选重点信息。使用符号来断开不同类型的内容会显著提升 ChatGPT 对内容的理解能力。
糟糕的案例 ❌
将下面的文本总结为最重要的要点的项目符号列表。
如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答…………………
更好的案例 ✅
将下面的文本总结为最重要的要点的项目符号列表。
文本:”””
如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答…………………
”””
2). 指定结果的输出格式
当你期望 ChatGPT 的输出内容具有一定结构时,把你的期望表达出来。
糟糕的案例 ❌
从下面的文本中提取所有的人名和他们的职业。
文本:”””
设计师小牛陪小王去小李家做客,小李的老婆厨师小丁做了一道红烧带鱼。小王说“非常好吃!”
”””
更好的案例 ✅
从下面的文本中提取所有的人名和他们的职业。
输出的格式:<人名>(<职业>),<人名>(<职业>),...
文本:”””
设计师小牛陪小王去小李家做客,小李的老婆厨师小丁做了一道红烧带鱼。小王说“非常好吃!”
”””
3). “Act as” trick 确定 ChatGPT 的立场
针对一些问题,尤其是开放性问题。整个互联网可能存在上百甚至上千万中答案,为 ChatGPT 设定立场有助于它找到最符合自己人设(也最符合你需要的)一种答案。
糟糕的案例 ❌
你如何看待婚姻?
更好的 ✅
请作为女权主义者,回答以下问题:”你如何看待婚姻?”
or
请作为大男子主义者,回答以下问题:”你如何看待婚姻?”
4). Few-shot 教教他,给 ChatGPT 一些案例
对于 ChatGPT 熟悉的任务,你可能不需要给他任何例子(Zero-shot)比如,你给他 10 条评价某一个商品的 Review,让 ChatGPT 判断多少条是积极的,多少条是消极的。他通常可以直接给你正确的结果。因为它本身对情绪的理解能力已经很强了。但如果您正在尝试让 ChatGPT 做一件他不熟悉的事情,那可能需要提供更多案例。
ChatGPT 已经熟悉的任务,不需要案例。即 zero-shot ✅
请识别下列评论的态度是怎么样的?给他们的态度打个分,1-10 分,1 分最消极,10 分最积极
评论:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
💥💥💥💥💥
糟糕的案例 ❌
请将以下文本归类到三个字母:X/Y/Z
文本:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
💥💥💥💥💥
在糟糕的案例中,我们并没有定义 X, Y, Z 这三类分别代表什么意思。ChatGPT 虽然会按它的逻辑做好一定的分类,但我们并不一定会满意它的分类结果。我们没有明确定义需求,甚至我们连我们自己需要的东西是什么都还没弄清楚。这时候你就得回到我们的“第一原则”:搞清楚你自己的明确意图是什么。
更好的案例 ✅
案例:
这家饭店里有虫子,靠。// X
我好喜欢鱼香肉丝。// Y
这家店的餐具挺好看的,但是吃的东西一般。// Z
🤡🤡🤡🤡 // Z
好吧。// Z
请将以下文本归类到三个字母:X/Y/Z
文本:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
💥💥💥💥💥
在上面的例子中,我们虽然没有明说 X, Y, Z 是什么意思。但通过案例表达了,X 偏负面评价,Y 偏正面评价,Z 的情绪未明确显露。这个时候 ChatGPT 为我们做好的分类就很接近我们想要的结果了。
5). 减少模糊的表达,明确提出你的需求
糟糕的案例 ❌
你总结的产品描述应该非常简练、只包含一些语句、别太多。
更好的 ✅
用 2-3 句话总结该产品,不超过 30 个字。
6). 告诉他要做什么,而不是不要做什么
糟糕的案例 ❌
以下是一名客服和一名客户之间的对话。请勿询问用户名或密码。请勿重复。
客户:我无法登录我的账户。
客服:
更好的 ✅
以下是客服与顾客之间的对话。客服将尝试诊断问题并提出解决方案,同时避免问任何与用户名、密码相关的问题。
顾客:我无法登录我的账户。
客服:
7). “Step by Step” trick,帮助 ChatGPT 做推理
也叫做:Chain-of-Thought Prompting。
实验证明,在应对 zero-shot 问题时,你在问题最后加上“Let’s think step by step”,ChatGPT “显性的推理能力”会得到明显提升。
最后,
这篇文章的内容还是比较浅显。
附录:
好的提问示例:
【提问句式整理】
(你不知道,GPT 知道)
1、元问题:我想了解 xxxx,我应该向你问哪些问题?
2、请给我列出 xxx 领域/行业相关的,最常用的 50 个概念,并做简单解释。如果有英文缩写,请给出完整的英文解释。
3、请详细介绍一下 elon musk 的主要生平事迹。请详细介绍一下 tesla 这家企业的发展历程。
(你知道,GPT 也知道)
检验认知:
1、对于 xxx 主题/技能,你认为哪些是我必须理解和掌握的核心要点?
2、我理解的 xxx 是这样的,你觉得我的理解对吗?
3、我对 xxx 有一些想法,你能帮我批判性地分析一下这些想法的优点和缺点吗?
4、我正在考虑 xxx 的决定,你能帮我分析一下可能的结果和影响吗?
扩充认知:
1、我知道 xxx 的概念,我想知道更多关于 xxx 的信息。
2、我在 xxx 问题上遇到困难,你能提供一些可能的解决方案或建议吗?
3、我想要深入学习 xxx,你能推荐一些进阶的学习资源或学习路径吗?
4、我想要在 xxx 领域有所创新,你能提供一些启发或想法吗?
5、我想在 xxx 领域提升自己,你能根据最新的研究和趋势给我一些建议吗?
6、我正在考虑学习 xxx,你能给我一些关于这个领域未来发展的观点吗?
7、(背景信息 xxx),我要做关于 xxx 的研究,我认为原因是,还有其他可能的原因吗?给出一些可能的研究假设。
8、我是一个 xx 新手,马上要采访这个行业的资深大佬,我应该向他请教哪些有价值的问题?
(你知道,GPT 不知道)
介绍背景现象之后可以向 gpt 发问,你怎么看待这种现象?可能的原因有哪些?这会对 xxx 产生什么样的影响?你觉得 xxx 应该怎么做?
(你和 GPT 都不知道)
如果 xxx,这对社会会产生什么影响?
检验自己认知/能力水平提问句式
1、为了测试我对 xxx 的理解程度,你会问我什么问题来检验我的水平,最少 10 个。
2、我是 xx 领域的专家,你会问我哪些问题来检验我的专业水平?
3、追问一句,这些我都懂,还有更专业更细更深的问题吗?
4、你问我答的游戏
扩展自己能力边界的提问句式我已经很精通 xxx 了,我想知道我是否还有需要学习的地方?然后不停的问,还有呢还有呢?
相关文章:

ChatGPT Prompt 编写指南
一、第一原则:明确的意图 你需要明确地表达你的意图和要求,尽可能具体、描述性、详细地描述所需的上下文、你期望的结果等。你的要求越明确,越有希望获得你想要的答案。 糟糕的案例 ❌ 写一首关于 OpenAI 的诗。 更好的案…...

蚁群算法 (Ant Colony Optimization) 算法详解及案例分析
蚁群算法 (Ant Colony Optimization) 算法详解及案例分析 目录 蚁群算法 (Ant Colony Optimization) 算法详解及案例分析1. 引言2. 蚁群算法 (ACO) 算法原理2.1 蚂蚁觅食行为2.2 算法步骤2.3 数学公式3. 蚁群算法的优势与局限性3.1 优势3.2 局限性4. 案例分析4.1 案例1: 旅行商…...

安卓动态设置Unity图形API
命令行方式 Unity图像api设置为自动,安卓动态设置Vulkan、OpenGLES Unity设置 安卓设置 创建自定义活动并将其设置为应用程序入口点。 在自定义活动中,覆盖字符串UnityPlayerActivity。updateunitycommandlineararguments (String cmdLine)方法。 在该方法中,将cmdLine…...

通信协议—WebSocket
一、WebSocket编程概念 1.1 什么是WebSocket WebSocket 是一种全双工通信协议,允许在客户端(通常是浏览器)和服务器之间建立持久连接,以实现实时的双向通信。它是 HTML5 标准的一部分,相比传统的 HTTP 请求ÿ…...

helm推送到harbor私有库--http: server gave HTTP response to HTTPS client
harbor私有库访问的是http模式 harbor 2.8版本以上可以存储helm镜像 docker镜像推送的时候需要docker端配置insecure-registries 发现helm推送只能在harbor部署的本机使用localhost才能推送成功,即 helm push xxx.tgz oci://localhost:80/library 使用helm pus…...

数据结构——实验一·线性表
海~~欢迎来到Tubishu的博客🌸如果你也是一名在校大学生,正在寻找各种变成资源,那么你就来对地方啦🌟 Tubishu是一名计算机本科生,会不定期整理和分享学习中的优质资源,希望能为你的编程之路添砖加瓦⭐&…...

快速搭建深度学习环境(Linux:miniconda+pytorch+jupyter notebook)
本文基于服务器端环境展开,使用的虚拟终端为Xshell。 miniconda miniconda是Anaconda的轻量版,仅包含Conda和Python,如果只做深度学习,可使用miniconda。 [注]:Anaconda、Conda与Miniconda Conda:创建和管…...

OpenCV相机标定与3D重建(66)对立体匹配生成的视差图(disparity map)进行验证的函数validateDisparity()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 使用左右检查来验证视差。矩阵 “cost” 应该由立体对应算法计算。 cv::validateDisparity 函数是 OpenCV 库中用于对立体匹配生成的视差图&…...

2025年新开局!谁在引领汽车AI风潮?
汽车AI革命已来。 在2025年伊始开幕的CES展上,AI汽车、AI座舱无疑成为了今年汽车行业的最大热点。其中不少车企在2025年CES上展示了其新一代AI座舱,为下一代智能汽车的人机交互、场景创新率先打样。 其中,东软集团也携带AI驱动、大数据支撑…...

Spring自定义BeanPostProcessor实现bean的代理Java动态代理知识
上文:https://blog.csdn.net/qq_26437925/article/details/145241149 中大致了解了spring aop的代理的实现,其实就是有个BeanPostProcessor代理了bean对象。顺便复习下java代理相关知识 目录 自定义BeanPostProcessor实现aopJava动态代理知识动态代理的几…...

三篇物联网漏洞挖掘综述
由于物联网设备存在硬件资源受限、硬件复杂异构, 代码、文档未公开的问题, 物联网设备的漏洞挖掘存在较大的挑战: 硬件资源受限性: 通用动态二进分析技术需要在运行程序外围实施监控分析。由于物联网设备存储资源(存储)的受限性,…...

Pytorch深度学习指南 卷I --编程基础(A Beginner‘s Guide) 第1章 一个简单的回归
本章正式开始使用pytorch的接口来实现对应的numpy的学习的过程,来学习模型的实现,我们会介绍numpy是如何学习的,以及我们如何一步步的通过torch的接口来实现简单化的过程,优雅的展示我们的代码,已经我们的代码完成的事…...

【EXCEL_VBA_实战】多工作薄合并深入理解
工作背景:多个工作薄存在冲突的名称,需快速合并 困难点:工作表移动复制时,若有冲突的名称,会不断弹出对话框待人工确认 思路:利用代码确认弹出的对话框 关键代码:Application.DisplayAlerts …...

mysql之表的外键约束
MySQL表的外键约束详细介绍及代码示例 外键约束是数据库中用于维护数据完整性和一致性的重要机制。它确保一个表中的数据与另一个表中的数据相关联,防止无效的数据引用。本文将详细介绍了外键约束的各个方面,并通过具体的代码示例进行演示。 1. 外键约束…...

Tuning the Go HTTP Client Settings
记录一次Go HTTP Client TIME_WAIT的优化 业务流程 分析 通过容器监控发现服务到事件总线的负载均衡之间有大量的短链接,回看一下代码 发送请求的代码 func SendToKEvent(ev *KEvent) error {data, err : json.Marshal(ev.Data)if err ! nil {return err}log.Pri…...

第二十四课 Vue中子组件调用父组件数据
Vue中子组件调用父组件数据 Vue是不建议在不同的组件直接传递值的,我们需要使用props方法来进行组件间的值传递 子组件调用父组件数据 父模板的数据,子组件是无法直接调用的 无法直接调用 1)组件调用顶级对象中的data <div class&quo…...

Jenkins-pipeline语法说明
一. 简述: Jenkins Pipeline 是一种持续集成和持续交付(CI/CD)工具,它允许用户通过代码定义构建、测试和部署流程。 二. 关于jenkinsfile: 1. Sections部分: Pipeline里的Sections通常包含一个或多个Direc…...

小米Vela操作系统开源:AIoT时代的全新引擎
小米近日正式开源了其物联网嵌入式软件平台——Vela操作系统,并将其命名为OpenVela。这一举动在AIoT(人工智能物联网)领域掀起了不小的波澜,也为开发者们提供了一个强大的AI代码生成器和开发平台。OpenVela项目源代码已托管至GitH…...

NodeJs如何做API接口单元测试? --【elpis全栈项目】
NodeJs API接口单元测试 api单元测试需要用到的 assert:断言库 (还要一些断言库比如:Chai)supertest: 模拟http请求 简单的例子: const express require(express); const supertest require(supertest); const assert require(assert);…...

bundletool来特定设备规范的json安装aab包
1、获取自己设备的设备规范json java -jar ./bundletool.jar get-device-spec --outputj:/device-spec.json 2、根据设备规范生成apks包 java -jar ./bundletool.jar build-apks --device-specj:/device-spec.json --bundleapp-dev-release.aab --output随便的文件名.apks -…...

2024年第十五届蓝桥杯青少组国赛(c++)真题—快速分解质因数
快速分解质因数 完整题目和在线测评可点击下方链接前往: 快速分解质因数_C_少儿编程题库学习中心-嗨信奥https://www.hixinao.com/tiku/cpp/show-3781.htmlhttps://www.hixinao.com/tiku/cpp/show-3781.html 若如其他赛事真题可自行前往题库中心查找,题…...

.Net Core微服务入门全纪录(四)——Ocelot-API网关(上)
系列文章目录 1、.Net Core微服务入门系列(一)——项目搭建 2、.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上) 3、.Net Core微服务入门全纪录(三)——Consul-服务注…...

chrome游览器JSON Formatter插件无效问题排查,FastJsonHttpMessageConverter导致Content-Type返回不正确
问题描述 chrome游览器又一款JSON插件叫JSON Formatter,游览器GET请求调用接口时,如果返回的数据是json格式,则会自动格式化展示,类似这样: 但是今天突然发现怎么也格式化不了,打开一个json文件倒是可以格…...

[Qt]系统相关-网络编程-TCP、UDP、HTTP协议
目录 前言 一、UDP网络编程 1.Qt项目文件 2.UDP类 QUdpSocket QNetworkDatagram 3.UDP回显服务器案例 细节 服务器设计 客户端设计 二、TCP网络编程 1.TCP类 QTcpServer QTcpSocket 2.TCP回显服务器案例 细节 服务器设计 客户端设计 三、HTTP客户端 1.HTTP…...

docker 安装 nginx 详解
在平常的开发工作中,我们经常会用到 nginx,那么在 docker 中 如何安装 nginx呢?又有哪些需要注意的事项呢?简单来说,第一步:拉取 nginx 镜像;第二步:创建 挂载目录并设置 nginx.conf…...

2025年大模型气象预测架构与商业化影响
随着人工智能技术,尤其是大模型(如深度学习、大规模神经网络)的飞速发展,气象预测的传统方法正在经历深刻变革。2025年,气象预测将借助大模型技术进入一个新的阶段。本文将从架构角度详细探讨2025年大模型在气象预测中的应用,并分析其对商业化的潜在影响。 一、2025年大模…...

基于51单片机和ESP8266(01S)、八位数码管、独立按键的WiFi定时器时钟
目录 系列文章目录前言一、效果展示二、原理分析三、各模块代码1、延时函数2、定时器03、串口4、数码管扫描5、独立按键扫描 四、主函数总结 系列文章目录 前言 有三个版本: ①普中开发板版本1:28800bps11.0592MHz,12T ②普中开发板版本2&am…...

Androidstudio 中,project下的.gitignore和module下的.gitignore有什么区别,生效优先级是什么
在 Android Studio 项目中,project 根目录下的 .gitignore 文件和 module 目录下的 .gitignore 文件作用和生效优先级是不同的,理解它们之间的区别非常重要,可以避免不必要的提交和冲突。 1. project 根目录下的 .gitignore: 作…...

python学习笔记3-字符串常用的方法
一、判断(9个): 二、查找和替换(8个) 三、⼤⼩写转换(5个) 四、⽂本对⻬(3个) 五、去除空⽩字符(3个) 六、拆分和连接 (6个࿰…...

提示词工程(Prompt Engineering)
1. Prompt 是什么? Prompt:提示词,是描述 AI 需要执行的任务的自然语言文本。 如上图所示,Prompt就是用户的提问。其实我们大家都用过Prompt,比如我们使用的ChatGPT、文心一言、豆包等AI产品时的提问就是Prompt&…...