【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

中秋满月皆十六圆?Java实证求解后的真相

中秋满月皆十六圆?Java实证求解后的真相

目录 前言 一、天文上的满月 1、形成原理及定义 2、出现时间及观测 3、文化意义 二、Java模拟月满计算 1、整体实现逻辑 2、主计算方法详解 3、核心天文算法详解 3.1 儒略日计算基础 3.2 时间参数计算 3.3 天文参数计算 3.4 周期项修正计算 4、辅助方法详解 4.1 角度标准化 4.2 日历与儒略日转换 4.3 儒略日转日历 三、近年中秋满月计算及对比 1、近年中秋满月计算 2、近年计算与公布时间对比 四、总结 前言

By Ne0inhk
JAVA多线程并发编程:并发容器与线程协作实战

JAVA多线程并发编程:并发容器与线程协作实战

JAVA多线程并发编程:并发容器与线程协作实战 💡 学习目标:掌握JAVA中常用并发容器的特性与适用场景,理解线程间协作的核心原理,能够运用并发容器和协作工具解决实际并发问题。 💡 学习重点:并发容器与普通容器的区别、ConcurrentHashMap 核心原理、CountDownLatch/CyclicBarrier/Semaphore 的使用、生产者消费者模式实现。 1.1 为什么需要并发容器? 在多线程场景下,普通的集合容器(如 HashMap、ArrayList)是线程不安全的。多个线程同时对其进行读写操作时,会导致数据错乱、ConcurrentModificationException 异常等问题。 ⚠️ 注意事项:即使使用 Collections.synchronizedXXX() 方法包装普通容器,也只是通过 synchronized 实现简单的加锁。这种方式锁粒度较粗,并发性能较低。 ✅ 核心结论:并发容器是JAVA为多线程场景设计的高性能容器。它们通过细粒度锁或无锁算法实现线程安全,能够在保证数据一致性的同时,大幅提升并发访问效率。 1.2 常用并

By Ne0inhk
IDEA安装教程配置java环境(超详细)_idea配置java,零基础入门到精通,收藏这篇就够了

IDEA安装教程配置java环境(超详细)_idea配置java,零基础入门到精通,收藏这篇就够了

引言 IntelliJ IDEA 是一款功能强大的集成开发环境(IDE),广泛用于 Java 开发,但也支持多种编程语言,如 Kotlin、Groovy 和 Scala。本文将为你提供一步一步的指南,帮助你在 Windows 系统上顺利安装 IntelliJ IDEA。 一、安装 JDK 1.1下载JDK 1.访问 JDK 下载页面 打开浏览器,访问Oracle JDK 下载页面. Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#java22 2.选择版本 选择适合你的 JDK 版本(例如 JDK17或JDK21

By Ne0inhk
【JavaSE-网络部分04】网络原理-传输层:UDP + TCP 可靠性三大核心机制(确认应答 / 超时重传 / 连接管理)

【JavaSE-网络部分04】网络原理-传输层:UDP + TCP 可靠性三大核心机制(确认应答 / 超时重传 / 连接管理)

传输层的学习 传输层我们说过最核心的协议是TCP和UDP。 那么在这里面我们再谈一下端口号。 再谈端口号 我们说端口号是用整数表示,用来区分同一台主机上不同的应用程序。 我们前面在网络编程冲每个程序中的socket创建的时候都需要关联端口号,那么对于服务器来说,端口号是程序员的手动指定的;而对于我们的客户端来说,端口号是系统自动分配的。 端口号是由两个字节表示的无符号整数 * 范围:0~65535。 虽然它的范围呢比较多,但是呢并不是所有的数都能是可以使用的。 * 0~1023 这样的范围通常我们是不使用的,他们叫做知名端口号,是给一些知名的服务器预留的。 虽然现在我们知名的服务器没有太多,已经寥寥无几了,但是呢有两个知名的端口,一定要重点认识。 * 80 ==> 这个是给HTTP服务器留的端口号。 * 443 ==》 这个是给HTTPS服务器留的端口。 问题1:一个进程是否可以绑定多个端口号? 答:这个是完全可以的,但是注意其实不是进程绑定端口号,而是我们的socket绑定端口,我们一个进程中完全可以创建多个socket,所以呢可以同时关联到多个端口号

By Ne0inhk