想要快速调制一个ChatGPT的Prompt,但不知道如何开始?本文将分享我是如何调制Prompt的方法和技巧,希望对新手朋友们有所帮助。
标签:江湖人称最懂新手的AI探索者。
职业:GPT指令工程师
在做:枫晓陌 AI+自媒体万人创客大联盟
目标:AI时代,让我们成为先富起来的那一批人
吾日三省吾身
1.你每天是不是在赚钱?
2.你每天是不是在积累自己的势能?
3.如果都不是,那么你,究竟在忙什么?
这两天发现一个异常值,很多朋友看到一个 prompt,想去模仿、想去调制一个,但却不知道怎么写。
这个不知道怎么写,不是指框架,而是框架里面的内容。
其实解决这个问题很简单,闭上眼睛想一想,你现在最想解决的问题是什么?问题即需求,有需求就可以写 prompt。
为了让新手朋友们破除畏难情绪,我想向大家分享一下我是如何调制一个 prompt,希望对大家有帮助。
因为我学习的主要是结构化 Prompt ,所以下面拆解 Prompt 的时候以结构化 Prompt 为主。
一、结构化 Prompt
可能很多朋友没有听过结构化 Prompt 这个词,甚至连 Prompt 和 ChatGPT 是什么关系都不太清楚。
这里简单介绍一下:ChatGPT 相当于一辆汽车,Prompt 是你的车技,Prompt 用的好,ChatGPT 才用的好。
那什么是结构化 Prompt 呢?
一)优势
1、层级结构:内容与形式统一
2、提升语义认知
3、定向唤醒大模型深度能力
使用特定的属性词能够确保定向唤醒模型的深层能力。
4、像代码开发一样构建生产级 Prompt
二)模板——langChatGPT
也许有朋友问,##后面的英文是什么意思呀,其实就是下面的这个中文模板的意思。
结构化提示词的 Role Skills Workflow Attention 等这些词能唤醒大模型的底层能力。
# 角色:
## 配置:
- 作者:
- 版本:
- 语言:
- 描述:
## 背景:
## 注意:
## 设定:
## 目标:
## 限制:
## 技能:
## 示例:
- 输入示例:
- 输出示例:
## 工作流程:
1.
2.
3.
-空格
-空格
-空格
## 初始化:
作为 [角色], 拥有 [列举技能], 严格遵守 [列举限制条件], 使用默认 [选择语言] 与用户对话,友好的欢迎用户。然后介绍自己,并提示用户输入。
二、Prompt 编写流程
一)该 Prompt 取得的成绩与反馈
二)该 Prompt 一般用法展示
从微信找一篇 10W+ 阅读的文章进行使用测试。
以下为 Claude2.0 生成过程
1、输入 Prompt ,让 AI 进入初始化
2、根据 AI 切割的 part 输入,AI 输出相应内容,懒人式操作。
3、不好的地方就让它优化
4、人工修改润色
接下来就是对各部分生成内容进行人工修改,千万不要觉得AI可以帮我们干完所有活,能干 80%就不错了。
略作修改后可以去查重网站查重,也可以通过 AI 得出一篇文章大纲、各部分细节、语气风格等等重要信息,然后新开一个对话窗口,让 AI 根据这些信息重新创作一篇,对文章真实性要求不高但对重复率要求很低的完全这么干。
三)Role
这是 Role 部分,我一开始,其实想做的并不是文章模仿大师,而是一个规规矩矩的公众号爆文写作专家,如下面的 Prompt 。
PS:以上三个 Prompt 来自网络,若有侵权,麻烦联系告知,立删。
大家多多少少都见过,我们之前称之为“脚本式指令”,因为每一个步骤都太详细了,就像是写好了的大纲,平时用的时候把里面的关键词替代就可以。
但是这种指令不太符合我的要求,不是说指令词不好,而是不适合我使用的场景。
我当时想进场的是养老金、社保、民生这些领域。如果我在这些领域内还是使用脚本式,那么就意味着我要去收集很多关于这个领域的方法论,对于完全 0 基础的我,不好且浪费时间。
虽然我可以借助 AI,快速得到这些领域的方法论,并把它们凝结成一个 Prompt ,但要是我一不小心就换了领域了呢?要是其他朋友也想用呢?
如果针对每一个细分领域都调制出一个 Prompt ,那么这是非常耗费心力的。所以,一个取巧的办法产生了,搞出一个 Prompt ,能够对大部分场景都生效的。
其实,这个 Prompt 不仅适用于公众号爆文,还适用于所有你想将对手的爆款文案化为己用的场景。虽然现在看起来有很多瑕疵,但我认为我还是提供了一个不错的思路和 Prompt 模板。
说这一点,主要目的在于:我们最后调制出来的 Prompt 可能和我们一开始设想的并不一样,但是有可能变成了另外一个更好的产品。
所以,学 Prompt 的第一步,就是下场,把自己的想法用 Prompt 展示出来,不好的地方再一点一点调。talk is poor, show me your Prompt .
当我们确定了这个 Prompt 的一级设定,Role:文章模仿大师,那么接下来所有的板块都是围绕着这个词来展开,我们赋予他技能、给它限制,唤醒AI在这个领域内的底层能力。
四)Background
大家看到这个 Background,是不是有一个非常熟悉的感觉,和我们三四月份的时候,市面上很流行的提示词差不多。你是谁,我怎样,我想让你帮我……背景、上下文、目标、要求,这四点是构建所有好的指令词框架的基础。
那可能有朋友问了,我想不到这个角色或者背景怎么办?推荐两个技巧,一个是我们台风老师做的角色生成器:
- https://role.AIcosplay.com.cn/zh
这一段话而言,我们就可以得到了背景,技能,限制,目标。而且每个人,每个时刻生成的得到具体的指令都不一样。
第二个技巧:去各种提示词网站看看,多溜达溜达
https://bestprompts.cn/#/index
https://www.AIshort.top/en/?tags=write
https://www.explAInthis.io/zh-hans/chatChatGPT
这些都是,还有很著名的 flowChatGPT、discord 社区。
五)Attention
这部分其实不是必要的,在 Prompt 里面只是起到多轮强调,提醒的作用。
那这个 Attention 怎么得来,怎么用?其实就是和老妈一样,出发前就一直在提醒你干嘛干嘛,最后你出门的时候又来强调一遍罢了,就是这样子的效果。
六)Profile
这部分主要的目的是介绍著作人以及记录版本迭代,指定输出语言,大家都看得懂。
Description 这部分是对角色能力的赋能,你想要它干嘛,一句话说清楚,和 Goal,Background,Attention 有一些重叠。
我在这里总结一下他们几个的区别,不一定完全对:
- Description:是对角色能力的赋能,你想要让它有什么功能就在这里给它什么功能,越精准越详细它发挥的能力就越好。
- Goal:表明你写这个 Prompt 是为了干啥,想要去解决什么问题,给 Prompt 一个方向引导。
- Attention:前面说了,就是加强提醒,可有可无。
- Background:这个我们可以把它当作你为什么要做这件事情的原因、以及让它去做什么。甚至,你就是把你为什么要去解决这个问题的想法告诉它都可以,比如老板催了啊,还是对象在逼你,主打就是一个焦灼情绪。之前有过一个 CHAT 模型,里面的 H 表示上下文联系,在这里,Backgroud 也可以借用这种用法。
插入一个观点:
把AI当作朋友,你给到它的反馈越多,反馈的情绪、任务越详细,它就越知道你要干嘛!!!
是的,现在的 Claude2.0 和 ChatGPT4.0 已经有初步的情绪感知了,目前 EOT 技术都已经能够应用到提示词上面了。当然,这是题外话,最重要的一点是:要想AI用的好,就要把它当作好朋友。
所以,在指令词当中,在和AI对话当中,把我们的所在的处境、困难也反应给它,给它传递一种情绪,AI 它是可以感受得到的,虽然很微弱,但是很有用。
参考【FlowChatGPT 圆桌会】第一期丨 Prompt Creator 向未来【直播回放】https://www.bilibili.com/video/BV1AN411q77L/?share_source=copy_web&vd_source=ecba3a92cce0fe5cc15352435aaba3e8
七)Skills
Skills 这一部分都好理解,就是你希望这个 Prompt 拥有什么技能,是对 Description 的补充。这句话怎么理解?
举个例子:我希望你能像孙悟空那样牛逼,能够大闹天空,天不怕地不怕,三界最强战力。这么厉害的人,应该有哪些 Skills 呢?给他筋斗云,七十二变,法天象地,金棍棒这样子,孙猴子才有那个本事,好容易理解吧!
当我们回到模仿大师这个 Prompt 的时候,我们需要的就是把我们知道一个杰出的模仿者应该具备的能力,把这些能力给到 Prompt 上。
如果自己想不出来怎么办?就把我们这个疑问扔给 AI,或者直接用台风教练的角色生成器,多搞几个出来,慢慢把他们的技能组合起来。这是一个笨办法,却也是无奈的办法,因为我们都不是这个行业内的人。如果是,那么直接把知道的方法论,做成 Prompt 就行了。
八)Constraints
这个 Constraints,和 Skills 是相对的,就是我们对 Prompt 的强烈要求,必须遵守的必要条件,如同孙悟空头上的紧箍咒一般。
我们给了 Prompt 强大的角色赋能、技能赋能,同时为了避免它的无法无天,我们也要对他进行约束。
1、生成的内容重复率为什么要低于 30%?
其实我也不知道为什么是 30,而不是其他数字,因为我考试论文要求是这个数字,我就放上去了。
说这点的意思是,这些 Skill 和 Constraints,有很多可以直接把我们以前的经验放进去。当然,内容重复率到底要小于多少,大家也可以专门针对一个场景去查查。
2、保留时间、地点、数字、政策名称等细节。
这个怎么得来?其实也是基于我们日常的判断,比如我们想去改写一篇社保的文章,要是AI把这些要素乱写一通那还得了,所以肯定需要限制。
3、遵循原文逻辑,避免引入歧义;使用六年级学生都能理解的语言;不要生造新概念、人物等。
其他的影响因子也是同理,我们想限定 Prompt 不能做什么,有什么是重点要求、遵守的,就写进去。
有的朋友可能一下子写出十条八条来,也不要紧,后面如果可以合并简化的话就合并简化,自己不懂,那就让 AI 帮忙简化,其他板块也是可以的。
九)Workflow
操作流程,也就工作流程,你希望你与AI交互的过程中应该是怎样子玩的,这点非常重要,重中之重。把你的设想,和 AI 的特性结合起来就好。
1、总结原文核心观点和要点
其实这就是一个拟人的过程(模仿人类操作的过程),我们人类拿到一篇想要模仿的文章的时候,第一要做的是不是先【总结原文核心观点和要点 】?
2、将原文拆解为不同部分,至少 3 至多 6 部分
为什么要这样子做?
因为一篇文章除了篇幅过长(短则 800,长则 2000+),还划分为不同的部分。让 AI 帮助我们直接划分出来,这样子容易检验出 AI 是否真的 “理解” 了文章内容,我们也容易排查,发现错误,可以立马告诉 AI。
3、让用户选择部分后进行模仿创作
分块输出是减少 AI 一次性输出的 token 过多,避免内容过度“失真”,且人类对于短文案的感知比起长文案更好,修改更加方便。其次是把文章切分为不同部分,当 AI 输出内容较少时,比起长文本质量更好一点。
4、用户验证是否保留原文要点;用户验证生成内容后,根据反馈进行调整
这两部分都容易理解吧?这个工作流程完全就是把我们的想法放进 Prompt 当中的反映。
十)Suggestions
这个对 Prompt 起辅助作用、引导作用、可有可无,主要看我们自己对 Prompt 的设计。你突然间觉得这个 Prompt 缺少了一点什么,还需要增加一点什么,在其他板块不好加,你可以放在 Suggestions 这里。
十一)Initialization
最后这一个,就是对整个 Prompt 的概述总括,引导 Prompt 进入初始化,也是引导用户如何与AI交互的地方。
三、两个快速得出初版 Prompt 的思路
一)直接问 AI
比如:我想要写一个 XXXX 的结构化 Prompt ,该 Prompt 的语法结构如下(放开头的 Prompt 模板,用””” “”””括住)、你觉得应该赋予这个角色什么技能、对他的能力应该给予什么限制,工作流程如何设置更好?请你深呼吸,一步一步的思考,最后以可复制的 markdown 格式返回给我完整的 Prompt 。拜托了,这对我很重要。
仅为演示操作流程,生成的 Prompt 没有测试、优化过。
得到第一版后,后面就是不断测试、优化、迭代。极少数情况下,第一版 Prompt 就能发挥出很棒的效果,一般都要迭代优化测试 5-10 次。
二)与AI对话,让AI直接概括交互重点,并根据交互重点直接生成 Prompt 初版。
注意,以下仅为演示,Prompt 没有测试、没有优化过。
三)调制一个 Prompt,这个难度有点大,不在今天讨论的范围之内。
四、结尾
如无必要,勿增实体。结构化 Prompt 也好,CHAT、CRISPE、APE、ICIO、BROKE 这些框架也罢,都是为了保证内容输出的质量与稳定。不同的大模型用不同的框架、不同的场景用不同的 Prompt 框架,生成的质量也不同罢了,一切为了高效与适用使用,不必拘泥。
一大坨的指令词并不一定比精简的指令词更好,过多的 token 更会影响大模型的理解与输出。写 Prompt,也要有精简的美感,没事增加一大堆附加条件,简直是浪费算力。
Prompt 的设计思路、用户体验,比起随手一个堆砌条件的 Prompt 更重要,而这也是差异化所在。一个优秀的指令工程师,我认为,写 Prompt 的时候,一定先以用户体验为第一要义。
了解结构化Prompt和编写流程,以及如何确定角色、背景、注意事项等关键部分,都是成为一个Prompt调制专家的重要步骤。通过学习和实践,你将能够轻松应对各种场景,并优化你的Prompt以适应不同的需求。愿你玩转ChatGPT,成为AI时代的先行者。