AI大模型提示工程技术指南:从基础概念到实战应用
AI大模型提示工程技术指南:从基础概念到实战应用
提示工程是AI大模型应用中一个非常重要的领域,它通过设计和优化提示词来引导模型生成更准确、更符合需求的输出结果。本文将详细介绍提示工程的基本概念、设计方法以及思维链原理等核心内容,帮助读者掌握这一关键技术。
一、提示工程 Prompt Engineering 简介
1、通用人工智能 和 专用人工智能
- AGI(Artificial General Intelligence):通用人工智能是一种具备学习、推理、感知、理解等人类智能的全面智能系统,不局限于某一领域或任务,可以在多个领域表现出类似于人类的智能水平。
- ANI(Artificial Narrow Intelligence):专用人工智能只能执行特定任务,如语音识别、图像识别、自然语言处理等。
提示工程主要作用于AGI,即通用人工智能领域。
2、Prompt 提示词
- 作用:引导模型生成特定类型的文本或完成特定任务。
- 形式:通常是一段文本或代码片段,提供了关于期望输出的一些指导或约束。
- 功能:
- 引导GPT模型生成特定主题或风格的文本
- 指导GPT模型完成特定的任务,如翻译、摘要、问答、编程
- 指导GPT模型生成特定语言风格或口吻的文本
- 作为约束条件,限制GPT模型生成的范围或内容
- 优秀的提示词可以更准确地表达用户意图,生成更高质量的输出
3、提示工程
- 定义:提示工程(Prompt Engineering)又叫指令工程,是设计和使用提示词的工程。
- 重要性:在AGI时代,每个人都需要成为优秀的提示词工程师。一个程序员如果提示工程素养太差,其工作效率也会相应变低,逐渐会被淘汰。
4、掌握 提示工程 的优势
- 优势:了解或精通"提示工程",对一个开发者是很大的优势。目前,有意识掌握提示工程的人只是少数人。
5、提示工程目的
- 目标:提高提示词的有效性,提高提示词的对应输出结果的质量。
- 方法:对于不同的提示词,需要不断迭代和调优;对于相同的提示词,在不同的语境下,需要多次渐进提问,不断校准,才能得到更好的输出结果。
二、提示词组成、迭代、调优及示例
1、提示词的组成
- 任务指示:描述具体的需求,要执行什么样的任务。
- 构造语境环境(上下文):在与大模型的多轮交互中,不断描述校准任务的其它细节和背景。
- 给出示例:想要大模型生成什么样的结果,可以给大模型一个结果示例,让大模型参考给出类似结果。
- 输入信息:在提示词中,明确该任务的输入信息,包括参数、文字、图片等信息。
- 输出信息:在提示词中,明确指定想要的输出结果,如给出指定格式的结果(HTML文档、XML文档等)。
2、提示词的迭代、调优
- 方法:使用大模型解决一个问题,找到好的Prompt提示词需要持续的迭代、调优。
- 注意事项:
- 需要把需求的各个细节尽可能地描述清楚
- 描述的需求不能有歧义
- 大模型可能会出现理解错误的问题
3、提示词基础示例
给定一段文字:
我叫小王,住在北京市海淀区清华东路16号,手机号是18588888888,爱好是打篮球
使用ChatGPT大模型提取其中的学生姓名、家庭住址和电话,则使用如下提示词:
从下面的文字中提取 学生姓名,家庭住址和电话 : 我叫小王,住在北京市海淀区清华东路16号,手机号是18588888888,爱好是打篮球
ChatGPT给出的结果是:
学生姓名: 小王
家庭住址: 北京市海淀区清华东路16号
电话: 18588888888
4、提示词 " 指定输出格式 " 示例
如果我们想要特定的输出格式,比如XML格式,第二轮对话中,追加提示词:
请输出 XML 格式结果
得到如下输出结果:
<student>
<name>小王</name>
<address>北京市海淀区清华东路16号</address>
<phone>18588888888</phone>
</student>
5、提示词 " 上下文语境 " 示例 - 多轮对话解决问题
在智能客服的应用场景中,智能客服与客户进行对话,GPT大模型生成的模型,需要参考之前的历史对话记录,构造一个上下文环境,生成后续内容。每轮提问,都将历史对话记录放在提示词中。
提示词:
当前扮演的角色是客服 , 与客户进行对话 , 回答客户的问题 , 之前的历史记录如下 :
客服 : 您好 , 请问您需要什么帮助?
客户 : 我想退款 ?
生成客服下一步的话术 , 尽量劝导客户不要退款 ;
GPT模型输出:
您好,感谢您的留言!我们很重视您的需求。请问是什么原因让您想要退款呢?或许我们可以帮您解决遇到的问题,或者提供一些优惠和额外的服务,让您有更好的体验。希望能找到一个令您满意的解决方案。
该任务就需要反复将客户的回复作为提示词,进行多轮对话,生成下一步的对话。后续提示词 与 输出结果:每次都将双方的上一次对话,叠加到本次的提示词中。
6、提示词 " 增加约束 " 示例
如果对输出结果不太满意,可以在提示词中增加约束,对GPT大模型的输出结果进行一定的约束,如语气更加人性化,回答更加简短,增加一些数据支持等。约束提示词可以直接追加在第一轮的提示词中,也可以在输出结果完成后,在后续交互中追加约束。
追加约束提示词:
回答更加简短一些
三、思维链 Chain of Thought
1、思维链简介
- 定义:思维链(CoT,Chain of Thought)是GPT大模型的独特推理能力,这是在进行大模型训练时偶然发现的功能。
- 作用:可以使大模型执行复杂的推理逻辑,生成更可靠的输出结果。
- 过程:大模型会自动将复杂问题拆解成多个步骤,逐步解决每个步骤的子问题,并明确地展示如何解决中间步骤的问题,最终得到准确的输出结果。
2、思维链推理过程
- 拆解问题:将复杂问题拆解成一系列更简单的步骤,逐步处理这些步骤,不直接生成最终结果。
- 逐步处理:逐步处理拆解出的步骤,输出中间推理步骤,与人类解决问题的思考过程相似。
- 输出结果:经过多个步骤的生成,最终输出结果。
思维链,将思考过程完整地展示出来,可以使用户了解问题的解决步骤,如果输出的结果不满意,可以针对有问题的步骤进行干预约束。
3、启用思维链的提示词指令
在提示词的末尾,追加:
analyze the task step by step
或中文:
逐步分析任务
可以激活思维链,GPT会给出思维过程,如何拆解问题,以及每个问题如何解决的。
4、思维链原理
使用了思维链指令后,就会触发GPT模型将问题拆解出更详细的步骤。每个步骤都是下一个步骤的"上文"。生成的"上文"越多,下文就越准确。即使下文不准确,我们也可以一目了然地看出在哪个步骤开始偏离正确答案,方便下一轮的提示词约束该步骤生成正确的答案。GPT模型生成的内容越多,得到的结果越准确。
5、思维链示例
计算一个算术运算题,在ChatGPT中输入如下提示词:
计算 24÷3+5×2 的值
得到下面的结果:
这个数学表达式可以按照先乘除后加减的原则来计算。所以,先计算乘法和除法,再计算加法和减法。
24 ÷ 3 + 5 × 2 24 \div 3 + 5 \times 2 24÷3+5×2
首先计算除法: 24 ÷ 3 = 8 24 \div 3 = 8 24÷3=8
然后计算乘法: 5 × 2 = 10 5 \times 2 = 10 5×2=10
最后计算加法: 8 + 10 = 18 8 + 10 = 18 8+10=18
因此, 24 ÷ 3 + 5 × 2 24 \div 3 + 5 \times 2 24÷3+5×2 的值为 18。
上述计算过程中,不仅给出了结果,还给出了计算过程,以及大模型是如何拆解问题的。如果计算结果不对,是中间的某个步骤出现了问题,则可以使用提示词干预其中的某个步骤,让GPT重新生成结果。