最近在做关于AI的一些项目,在过程中发现一些同学依然用不好ChatGPT,主要卡在Prompt的撰写这一步。
为此,我们今天来聊聊一些大厂,字某、网某同学们都在用的结构化提示词技术。
结构化提示词是借鉴了编程语言方式,以一定的语法结构或形式来表达指令或请求,以提供清晰、明确的信息指导GPT执行特定任务,减少歧义和误解。
简单的说就像是给AI一份明确的菜单和做法,并且指定拿手厨师来做,而不是含糊不清的说:"给来点好吃的"。
下边是一份结构化提示词的详细说明:
# Role:
角色:设定角色,以明确身份,在指定的任务中更专业。类似指定厨师来做菜。
## Profile:
角色描述:提供角色的详细信息。
- author:
作者名称
- version:
版本:设定 Prompt 版本号,便于记录迭代版本。
- language:
语言:中语/英文
- description:
角色描述:描述角色背景、经验、专业能力等。
## Goals:
- 目标:设置指令需要实现的目标或期望的结果,以明确指导角色在交互中所要实现的目标。
## Constrains:
-约束条件:把不想要或者禁止的信息写在这里。类似让厨师做菜不放辣。
## Rules:
-规则:定义在交互过程中必须遵循的具体指导原则、行为规则或操作规程。
## Skills:
-技能:角色必须具备的能力、知识或技巧。这些技能用于执行角色在交互中的任务和职责。
##Example:
-参考例子:这个可以在需要的时候设置,就是常说的少样本提示。类似让厨师先看看怎么做或者做成什么样。
## Workflows:
工作流程 :类似指定做菜的流程
1.第一步
2.第二步
3.第三步
## Initialization:
-冷启动对话:提醒用户关于指令的信息,引导对话。
以这个格式来写指令,是不是就清晰多了,可以达到像做填空题一样简单。
对于我们来讲,这样做有几个好处:
1、新手更容易学习和操作,降低了使用门槛。
2、结构化提示提供了清晰、明确的指导,有助于消除歧义和误解。
3、提高效率,结构化提示通常直接进入主题,减少了不必要的追问或重复。
4、方便迭代管理,易于在一次次的实践中发现问题,进行版本的优化迭代。
我想,这种方式,最重要的是提高了我们的生成质量。类似在我们现实生活工作中,我们指定一个某方面的大牛来帮我们执行特定的任务。
好比我们可以指定川菜的厨师来为我们做麻婆豆腐这道菜,这个厨师背景是什么、擅长什么、做菜不要放什么、要用什么牌子的豆腐.......等等,让结果尽可能符合我们的期望。
但是,这里面还有一个最大的问题,就是有时候我们不是某一个行业的专业人士,我们不知道适合做这个任务的角色,他应该具备什么样的背景、能力和技术。或者他应该怎么做才能输出最好的结果。
其实也简单,我们就问GPT就好了。如果我们非常懂我们正在做的事,那就最好了,我们可以不断的发现问题,优化问题,最终让GPT的输出像我们一样。
下边是我们的小同学做的一个提示词供参考:
# Role:
优秀的作家
##
Profile:
- author:
xiaoxiao
- version:
0.1
- language: 中文
-
description: 你是一个优秀的作家,擅长书写读书笔记类文章。有着惊人的 写作技巧,能够吸引读者的注意力,让读者产生共鸣!
##
Goals:
- 创建有吸引力的文章,吸引读者关注和互动。
- 提供有价值的信息、见解、促进知识的分享和传播。
- 引发读者思考和讨论,让读者有收获感。
##
Constrains:
- 不要编造信息
- 遵循书籍内容逻辑,避免引入歧义。
##
Rules:
- 简明扼要:不要过于冗长和啰嗦,让读者能够快速了解书籍的核心内容和亮点。
- 突出重点:让读者能够更好地理解书籍的核心思想和主要内容。
- 生动形象:可以使用生动形象的语言和比喻,让读者更好地理解书籍的内容和价值。
##
Skills:
- 精通各类文体的语言风格和语法结构。
- 具备思想和情感上的高度,博学广见。有广泛的文化知识和阅读能力。- 具备高超的驾驭语言文字的能力,语言要准确、简练、优美而富有个性特征的独特风格。
- 具备情节驾驭能力,能够把一个复杂的事说清楚,并深入人心。
- 具备批判性思维,能够对自己的作品进行深入的分析和反思。
- 能准确抓取原文的核心观点并进行创新表达。
##
Workflows:
1.任务开始时,<请求用户提供书籍内容。>
2. 根据用户提供的内容写出文章大纲。
3. 文章大纲包括<引言、书籍的背景、作者介绍、书籍主题和核心内容、书籍的亮点和特色、书籍应用场景、个人体验和感受、结尾>
4. 在用户确认大纲没问题后,进行文章输出<引言(120字)、书籍的背景(100字)、作者介绍(100字)、书籍主题和核心内容(700字)、书籍的亮点和特色(120字)、书籍应用场景(120字)、个人体验和感受(120字)、结尾(100字)>
5. 生成内容后,根据反馈进行调整。
##
Initialization:
-向用户打招呼,"老板,请提供书籍内容"。
我把空白的模板放在下边,方便你的使用:
#
Role:
##
Profile:
-
author:
-
version:
-
language:
-
description:
##
Goals:
-
##
Constrains:
-
##
Rules:
-
##
Skills:
-
##Example:
-
##
Workflows:
-
##
Initialization:
-
我们在ChatGPT3.5上测试表现良好,但有可能不太兼容国内的一些大模型。
结构化模板虽然降低了门槛,但并不代表你一点不懂提示词的基础知识,也能做出很好的效果。
出自:https://mp.weixin.qq.com/s/Bt-wvD0ZYfFVNraW3caLUA