生成式AI是最近几年最火爆的AI方向,这也导致如果不会提示词的话,连AI都很难使用。本文对大模型进行了一个全面的介绍,并通过案例分享了提示词的方法和技巧,希望能帮到大家。
我们之前一直说大模型,现在出现了一个新的概念提示词(prompt);
提示词和大模型是什么关系呢?在解释这个问题之前,我们首先还是要对大模型有一个正确全面的了解;
我们主流文字大模型背后的技术是GPT,全称为Generative Pre-trained Transformer,其中Transformer并非变压的意思,而是一个核心技术的名称;
而这项基础存在2个特点,分别是Generative(生成式),Pre-trained(预训练)。
指的是AI大模型在诞生之前需要海量的高质量数据进行训练,AI在这个过程中构建自己的神经网络,理解词语与词语之前的关系,学会如何在不同语境下生成有意义的文本。
上面这句话说来简单,但是为什么预训练会产生这样类似人类的智能呢?
我常常会使用小宝宝的案例来说明这个现象,当我们的小宝宝刚刚出生的时候,其世界的认知是几乎空白的,无法通过文字的方式准确的表达自己的需求,当小宝宝某一天从外界获取到了足够多的信息后,小宝宝也会在大脑中建立起对这个世界的认知,开始学会思考与表达;
这个过程与大模型预训练是不是非常的相似?只不是人类的”预训练“需要花费很多的时间,但是现阶段生成式AI的预训练需要花费大量金钱来完成。
而预训练AI的知识量是非常恐怖的,比如GPT3.5的训练量是200亿,这也是AI看起来什么都懂的原因。
使用过大模型的小伙伴都会发现一个现象,大模型的回答是一个字一个字蹦出来的,这其实就是不断的生成有意义的文本的过程,得益于Transformer这项核心技术,GPT非常善于理解词汇与文字的关系,他会不断的根据前面的文字嘛,生成后面的文字;并且GPT生成的文字都是实时计算的,是建立在AI知道前文含义的基础上。
我们简单总结一下,GPT是一个拥有海量知识,并且理解人类语言的AI。
想象一下,某一天你心情不好,找A朋友倾诉,A朋友会优先安抚你的情绪,然后你的B朋友回选择帮助你寻找情绪不好的原因;人类在面对同一个问题的时候都会给出完全不同的态度与回答,AI也是这样,当我们选择与AI对话的时候AI并不了解你期待的回复、对话的语境、心态;
所以当我们希望AI在我们期待的方向思考并回答问题,我们就需要预先告诉AI一些信息,这些信息就是提示词。
比如我为AI写这一段这样的提示词:你是一个性格柔和非常会安慰别人情绪的AI,从不会讲大道理,说话亲和、口语化,就像我最好的朋友;
当我将这段提示词给到AI时候,AI会根据我的提示词的要求与我对话。
或者我们也可以更加让AI侧重于解决问题,而不是提供情绪价值。
我们调整提示词为:你是一个性格直接,非常善于解决问题的AI,你说话凝练高效,面对问题,你善于探索其背后的本质原因与问题,并提供解决方案;
从对大模型的实践来看,我们的提示词会极大的影响AI的回答效果,尽管提示词只是自然语言,但是想写好一份非常精巧的提示词也是非常考验当事人的水平的,这一点会随着我们编写提示词越来越能认识到。
接下来我们以国内的AI工具「智谱清言」作为例子,带大家入门提示词工程;
首先进入网页(建议使用edge或者chrome浏览器),并点击左下角创建智能体
关闭自动配置,我们要学习的就是自己写提示词;
了解该页面的字段含义;整体是一个非常简单的创建AI的流程;
关于提示词的编写方式存在很多种,我总结这几年经常写提示词的经验,最简单的提示词框架如下:
提示词 = 你是谁?你拥有什么技能?你需要帮助我完成什么?
比如说,我希望AI帮我写小红书,根据这个提示词框架我便可以写
你现在是一个资深的小红书爆款文案写作专家;
你精通小红书平台的运营规则,善于输出引人入胜的问题或情境,激发好奇,通过标点符号,尤其是叹号增强语气,创造紧迫或惊喜的感觉;融入当前流行的热梗、话题和实用信息;适当使用emoji,增加活力和趣味性;
你需要根据我的需求帮我创作相应的小红书标题和文案。
写这样类似的一段白话文对于大家来说,难度应该是不大的;
不过有一点需要注意一下,GPT这样的文字大模型正常情况下其实并不具备联网能力,并且和人类之间也存在隐形的信息差的;
比如你告诉AI,你是某某公司的某某岗位的员工,你希望AI完成该岗位的任务,这是行不通的,因为AI不了解该公司的信息,他只了解互联网存在的信息,除非你将公司的信息、岗位要求,通过文字的形式详细描述给AI,这样是存在可行性的。
掌握了最基本的提示词的编写方式,其实就算是入门大模型的使用了,我们基于此已经可以开发并写出很多非常好玩的prompt,比如让AI来进行角色扮演,完成特定风格的文字类工作;但是可能也仅限于此,更加复杂、困难的需求,就需要我们更加深入的掌握提示词的编写,以及agent,工作流的配套解决方案。
我们上文说话,编写一段简单的提示词,我们只需要关注三个元素
但是这三个维度其实约束的内容还是太少了,比如我希望对AI的语气、内容长度、注意事项、输出格式等等维度做出要求,可想而是我们的指令是非常长,甚至后期难以修改的,比如
你是小红书爆款写作专家,是一名专注在小红书平台上的写作专家,具有丰富的社交媒体写作背景和市场推广经验,喜欢使用强烈的情感词汇、表情符号和创新的标题技巧来吸引读者的注意力。你能够基于用户的需求,创作出吸引人的标题和内容。
我希望能够在小红书上发布一些文章,能够吸引大家的关注,拥有更多流量。但是我自己并不擅长小红书内容创作,你需要根据我给定的主题和我的需求,设计出爆款文案。
同时要注意,优秀的爆款文案是我冷启动非常重要的环节,如果再写不出爆款我就要被领导裁员了,我希望你能引起重视。
你的目标是产出5个具有吸引力的标题(含适当的emoji表情,其中2个标题字数限制在20以内),产出1篇正文(每个段落都含有适当的emoji表情,文末有合适的SEO标签,标签格式以#开头)
在输出的时候,你需要结合我给你输入的信息,以及你掌握的标题和正文的技巧,产出内容。请按照如下格式输出内容,只需要格式描述的部分,如果产生其他内容则不输出,遵守伦理规范和使用政策,拒绝提供与黄赌毒相关的内容,严格遵守数据隐私和安全性原则,严格按照每次产出5个标题——一个正文的方式来如果产生其他内容则不输出………
这里就不在继续便携了,这样的一坨文字,一来接口不够清晰,大模型可能无法完成理解你的意图,第二是难以维护,指令可能会越改越乱;
所以面对相对复杂指令的时候,我们就需要更强的编写提示词的技巧;
首先是结构化提示词,我们想象一个,面对一大堆杂乱无章的图书的时候,我们应该怎么做,才能让书更加容易被找到,那就是分类,结构化,我们的提示词也是一样的道理,面对非常复杂的提示词我们也需要根据一些维度进行结构化,比如某一段文字我单独描写大模型的注意事项、技能,达到轻松维护与阅读复杂提示词的目的。
请看下面的案例
## 角色: – 小红书爆款写作专家
## 角色描述: – 你是一名专注在小红书平台上的写作专家,具有丰富的社交媒体写作背景和市场推广经验,喜欢使用强烈的情感词汇、表情符号和创新的标题技巧来吸引读者的注意力。你能够基于用户的需求,创作出吸引人的标题和内容。
## 背景: – 我希望能够在小红书上发布一些文章,能够吸引大家的关注,拥有更多流量。但是我自己并不擅长小红书内容创作,你需要根据我给定的主题和我的需求,设计出爆款文案
## 注意: – 优秀的爆款文案是我冷启动非常重要的环节,如果再写不出爆款我就要被领导裁员了,我希望你能引起重视。
## 目标:
– 产出5个具有吸引力的标题(含适当的emoji表情,其中2个标题字数限制在20以内)
– 产出1篇正文(每个段落都含有适当的emoji表情,文末有合适的SEO标签,标签格式以#开头)
## 规则:
– 结合我给你输入的信息,以及你掌握的标题和正文的技巧,产出内容。请按照如下格式输出内容,只需要格式描述的部分,如果产生其他内容则不输出
– 遵守伦理规范和使用政策,拒绝提供与黄赌毒相关的内容
– 严格遵守数据隐私和安全性原则
– 请严格按照 <输出格式> 输出内容,只需要格式描述的部分,如果产生其他内容则不输出
## 技能:
一、在小红书标题方面,你会以下技能:
1. 采用二极管标题法进行创作
2. 你善于使用标题吸引人的特点
3. 你使用爆款关键词,写标题时,从这个列表中随机选1-2个
4. 你了解小红书平台的标题特性
5. 你懂得创作的规则
二、在小红书正文方面,你会以下技能:
1. 写作风格
2. 写作开篇方法
3. 文本结构
4. 互动引导方法
5. 一些小技巧
6. 爆炸词
7. 从你生成的稿子中,抽取3-6个seo关键词,生成#标签并放在文章最后
8. 文章的每句话都尽量口语化、简短
9. 在每段话的开头使用表情符号,在每段话的结尾使用表情符号,在每段话的中间插入表情符号
## 输出格式:
一. 标题
[标题1到标题5]
[换行]
二. 正文
[正文]
标签:[标签]
## 工作流程:
– 引导用户输入想要写的内容,用户可以提供的信息包括:主题、受众人群、表达的语气、等等。
– 输出小红书文章,包括[标题]、[正文]、[标签]。
##初始对话: 你好,我是小红书爆款写作专家,请告诉我你想写什么内容呢?
我们使用这样的结构化的方式,可以非常清晰的描述了一个复杂的提示词,一来大模型好理解,二来我们人类可以可以非常方便维护提示词,增加描述维度,比如增加:示例,或者增加一些技能与规则;
结构化提示词是面对复杂场景创作prompt的一个非常好的解决方案。
补充知识:
Q:为什么这里的标题前面是##?
A:实际上这是一种md(markdown)格式的文档,这里的##代表的是二级标题的意思,我们大模型认识md的文档格式,自然就能看懂这里##代表二级标题的意思,这样便可以高效的与大模型完成信息的传递。
除了以上这种非常灵活、上限很高的提示词框架在之外,也有一些行业类比较固定的提示词框架,比如本次要说的CRISPE框架
CRISPE是首字母的缩写,分别代表以下含义:
我们可以使用该框架提供的维度对提示词进行描述,我们依旧以小红书作为案例
这样,我们基于CRISPE的prompt就写好了,基于该框架你也可以写出基于你自身需求的大模型指令,是不是很简单呢?
思维链是一种增强大模型推理思考能力的思路与方法;文字大模型在某些领域经常会翻车,那就是计算与逻辑推理领域,这正是思维链的关键应用,能够大幅提高数学计算以及逻辑推理的准确性。
听起来是不是很厉害的技术?实际上实践起来非常简单;
简单来说就是鼓励大语言模型解释其推理过程;通过向大语言模型展示一些少量的案例,在样例中解释推理过程,大语言模型在回答提示时也会显示推理过程。这种推理的解释往往会引导出更准确的结果。
本质上思维链提示,就是把一个多步骤推理问题,分解成很多个中间步骤,分配给更多的计算量,生成更多的 token,再把这些答案拼接在一起进行求解。
所以面对一些复杂的逻辑推理,大模型总是推理不稳定,或者错误,就可以尝试CoT的思路,给大模型描述思考过程,或者直接告诉大模型,请你一步一步的输出思考过程。
ReAct的全程是Reasoning and Acting,大概意思就是大模型可以根据逻辑推理(Reason),构建系列的行动(Acting),从而达到期望的目的,ReAct框架对大模型的能力进行了拓展,让大模型拥有了与外界交互的手脚,
比如当我询问大模型,明天合肥的天气如何?大模型就会使用查询天气的工具,进行天气查询,并整理输出给我们,这样的场景将极大程度的发挥大模型的能力,让大模型自己分析问题,选择合适的工具,并最终解决问题。
国内很多大模型针对该模块进行了封装,比如联网功能,该部分我们会在agent的章节深入的进行学习。
经过上面的文章,大家都能发现一点,写提示词,没什么门槛,人人都能去写一段专属的提示词,本质上是熟悉大模型的能力与边界 + 充分描述自己的需求。
如何通过指令充分发挥大模型的威力,我个人觉得要从2方面入手,一方面是持续了解与更新大模型相关的知识
另一方面就是对需求的深刻全面的了解,很多人初次使用大模型的时候会感觉:哎呀,就那样嘛,也没多聪明,实际上提问人的水平非常影响大模型的回答效果。
比如我们上面的小红书prompt,假如你并不了解小红书的创作规则,以及自己的需求,就会无法向大模型描述prompt,最终导致大模型的回复效果达不到预期。
所以我们千万不能认为AI可以比我更强,可以直接帮助我,最起码这个现阶段依旧是不行的,人类依旧是AI的驾驶员,车开的如何,自然取决于驾驶员的实力。
大模型的提示词章节基本就说完了,后续我们将要了解文字大模型更加高阶的应用,workflow(工作流)、agent(智能体),去完成更加复杂,更能解放人类生产力的方式。
我们也将讨论如何通过大模型实现更加复杂,更加能落地的应用场景。
作者:狗阿木的产品日志,公众号:我是狗阿木
本文由 @狗阿木的产品日志 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。