05 驯服AI:掌握prompt设计
你好,我是键盘,我们继续驯服 GPT。
刚开始设计 prompt 的时候,通常会走 2 个极端。要么是缺乏背景的简陋提问,要么是一大段拥挤的描述,结构化和可读性欠佳。这样不仅容易遗漏,交给 GPT 执行的效果也不尽如人意。
其实,这是因为你的需求没有梳理好就开跑了,要不就是缺乏示例,AI 理解不到你要的细节。
想要得到相对合心意的回答,合理的顺序是“先劳心,再劳力”,把更多的精力放在前置的思考环节。
那么,怎么梳理自己的需求呢?从混乱到秩序、从简陋到简洁(未必是简单),怎么将问题设计成清晰、有效的 prompt?
这节课我们来实操一下。通过让 ChatGPT 扮演一位“重磅好书推荐助手”,掌握需求拆分、prompt 规划方法和 prompt 设计框架参考,帮助你有效提问,在提问过程中使用一些 prompt 工程技巧来提升效果。最后,我们也会针对结果做一个综合评估,完成闭环。
什么是清晰、明确的需求?
“清晰、明确的需求”是指准确地、简洁地描述要解决的问题,有足够的背景信息和细节要求,并且容易被 AI 理解和实现。了解这个关键技能,不仅能够让ChatGPT的输出更贴近预期,在向上汇报或工作沟通的时候,都会让你事半功倍。
想要表达出清晰、明确的需求,我们可以分为 3 步走:明确需求并拆分,提供必要背景信息,补充细节约束。
明确需求并拆分这一步,类似平时我们做需求。第一个要点,是清晰知道自己面对的任务目标是什么,用清晰、简洁的语言表达出来,尽量能够一句话说明白。第二点,是再把它切分成大大小小的事项,万一遇到特别硬的骨头,你还可以再敲碎一点,按优先级逐项解决。抓大放小,有秩序地规划 prompt 会更加有条理性。因为所有的需求一定伴随着一个预期,所以第三个要点,就是补充期望的结果。
之后就到了第二步,提供必要背景信息。你想要解决什么领域、行业的课题?受众是谁?有没有相关的概念要交代?是否需要提供材料或数据?
最后,补充细节约束。可以补充一些个人偏好和呈现效果的预期。通常我会聚焦在DO & DON’TS + 对应的示例、数量/字数要求、风格(语气、语言)、输出的格式这4个方向上。当然,和GPT交流的时候,还可以灵活发挥。
我经常会说这么两句话。
一番整理后,通用模版已经呼之欲出。“今天你要做什么助手”的模版我放在了下面,相信能够让你更有条理地解决问题。
[主题——做什么],[达到......目的]
背景信息:
1
2
3
步骤: #可以是按优先级排列,也可以是按逻辑排列
- 细节事项 1
- 细节事项 2
- 细节事项 3
要求:
[你的细节约束]
材料/数据:
[你的材料/数据(如需)]
“重磅好书推荐助手”的准备工作
以“重磅好书推荐助手”的需求为例,现在,我们就要开始逐步设计了。关于prompt的设计,可以分成梳理自己的需求+书写prompt两部分。
准备一:需求的梳理和拆分
需求的梳理我们按照前面说的梳理需求的三个环节去练习。
明确需求、结构化拆分
- 尝试一句话简述明确的需求
这里我写的是:GPT 将担任我的重磅好书推荐助手,随时随地提供高质量的推荐,为我节省被动接收推荐信息的时间。同时,还能灵活地根据需求调整推荐类型或细节。
- 优先级
- 随时随地、高质量的推荐(P0)
- 节省时间(P1)
- 可调整(P2)
总结下来,就是我会聚焦高质量来展开整体设计。在此基础上,能够有效节省时间意味着可以取代同类产品或服务,而实现可调整意味着有更大的应用空间。
- 期望的结果
为了避免遗漏关键信息,一定要把自己期望得到的信息梳理出来。比如这次,我希望“重磅好书推荐助手”输出封面、书名、作者、题材、出版时间、页数 、价格参考、豆瓣评分,甚至输出书的简介、 GPT 推荐的理由,而且同一批的推荐要有题材跨度体现。
最后,我们再完善一下需求侧细节。让输出的内容更准确。
- 需要指定题材偏好:技术入门手册、工具书、成功学、武侠小说和厚黑学都别来。
- 可配置的推荐数量:默认 5 本。
- 定义自己期望的重磅:大咖出品、经典巨作、经过时间的考验、有深度思考、有反直觉的理论、引起了广泛讨论、有独立的观点而不是迎合读者,豆瓣评分 8 分起。
- 偏好:中文、脍炙人口或幽默的文笔。
必要的背景信息
按照刚才提供的梳理框架,这里可以尝试补充关于“重磅好书推荐助手”这个角色关于主体/受众、行业/领域、相关概念、相关材料/数据,一共4个方面的信息。
- 主体/受众是谁:面向我本人、爱好阅读或者有同样需求的朋友均可使用。
- 领域、行业和角色:书籍推荐的领域不限,但个人更偏好科技、人文、名人自传。
- 是否有相关概念 AI 可能不了解:刚才补充的需求侧细节里,或者我们之后的表达里,会不会有AI不了解的概念?
这里列举了几个AI可能不了解的概念。
- 豆瓣评分:豆瓣读书平台,有代表性意义的评分参考。
- 入门手册:Html、CSS、Javascript、Photoshop、Figma、炒股技术等工具的学习类书籍。
- 成功学:核心套路是“我的成功可以复制”,如何赚大钱。
注意,第3步可以通过新开会话来提前试探,确认 ChatGPT是了解的,那就不用补充。
使用试探型 prompt,可以先撩一下 ChatGPT。
或者
两种试探都可以。
不过为了防止 AI 定义和自己心目中的定义出现偏差,我还是决定把它先放在初始指令中,描述自己的定义,借此观察结果对比,同时可以感受prompt压缩优化的过程。指导思想主打“我不要你觉得”。
- 哪些材料要输入:文档或数据不是本案例的必要项,纯指令触发。
补充更多约束
信息已经比较丰满了,整合prompt之前,我们再补充一些约束。
- “DO & DON
'
TS”+对应的示例:在“重磅好书推荐助手”的人设下,指的就是补充重磅书籍的参考、期望和不推荐的类型的例子。 - 数量、字数要求:数量还是默认5本,不过我也会下达推荐几本的指令。输出字数方面没有特别要求。
- 风格:这里指的是希望GPT用什么方式回答。比如:简洁/严谨/xx口吻/富有创造性……的睿智书虫;简洁的、通俗易懂的语言,不要干巴巴的书面语。
- 输出的格式:我希望GPT能图文并茂,使用 Markdown 和 emoji 美化输出,而且按价格升序提供好书传送门,看中的直接买。
- 附加要求:希望除了推荐的书籍,还有一些锦上添花的结果,不过目前还没想好,具体要看跑机的结果来调整,也许还需要实时的互联网信息。
准备二:整合设计 prompt
这是一个角色扮演类型的 prompt,可以套用下面的衍生模版进行细化设计。
你是一位 [xx领域的xx角色],[你的任务是xxx],面向 [目标群体], 我希望你 [怎么回答],达成 [目标]。
[详细背景信息] #部分可以整合到上面第一句话
背景
概念
材料
...
[输出模版] #包含结构化的输出信息,相当于[步骤]
1
2
3
[要求]
1
2
3
[你的指令]
注意,和这节课最开始分享的初始模版相比,这里的描述有 2 处延伸。一个是开头增加了角色扮演,帮 ChatGPT 圈定特定领域的知识来高效解决问题。
另一个是描述问题,最后再下达指令。类似编程中的传递参数,将更具体的主题参数传入 [你的任务是xxx],达成使用变量来灵活控制输出的目的。
接下来,我们就可以在模版的基础上规划 prompt了。因为重点是思考,而不是书写本身。我推荐在Mac备忘录/Win记事本中先做好 prompt 规划,完成之后再贴到 ChatGPT 对话框。这样的好处是轻松换行,梳理清晰、好读的结构化信息,不用担心手滑导致没写完就回车飞出去了,增加时间成本。
最后,在备忘录中填空,形成完整的 prompt 设计。你会发现,我们最开始梳理的需求并不是生硬塞进模板里的 ,而是会有一些变化。通过移动、合并同类项等等这样的操作,一个五脏俱全的 prompt 就诞生了。最终我希望ChatGPT输出的是“科技/2”,也就是两本科技类的书。
💬 prompt
“重磅好书推荐助手”的跑机尝试
🤖️ ChatGPT
阶段一:试错,让prompt更简洁
在跑机阶段,不管我们之前设计的 prompt 有多完善,都一定会遇到偏差和问题。这里我给你提供 3 个试错和纠偏的方向,有条理地迭代初始 prompt。
- 根据“输出”来修订“输入”
比如推荐类型不及预期,我在指令部分要求的是“科技/2”,但是结果毫无科技浓度,仔细检查才发现开头的需求概述中要求“推荐[/数量]本不同题材”,这里就造成了咒语冲突,GPT也很为难。既然原因清晰,那可以选择砍一刀解决。
结合试探型prompt和第一次跑机的结果来看,AI是懂“重磅好书”、“豆瓣评分”和“成功学书籍”这几个概念的,所以我们也可以放心地把它们删掉。
- 纠偏
如果局部有错误,指出错误和正确的结果即可。比如我不要工具书,结果来个《PS 入门到精通》就很皮痒了,再比如不按要求,给出了低于 8 分的推荐等等。如果你想只修改细节,一般也有通用的prompt话术来调教。
比如:
或
都是可以的。
- 信息一致性检验
通常指的是验证相关信息是否瞎编,是否毫无关联。这里的一致性指的就是书名、作者和出版时间匹配。
GPT 无法直接联网,算出的数据是基于 2021 年 9 月前的信息,“好书推荐助手”的价格、评分与最新信息会有出入。虽然后续插件能够解决,不过这里就需要咱们手动查询了。建议移步到 newBing 验证,降低ChatGPT 会话次数爆掉的风险。(这里我用了 ChatGPT 小号)
那我的“重磅好书推荐助手”都出过什么错,我又是怎么解决的呢?这里分享一下,希望能帮到你。
- 第一次产生中断,无法验证“惊喜”模块:继续迭代。
- 指令中指定了题材,和上文要求“推荐不同题材”冲突,GPT 凌乱了:只保留推荐数量。
- 中断的衔接不理想,提前点击“Stop”止损:点击编辑图标来调整。
- 输出数量不稳定:调整描述。
- 书籍实例参考数量偏多:删减。
- 点击传送门链接,发现结果不匹配,这和 GPT 的幻觉和无法直接联网的局限有关:官方联网插件能够一举解决。
- 图片已经验证能输出:可以暂时拿掉,等全流程跑通之后重新放出。
根据试错的结果整理,用 3 大原则来应对 prompt 优化,根据输出调整、删冗余、去冲突。对照前文可以直观看到,优化的 prompt 长度精简了近一半。
💬 prompt
🤖️ 尝试 GPT-4 结果
测试发现,GPT-4 的细节良好地体现了付费模型的素养,很听话、中断无缝衔接,尽享丝滑。(Markdown 自身无法跨对话拼合代码渲染,但信息完整)
阶段二:迭代,输出更多惊喜
这个阶段,你可以继续检验新的输出是否达成目标。另外,如果你还想得到关于问题的拓展性信息,可以持续问答或补充更多信息来训练 AI。
🤖️ 迭代结果
这里我尝试了两个方向。
- 指定其他数量(对应“1”),触发新的推荐,任务是可以完成的。
- 根据得到的惊喜,调整期望的方向,可以看到,GPT 灵活应用了上文链接的格式要求。
看实际需要,你也可以再进行一轮或多轮迭代打磨。之后,将迭代过程的细节要求合入到初始 prompt。现在整体已经达到我的预期了,我们继续下一步。
阶段三:人设保存
为了下一次调用更方便,大幅缩短时间,最低成本是掏出系统记事本,粘贴备份prompt,防止会话意外丢失。当你切换小号或者 AI 的时候(Claude、Bard等等),感受一下有备无“换”。
你也可以使用第三方ChatGPT客户端保存为快捷指令,后续课程我还会分享怎么用输入法来保存,敬请期待。
一次回话结束之后,除了在原会话输入推荐数量来继续,你还可以粘贴指令到新会话,或者直接调出快捷指令,一个清脆的回车声,起飞。
结果评估
因为我们还在不断学习,输出不理想是很正常的,这个时候就需要增加一个动态的可行性综合评估,除了评估结果,还能评估自己的prompt质量,承担方向指引的作用。
先说3 个评估维度:可行性、质量、稳定性。
- 整体可实现。
- 质量在预期内,口吻还可以迭代优化。
- ChatGPT 对 [/数量] 的指定解读不稳定,经常输出 5 本,将 [/数量] 调整为具体数字,即可兼容。
- 对比 ChatGPT 和 GPT-4 模型的输出结果,后者能够稳定完成任务。复用课程的方法,使用 Claud、谷歌 Bard 等模型来对照也可以。
这里给你提供根避雷针,隔壁的 newBing 是一条没有长期记忆的金鱼,不接受人设游戏,所以人设型指令要避开 newBing。
再说结果评估,我们从优点、问题、改进、更多这几个角度去说。
优点:最终指令有自定义和可衍生的空间,视觉体验较好。
问题:中断的衔接不好,ChatGPT 倾向于重头开始补充,而 GPT-4 基本可以无缝衔接;使用精确继续 prompt 来解决。
问题(暂时):链接能按格式输出,但结果不匹配。这个问题和 GPT 的局限性有关,后续联网插件能够彻底解决。
改进:图片过高,可以通过横向版本来优化版面,你也可以去掉图片,删除这行嵌入的 Markdown 图片链接,聚焦推荐信息。
更多:标题字号稍大,降一级更好,加一个#号降一级。
小黑板
这节课,我们从新手总会犯的“无意识抢跑”的问题出发,尝试慢下来,解决新手“原话师”2个走极端带来的混乱,重新定义了“人-AI”协作关系中的“清晰、明确的需求”。和GPT沟通的过程,其实也是我们扮演产品经理解决问题的路线:分析问题,拆解问题,解决问题。
通过“重磅好书推荐助手”案例的设计,我在准备工作中讲解了 3 步提需求,在提炼的模版上丰满必要的背景信息,补充期望的约束,有套路地完成需求全貌的梳理,在此基础上得以整合书写 prompt。
在这一阶段,我强烈地推荐利用好系统记事本来做规划,这里有更广阔的空间可以容纳你的思考。同时你可以使用推荐的试探型prompt来了解一些背景信息是否有必要补充。
日常与 GPT 的切磋中我们会用到大量的咒语模版,它们是被设计来提升效率的,你必须吃透模版的要点,然后灵活调整应用,而不是生硬地完形填空。
从 0 到 1 设计好一个 prompt之后,就到人机大战阶段。比起一步登天,在试错中迭代可以说是最佳策略了。这一阶段我提供了 3 个试错和纠偏的方向,有条理地迭代初始 prompt,更有 3 大原则来应对 prompt 优化——根据输出调整、删冗余、去冲突。通过跑机结果的对照分析,prompt 描述减半,效果更佳。
最终,我们达成了目标,提炼了一个可衍生的智能人设。掏出记事本,有备无“换”。有效提升日常复用的便利性和施法效率。
案例的核心是通过赋予角色来圈定课题的领域,减少 AI 说胡话的概率,接着把具体的需求转换成精确的问题,引导 GPT 解决需求。结构化表达,更是贯彻整个过程的要素。
输入决定输出,短短 6 个字,简洁,又不简单。
要点:
- 从明确需求到 prompt 设计,过程迭代,再到人设保存,是一个可通用的套路。
- 使用少样本学习(Few-Shot Learning prompt)让 AI 理解要求。
- 通过加入推理演示诱发 AI 的链式思考(Chain-of-Thought),获得更好结果。
- 追加惊喜模块,激发灵感。
- 3 大原则应对 prompt 优化——根据输出调整、删冗余、去冲突。
- 设计 prompt 就是设计有效的提问。
- 不期望一步到位,迭代是必经的阶段,而提升“提问”的能力能够减少迭代的次数。
踏浪扬帆
请根据 prompt 模版 DIY 自己的 AI 助手,你也可以衍生为观影助手、音乐推荐助手或其他实用的助手,感受高定 AI 的乐趣。也可以让 GPT 写一个爬虫,将你在豆瓣已读的书单爬下来,方便 GPT 去重。
期待在评论区看到你的思考或感受,也欢迎你将这节课分享给感兴趣的朋友们,戳此加入课程交流群,我们下期再会。
- 曾雪姣 👍(4) 💬(1)
有图文、excel功能的都需要在GPT4上面实现了吧
2023-06-08 - 阿白 👍(2) 💬(1)
感觉挺难的,大家学的都轻松吗?看完一章,不手写点笔记都感觉抓不住
2023-07-23 - 楚翔style 👍(2) 💬(1)
我用GPT4感觉没必要用prompt,我用大白话讲它也能懂,需要啥再补充迭代 模板化的prompt只不过是输出格式好看点
2023-07-18 - 福禄妹妹 👍(1) 💬(1)
这些也适用于国产化的产品么:kimi、文心一言 之类的 因为gpt使用门槛有点高
2024-11-27 - 神经蛙 👍(1) 💬(1)
训练的prompt 能分享下吗?
2023-06-13 - 6点无痛早起学习的和尚 👍(0) 💬(1)
内容太硬了,准备先通读一遍,再回过头一节一节实践
2023-09-11 - 石云升 👍(2) 💬(3)
老师,荐书助手prompt里的图片 质量好高啊,有开放接口让GPT根据内容自动去查询么?
2023-06-27 - Geek_a9ebb3 👍(0) 💬(0)
GPT更新到4o了,你们有更新吗
2024-09-10 - Geek_a9ebb3 👍(0) 💬(0)
先全部过一遍,然后仔细听,最后遍跟着练习。
2024-09-10