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 -…...
OpenClaw性能调优:Qwen3-14B并发请求处理最佳实践
OpenClaw性能调优:Qwen3-14B并发请求处理最佳实践 1. 为什么需要性能调优? 去年冬天,当我第一次在本地部署OpenClaw对接Qwen3-14B模型时,遇到了一个尴尬的问题——每当并发请求超过5个,系统就会开始出现响应延迟和任…...
前端组件库吐槽:别再用那些华而不实的组件了!
前端组件库吐槽:别再用那些华而不实的组件了! 毒舌时刻 前端组件库就像超市里的预制菜——看起来方便,实际吃起来味同嚼蜡。Ant Design、Material UI、Element Plus... 一堆组件库让你挑花了眼,结果你的页面还是丑得像车祸现场。…...
简易的分布式kv设计
1. 前言 在 Raft KV 系统中,每个节点(Node)都是对等的。一个典型的请求流向是: Client -> Leader Node -> Raft 日志同步 -> 大多数节点确认 -> 应用到状态机 (KV Store) -> 返回 Client。 2. 设计步骤 Raft 核…...
如何快速实现文件格式伪装?apate工具完整使用指南
如何快速实现文件格式伪装?apate工具完整使用指南 【免费下载链接】apate 简洁、快速地对文件进行格式伪装 项目地址: https://gitcode.com/gh_mirrors/apa/apate 在当今数字时代,文件格式伪装技术已经成为保护数据隐私和突破平台限制的重要工具。…...
DAY3--SQL单字段去重查询
SQL基础入门:电商用户数据单字段去重查询实操 这一章能解决什么电商工作问题? 前两章我们学了SELECT *(全量看数据)和SELECT 字段列表(精准取字段)。这一章讲的是另一个高频操作:去重。 我讲一个…...
Redis 实战篇1.4 (Redis优化秒杀)
Redis优化秒杀原流程思路Redis优化秒杀在Redis中库存用String数据类型存储,为了确保一人一单,则订单id存储用Set数据类型保证数据的唯一性lua脚本保证原子性异步秒杀方案案例:需求创建订单(还没完成明天继续)// 解锁的…...
ChilloutMix NiPrunedFp32Fix 模型完整教程:从零开始掌握AI图像生成
ChilloutMix NiPrunedFp32Fix 模型完整教程:从零开始掌握AI图像生成 【免费下载链接】chilloutmix_NiPrunedFp32Fix 项目地址: https://ai.gitcode.com/hf_mirrors/emilianJR/chilloutmix_NiPrunedFp32Fix ChilloutMix NiPrunedFp32Fix 是一款基于稳定扩散技…...
提升前端效率:用快马实践vibe coding快速生成沉浸式番茄钟应用
最近在尝试提升前端开发效率时,发现了一种很有意思的开发方式——vibe coding。简单来说,就是通过描述想要的界面氛围和交互感觉,快速生成对应的功能代码。这种方式特别适合需要快速验证想法或者搭建基础框架的场景。 今天就用InsCode(快马)…...
PDFKit核心源码分析:揭秘HTML到PDF的转换魔法
PDFKit核心源码分析:揭秘HTML到PDF的转换魔法 【免费下载链接】pdfkit A Ruby gem to transform HTML CSS into PDFs using the command-line utility wkhtmltopdf 项目地址: https://gitcode.com/gh_mirrors/pdfk/pdfkit PDFKit是一款强大的Ruby gem&#…...
2025届学术党必备的降重复率助手实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于AI生成文本展现出的高频特性,我们可运用如下一系列指令来实现去机械化的目标…...
