【AI 大模型】提示工程 ① ( 通用人工智能 和 专用人工智能 | 掌握 提示工程 的优势 | 提示工程目的 | 提示词组成、迭代、调优及示例 | 思维链 | 启用思维链的指令 | 思维链原理 )

CSDN 2024-06-21 09:01:01 阅读 93

文章目录

一、提示工程 Prompt Engineering 简介1、通用人工智能 和 专用人工智能2、Prompt 提示词3、提示工程4、掌握 提示工程 的优势5、提示工程目的 二、提示词组成、迭代、调优及示例1、提示词的组成2、提示词的迭代、调优3、提示词基础示例4、提示词 " 指定输出格式 " 示例5、提示词 " 上下文语境 " 示例 - 多轮对话解决问题6、提示词 " 增加约束 " 示例 三、思维链 Chain of Thought1、思维链简介2、思维链推理过程3、启用思维链的提示词指令4、思维链原理5、思维链示例

一、提示工程 Prompt Engineering 简介


1、通用人工智能 和 专用人工智能

通用人工智能 和 专用人工智能 :

AGI , Artificial General Intelligence , 通用人工智能 , 是一种具备学习、推理、感知、理解等人类智能的 全面智能系统 , 不局限于某一领域或任务 , 可以在多个领域表现出类似于人类的智能水平 ;ANI , Artificial Narrow Intelligence , 专用人工智能 , 只能执行特定任务 , 如 : 语音识别、图像识别、自然语言处理 ;

提示工程 Prompt Engineering 主要作用于 AGI , Artificial General Intelligence , 通用人工智能 ;

2、Prompt 提示词

Prompt 提示词 的作用是 引导模型生成特定类型的文本或完成特定任务 ;

提示词通常是 一段文本 或 代码片段 , 提供了关于期望输出的一些指导或约束 ;

在使用 GPT 模型时 , 设计和使用 优秀的提示词 可以显著提升 GPT 模型的实用性和效果 , 可以满足特定的输出需求 ;

提示词 Prompt 作用如下 :

引导 GPT 模型 生成 特定主题或风格的文本 ;指导 GPT 模型完成特定的任务 , 如 : 翻译、摘要、问答、编程 ;指导 GPT 模型生成特定语言风格或口吻的文本 ;作为约束条件 , 限制 GPT 模型生成的范围或内容 ;优秀的提示词可以更准确的表达用户意图 , 生成更高质量的输出 ;

3、提示工程

提示工程 Prompt Engineering , 又叫 指令工程 ;

Prompt 提示词 是使用 通用人工智能 ( AGI , Artificial General Intelligence ) 的 基础语言 ,

Prompt Engineering 提示工程 就是 如何设计和使用 提示词 的工程 ;

4、掌握 提示工程 的优势

提示工程师 相当于 就是 在 AGI 领域 可以设计和使用优秀提示词的工程师 , 在 AGI 时代每个人都要成为优秀的 提示词工程师 , 一个程序员如果 提示工程 素养太差 , 其工作效率也会相应变低 , 逐渐会被淘汰 ;

在当前的阶段 , 了解或精通 " 提示工程 " , 对一个开发者是很大的优势 , 有意识掌握 提示工程 的人 只是少数人 ;

5、提示工程目的

GPT 大模型 只是 根据当前的 提示词语境 基于概率生成下一个字 , 生成出来的语句并不一定是想要的输出结果 ;

对于不同的提示词 , 有的提示词是有效的 , 得到了我们想要的输出结果 , 有的提示词是无效的 , 使用哪些提示词可以高效解决问题 ;

对于 相同的提示词 , 在不同的语境下 , 有时是有效的 , 有时是无效的 ; 进行多轮对话 , 多次渐进提问 , 不断对提示词进行校准 , 可以得到更好的输出结果 ;

提高 提示词 的 有效性 , 提高 提示词 的对应输出结果的质量 , 就是 提示工程 要解决的问题 ;

二、提示词组成、迭代、调优及示例


复杂的任务 , 需要提示词进行多轮对话 , 每一轮都对提示词进行迭代、调优 , 最终得到满意的输出结果 ;

1、提示词的组成

提示词的组成 :

任务指示 : 描述具体的需求 , 要执行什么样的任务 ;构造语境环境 ( 上下文 ) : 在与大模型的多轮交互中 , 不断描述校准任务的其它细节和背景 ;给出示例 : 想要大模型生成什么样的结果 , 可以 给大模型一个结果示例 , 让大模型参考给出类似结果 ;输入信息 : 在 提示词 中 , 明确该任务的输入信息 , 包括 参数 , 文字 , 图片 等信息 ;输出信息 : 在 提示词 中 , 明确指定想要的输出结果 , 如 : 给出指定格式的结果 , HTML 文档 , XML 文档 等 ;

2、提示词的迭代、调优

使用大模型解决一个问题 , 找到好的 Prompt 提示词需要 持续的 迭代、调优 ;

让 GPT 大模型理解你的需求 , 将需求描述清楚 , 这个需要 不断完善需求的细节 , 不要认为一些所有人都认为是常理的事物就可以不描述 ;

大模型只是一个 根据概率生成词汇的机器 , 并不具备很多人的本能逻辑 , 需要把需求的各个细节尽可能的描述清楚 ;

描述的需求 , 不能有歧义 , 大模型也可会 出现 理解错误 的问题 ;

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 重新生成结果 ;



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。