【AI】高效交互的艺术:AI提示工程与大模型对话指南

【AI】高效交互的艺术:AI提示工程与大模型对话指南
在这里插入图片描述
🔥小龙报:个人主页
🎬作者简介:C++研发,嵌入式,机器人等方向学习者
❄️个人专栏:《AI》
永远相信美好的事情即将发生
在这里插入图片描述

文章目录


前言

在 AI 深度融入日常学习与工作的当下,高效与大语言模型交互已成为核心技能。本文从 ChatGPT 的基础认知出发,拆解提示工程的核心逻辑与底层原理,系统梳理高质量提示的构建方法与进阶技巧,帮助读者摆脱 “无效提问”,让 AI 成为精准高效的知识助手与创意伙伴。

一、ChatatGPT介绍

ChatGPT是一个人工智能问答聊天工具,基于OpenAI开发的大型语言模型GPT,可以与用户进行自然语言交互,回答问题、提供信息、解决问题和提供建议。ChatGPT基于大规模的预训练数据集进行训练,掌握了广泛的知识领域,并能理解和生成自然语言。它可以处理各种问题,包括常见的百科知识、实用信息、技术支持、创意灵感等等。我们可以借助ChatGPT来高效学习和解答疑惑。虽然AI的能力还没法进行体系化、系统性的详细教学,但是非常适合用来提供碎片化、即时性的帮助。

二、什么是提示工程?

在和AI的交流过程中,了解如何有效与其进行沟通是很有用的。我们和AI的整个交流过程,都围绕着给AI写“提示”命令。我们可以把“提示工程”定义为创建给AI的输入的过程。提示输入将影响AI语言模型生成的输出,并且呢,高质量的提示输入将产生更好的输出。

三、大语言模型的底层原理

大语言模型的原理是通过训练神经网络模型预测下一个单词的概率分布,实现文本生成和理解的功能。
这一切是通过训练大规模数据集来实现的,数据集包括文章、书籍、期刊、报告等。根据语言模型的不同,有两种主要的学习方法 - 监督学习和无监督学习
监督学习是模型使用带有正确答案标签的标记数据集。无监督学习是模型使用未标记的数据集,那么模型必须分析数据来获得准确的回答。
模型能够根据给定的提示生成文本,这个过程被称为语言建模。在这一点上,AI语言模型的性能主要取决于训练数据的质量和数量。使用来自不同来源的大量数据来训练模型将有助于模型理解人类语言,包括语法、句法和语义。
大语言模型的训练过程分为两个主要步骤:预训练和微调。
在预训练阶段,大规模的文本数据被用来训练模型。该模型被要求预测给定上下文中的下一个单词或字符。通过在大量文本数据上进行这种预测任务,模型学习到了语言的统计规律、句法结构和语义关系。
在微调阶段,使用特定的任务数据集对预训练的模型进行进一步的训练,以使其适应特定的应用场景,比如说问题回答、文本生成、机器翻译等。
大语言模型的关键思想是通过上下文信息的输入,以及模型对语言统计规律的理解,生成合乎逻辑和连贯的输出文本。模型能够根据之前观察到的输入文本生成接下来的文本,并根据上下文调整生成的输出。这种能力使得大语言模型可以用于自动生成文章、回答问题、对话交互等多种自然语言处理任务。

注:可以借助AI来高效学习和解答疑惑。虽然AI的能力还没法进行体系化、系统性的详细教学,但是非常适合用来提供碎片化、即时性的帮助

四、AI的相关术语

提示: 任何提供给AI以获得结果的内容(也就是输入给AI的文本)ChatGPT: 人工智能问答聊天工具
GPT: ChatGPT背后的大语言模型

五、如何与AI(以ChatatGPT为例)更好交流

5.1 使用AI的核心

结果的质量取决于输入的质量

5.2 提示组成结构

角色 | 任务 | 背景 | 输出
1.角色: 希望AI扮演什么角色?
2. 任务: 希望AI做什么?
3. 背景: AI需要哪些信息才能完成这一行动?在这里把具体信息给它。
4. 输出: 希望AI输出的格式是什么?

例1:
角色:你是一位经验丰富的市场专员,擅长为各个行业和市场创建用户故事地图。
任务:以表格形式创建一个类似于[某个具体产品]的产品的示例用户故事地图。背景:产品或网站类型:[提供对产品或网站的描述,包括其主要特点、功能、目标受众和价值主张。]
行业:[确定产品或网站所在的行业或市场细分,并指出任何关键趋势或挑战。]
输出:创建一个表格形式的顾客旅程地图,包括阶段、任务、用户需求和用户目标,与产品或网站的整体用户体验相匹配。
例2:
角色:你是一位熟练撰写产品需求文档(PRD)的产品经理。任务:根据提供的信息撰写一份全面的产品需求文档(PRD)。
背景:业务目标:[描述与此产品或功能相关的业务目标。]产品愿景和战略:[解释产品或功能的整体愿景和战略,包括其目的、目标受众和独特卖点。]
关键特点和功能:[提供应包含在产品或功能中的关键特点和功能列表
技术细节:[包括与产品或功能相关的任何高级技术细节,例如平台、技术集成、限制等。]
时间安排:[大致说明产品或功能的开发和发布预期时间。]成功指标:[概述用于衡量产品或功能成功的指标。]
成功指标:[概述用于衡量产品或功能成功的指标。]
输出:按照以下部分构建PRD:问题解决方法,产品概览,功能性需,求非功能性需求,解决方案,对齐关键功能点,未来考虑事项,关键逻辑

5.3 创建好的提示的策略

1.清楚定义目标: 把问题输入给AI之前,明确要实现的目标。希望从AI获得的信息是什么
2.保持具体和集中AI更擅长回答具体问题,所以最好让问题更加详细、具体、集中。不要问过于广泛或模糊的问题,提问方式也最好清晰简洁
3. 使用自然语言: AI模型旨在理解和生成自然语言,因此提问时也要使用自然语言。避免使用模型难以理解的诘屈聱牙的表达
4. 提供上下文: AI在有上下文的情况下效果更好,因此提问时尽量提供一些上下文,比如背景信息或解释问题的补充信息。
5. 测试和完善: 可以尝试不同类型的问题、不同的问法,看看AI的反应。有的时候答案的质量和准确性可能不尽人意,这个时候可以给它提供一些反馈,来完善提示里的要求,提高AI的回答质量。

5.4 提示的类别

通过了解提示的不同分类,我们可以根据预期的目标回复,来构建输入给AI的高质量提示。
一些主要的提示类别包括:
1.得到信息的提示 - 用于得到信息,主要要让AI回答以“什么”和“怎么”开头的问题。例如: “古巴最热门的旅游景点有哪些?”,“我怎么准备技术面试?”
2. 基于指令的提示 - 用于向AI提供执行特定任务的指令,比如我们使用Siri、天猫精灵等语音助手等时候,大多下达这个类别的指令。例如,“打电话给妈妈”或“播放我最近单曲循环最多的歌”。
3. 提供上下文的提示 - 用于提供信息给AI,以帮助它更好地理解我们需要的回复。例如,“父亲节马上到了,我可以给老爸买什么礼物(500元以下),或者策划什么惊喜?”
4. 比较的提示 -用于比较或评估给AI的不同选项,来帮助我们做出适当的决策。例如:“相比选项A,选项B的优点和缺点是什么?”
5. 寻求意见的提示 - 用于获取AI对特定主题的意见。例如:“如果人类能够穿越时空会发生什么?”
5. 内省的提示 - 用于帮助个人更深入地了解和洞察自己的信念和行为,比如鼓励/自我成长相关的提示。在获得预期回复之前,我们可能需要向AI提供一些个人情况的信息。
6. 基于角色的提示 - 给AI指定一个特定角色,来获得某些主题或方向上质量更高的回答。一个技巧是使用“5W框架”。

什么是5W框架?
Who 谁 - 指需要AI扮演的角色。例如老师、程序员、导游等角色。
What 什么 - 指希望AI执行的动作。When 何时 - 指希望AI完成特定任务的时间规划。
When 何时 - 指希望AI完成特定任务的时间规划。
Where 哪里 - 指给AI提示的位置或上下文。Why 为什么 - 指给AI特定提示的原因、动机或目标。
Why 为什么 - 指给AI特定提示的原因、动机或目标。
例:作为一位编程助教,你的角色是为学生创建个性化的学习计划,帮助我学习如何编程。你需要了解我的目标、时间规划和学习资源,并利用这些信息制定全面的学习计划,包括明确的时间表和相关资源的链接。你应该能够根据学生的个别需求调整教学风格,并在学习过程中提供持续和指导。你的目标是帮助每位学生点亮编程技能、收获编程知识,从而实现编程目标。

5.5 创建在和AI提示的进阶框架

在创建给AI的提示时,我们可以使用一个进阶框架,帮助规范提示创建的过程,得到AI更个性化和多样化的目标回答。
提示框架:
1.能力和角色
:AI 应扮演什么角色(或角色)?
2.见解:为请求提供背景和上下文。
3.陈述:要求 AI 做什么。
4.风格:希望 AI以何种风格、个性或方式回应。
5.实验:要求 AI 提供多个示例。

例:
能力和角色:扮演机器学习框架软件开发方面的专家,以及专业技术博客作家的角色。
见解:博客的受众是对机器学习领域最新进展感兴趣的专业人员。
陈述:提供对当前热门机器学习框架的全面介绍,包括优点和缺点。通过真实的例子和案例研究,说明这些框架在各个行业中的应用。
风格:在回答问题时,把Andrej Karpathy、Francois Chollet、Jeremy Howard和YaYann LeCun的写作风格相结合。
实验:给我多个不同例子。

5.6如何减少AI回答的空洞无味感

1.鼓励创造力: “重新给我一个回答,要求回答要更具想象力和吸引力。”
2.添加叙事性: “把当前回答转化为一个引人入胜的故事,突出面临挑战的严峻性。”
3.增加说服力: “用更有说服力的语言和技巧来完善回答,提升影响力。”
4.强调情感: “在现有回答中添加更有情感的语表达言和细节,提升共鸣和吸引力。”
5.利用感官细节: “通过添加语言细节和形容词来完善回答,使语言更生动活泼。”
6.简洁内容: “去除不必要的信息,使现有回答更加简洁明了,直截了当。”
7.突出关键要点: “重新表达当前回答,强调关键要点。”

5.7 如何提高AI回答的可读性

1.使用清晰简明的语言: “用简单的词汇解释技术概念。”
2.添加表格: “使用表格来直观阐明。”
3.使用标题和副标题: “给回答增加标题和副标题,清晰划分不同的部分。”
4.强调关键要点: “用粗体或斜体文本强调重要信息。”
5.添加实际案例: “包含真实世界的例子,让概念更容易被理解。”
6.使用清晰一致的格式: “在整个回答中使用一致的字体、字号和布局。”
7.运用类比和比较: “通过类比和比较来解释复杂概念。”

六、使用AI的更多技巧

6.1 高效提示的原则

1.清晰度 - 清楚表达意图非常重要,好的提示可以帮助AI提供更准确的回复。
2.提供上下文和示例 - 提供额外的信息,帮助AI更好地理解提示的目的。这样可以增加获得更准确回复的机会。
3.设置限制和约束 - 给AI的回答设定边界,避免不需要或不相关的信息。
4.拆分提问 - 将问题拆分为更小、更易理解和处理的部分,依次提问。这样可以帮助AI理解每个问题,并产生更准确和详细的回复。
5.反复迭代和重新表述 - 某些情况下,给AI提问后,我们可能对得到的回复不满意。在这种情况下,可以重新表述提示,并提供更多上下文,以获得更好的结果。
6.优先考虑重要信息 - 在提示中,告知和突出最重要的信息,让AI重点关注指令的核心。
7.使用多项选择题 - 如果我们在多个选项之间无法抉择,直接给AI这些选项,而不是给它提一个开放性问题,来节省时间。
8.要求逐步解释 - 假设我们需要详细信息,或解决复杂的问题,可以指示AI回答时解释每个步骤,一方面帮助AI逐步攻克问题,另一方面也便于我们理解。
9.鼓励批判性思维 - 当我们想让AI给建议时,通过鼓励AI进行批判性思考,可以得到更多不同方面的见解。
10.验证生成的回复的准确性 - 我们要记得验证AI生成的回复是否准确,因为AI不是所有时候都是正确的,它有些时候会给出猛地一看很对、仔细一看胡说八道的回答。

6.2 更多技巧

AI有上下文记忆能力,所以如果在同一次对话中提问,它会记得之前讨论过的内容,所以可以尝试以下技巧:
1.提出后续问题:如果AI回答了你的问题,但我们想要更多信息,可以继续追问它,提出补充问题。例如,如果问“什么是数据分析?”,AI回答了定义,我们可以追问一个问题,如“能给我一个数据分析的实际应用例子吗?”
2.要求进一步解释: 如果AI的回答不清楚或不理解某些内容,可以让它继续解释。AI的设计目标是提供清晰而简明的回答,所有有时可能需要额外的解释,来帮助我们全面理解。
3.保持对话主题专一: 保持主题的连贯性,尽量不要提出无关或离题的问题。这能帮助AI提供更专注和准确的回答。如果我们想提出不同主题的问题,最好开启一个新的对话,而不是在当前对话提出离题的问题

总结

本文围绕 ChatGPT 与提示工程展开,系统介绍了大语言模型的基本原理与核心术语,重点讲解了提示的结构化设计、分类体系及进阶框架,同时总结了提升 AI 输出质量、增强可读性的实用技巧与高效提示原则。通过清晰定义目标、提供上下文、迭代优化等方法,能让 AI 输出更精准、有价值的结果,帮助读者充分发挥大语言模型在碎片化学习与问题解决中的价值。

Read more

我爱学算法之——floodfill算法(上)

我爱学算法之——floodfill算法(上)

前言 Flood Fill(也称为种子填充算法)是一种用于确定连接到多维数组中给定节点的区域的算法 核心思想 * 从起点开始:从一个初始像素(种子点)开始 * 扩散填充:向四周(通常为4方向或8方向)扩展 * 条件匹配:只填充与种子点颜色相同且相邻的像素 * 避免重复:标记已访问的位置,防止重复处理 一、图像渲染 题目解析 给定一个 m*n 的二维数组,从起始位置 [sr,sc] 开始,将从起始位置的 上下左右 四个方向上 相邻且与起始位置初始颜色相同的像素点进行染色,直到没有其他原始颜色的相邻像素。 算法思路 这道题整体还是非常简单的,从起始位置开始,进行一次深度优先遍历 DFS 即可。 注意:当起始位置[sr, sc]的颜色和目标颜色 color 相同时,直接返回原二维数组即可。 代码实现

By Ne0inhk
【笔试】算法的暴力美学——牛客 NC221681:dd爱框框

【笔试】算法的暴力美学——牛客 NC221681:dd爱框框

一、题目描述 二、算法原理 思路:滑动窗口 1)定义两个指针,一开始都为0,cur 从左开始遍历,定义一个 sum 来表示 prev 到 cur 的之间的值的总和,当 sum >= x 时,我们要根据题目条件来保存 prev 和 cur 的值; 2)当 sum >= x 时,我们记录完 prev 和 cur 的值的之后,sum -= arr[ prev ],prev++ ,往后走,只要满足条件 sum >= x 我们就要记录

By Ne0inhk
【数据结构】彻底搞懂二叉树:四种遍历逻辑、经典OJ题与递归性能全解析

【数据结构】彻底搞懂二叉树:四种遍历逻辑、经典OJ题与递归性能全解析

🏠 个人主页:EXtreme35 📚 个人专栏: 专栏名称专栏主题简述《C语言》C语言基础、语法解析与实战应用《数据结构》线性表、树、图等核心数据结构详解《题解思维》算法思路、解题技巧与高效编程实践 目录 * 二叉树全栈进阶指南:从内存布局到递归本质的深度复盘 * 一、二叉树的底层逻辑与核心概念 * 1.1 核心定义与特点 * 1.2 二叉树的五种基本形态 * 1.3 特殊二叉树 * 1.4 二叉树的五条性质 * 1.5 存储结构 * 二、遍历的递归之美 * 2.1 前序遍历 * 2.2 中序遍历 (In-order Traversal) * 2.3 后序遍历 (Post-order Traversal) * 2.

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 path_to_regexp 揭秘路由匹配与参数提取的核心算法(路由管道工程师)

Flutter for OpenHarmony: Flutter 三方库 path_to_regexp 揭秘路由匹配与参数提取的核心算法(路由管道工程师)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的应用架构设计时,我们经常需要处理“动态路由”。 * 页面路径模式:/profile/:userId * 实际跳转路径:/profile/9527 如何在众多的路由规则中,快速匹配到正确的页面,并精准提取出其中的动态参数 userId = 9527?这背后的核心驱动力,正是 path_to_regexp。它是 go_router、auto_route 等几乎所有顶级路由框架共享的底层逻辑库。 一、路由解析链路模型 该库将人类易读的路径模式,转化为机器可高效执行的正规表达式。 路径模式 ('/user/:id') path_to_regexp 编译器 高性能 RegExp (正则) 路径匹配

By Ne0inhk