购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 理解提示工程的本质

在前一节中,有一个有趣的现象:同样是一句简单的话,生成的俄罗斯方块游戏和超级玛丽游戏却有明显的质量差异。为什么会这样呢?这正是本节深入探讨提示工程的原因。

提示工程(Prompt Engineering)不仅仅是一种技术实践,更是人类与AI高效沟通的艺术。想象一下,如果把AI比作一位外国朋友,那么提示工程就是我们学习与这位朋友交流的“外语课程”。掌握了这门语言,我们就能更准确地表达自己的需求,获得更满意的回应。

随着对AI使用的深入,你会发现,简单的一句话提示在处理复杂的任务时往往力不从心。想象一下,如果你只说“帮我写个网站”,AI可能会提供一个非常基础的网页代码,而不是你心目中那个功能完善的博客系统。这就像你去餐厅只说“我要吃饭”,服务员无法知道你想吃什么菜、口味如何、是否有忌口。

为什么提示工程如此重要?主要有以下几个原因。

(1)提高效率:精心设计的提示词能让AI一次性给出满意的答案,避免反复沟通浪费时间。就像一份详细的工作说明书,能让员工直接交付符合预期的成果。

(2)提升质量:好的提示词能引导AI生成更高质量的内容,无论是代码、文档还是创意设计。这就像给厨师提供详细的菜谱,成品自然更加美味。

(3)实现创新:掌握提示工程技巧后,可以引导AI探索更多创新可能,就像一位经验丰富的导演能引导演员呈现出最佳表演。

本节将深入探讨提示工程的核心概念和实践方法,帮助大家从“能用AI”进阶到“善用AI”,真正将这个强大工具的潜力发挥到极致。

2.2.1 简单句提示与提示工程的区别

不同复杂度的任务适合不同类型的提示方式,简单的任务适合用一句话描述,而复杂的任务则需要更系统化的提示工程。接下来深入讲解两者的差别,以便大家在不同的场景下做出最佳选择。

1.何时使用简单句提示

当任务明确且无歧义时,使用简单句通常就足够了。如下面的示例。

· 明确的查询:“现在几点?”或“今天天气怎么样?”

· 简单的创意请求:“讲个笑话吧”或“写个简单的问候语”。

· 基础信息获取:“Python是什么编程语言?”

在之前的例子中,“给我做一个俄罗斯方块游戏”作为一句简单的提示能取得不错的效果,正是因为俄罗斯方块的游戏机制相对简单、明确——方块下落、旋转、消除行等核心玩法已经成为大众共识,几乎没有歧义。

2.何时使用提示工程

当任务复杂或需要特定输出格式时,提示工程就变得必不可少。

· 复杂的开发任务:“开发一个带用户管理功能的电商网站后台”;

· 需要特定格式的内容:“以表格的形式分析近5年的销售数据趋势”;

· 多步骤问题解决:“分析这段代码的性能瓶颈并提供优化方案”。

回到游戏例子,“给我做一个超级玛丽的横版游戏”虽然看似简单,但超级玛丽作为一个经典游戏包含大量细节:角色动作(跑、跳、蹲)、敌人类型、关卡设计、道具系统等。这种复杂度,简单的一句话提示无法充分表达所有需求,因此生成的结果不理想。

3.两种方法的具体差异

简单句提示与提示工程的具体差异如表2-1所示。

表2-1 简单句提示与提示工程的具体差异

4.编程领域的实际对比

让我们看一下在AI编程中的具体对比。

简单句提示如下。

帮我写一个计算器程序

可能得到的结果:一个基本的命令行计算器,只支持简单的加、减、乘、除。

提示工程方式如下。

请使用JavaScript开发一个网页计算器:
1. 支持基本四则运算和百分比计算
2. 包含历史记录功能
3. 实现科学计算模式(三角函数、指数等)
4. 设计响应式界面,适配移动设备
5. 添加键盘快捷键支持
6. 代码需遵循ES6标准并包含详细注释

提示工程可能得到功能完善、结构清晰的专业计算器应用。

5.意想不到的细节

有趣的是,即使是简单的任务,添加少量额外细节有时也能显著提升结果质量。

简单句:“给我一个俄罗斯方块游戏”。

稍加改进:“给我一个俄罗斯方块游戏,包含分数系统和难度递增功能”。

这种微小的调整可能会让AI生成的游戏在基础版本之上获得更加完善的体验。这表明,了解任务的核心要素并在提示中明确指出,即使是相对简单的任务也能从中受益。

2.2.2 构建高质量提示词的核心原则

在与AI交流的过程中,提示词的质量直接决定了AI回答的质量。就像烹饪需要遵循食谱一样,构建高质量的提示词也需要遵循一些核心原则。这些原则不仅来自日常实践,也来自行业研究和专业经验。掌握这些原则,你就能更有效地引导AI生成符合你期望的内容。

1.明确任务原则

想象你在餐厅点餐,如果你只说“我想吃点东西”,服务员会一头雾水;但如果你说“我要一份红烧牛肉面,不要辣”,服务员就能准确理解这个需求。与AI沟通也是如此,用户需要清晰地告诉它要做什么。

明确任务是提示工程的第一步,也是最关键的一步。它要求我们清楚且具体地说明AI需要执行的任务,避免模糊不清的表述。

反面例子:

帮我处理这些数据

正面例子:

请对这份销售数据进行分析,计算每月销售额的增长率,并找出销售额最高的3个产品类别

在正面例子中,明确指出了两个具体任务:计算增长率、找出最高销售类别,这样AI就能准确理解需求,给出有针对性的回答。

如果回到游戏生成的例子,可以按下面的方式改进提示词。

反面例子:

给我做一个超级玛丽的横版游戏

正面例子:

请开发一个横版超级玛丽游戏,包含以下核心功能。
1. 角色能够奔跑、跳跃和踩踏敌人
2. 包含问号砖块、金币收集和蘑菇道具
3. 至少有一个完整的关卡,包含起点和终点旗杆
4. 游戏有基本的音效和背景音乐
2.提供相关输入和上下文原则

就像医生需要了解病人的症状和病史才能做出准确诊断一样,AI也需要足够的信息才能给出满意的回答。这就是为什么提供相关输入和上下文如此重要。

这个原则要求我们提供AI完成任务所需的所有数据和背景信息。这些信息可以帮助AI更好地理解问题的环境和限制条件,从而生成更准确的回答。

例如,如果你想让AI帮你写一段关于经济形势的分析,你可以这样提供上下文。

请基于以下背景信息,分析当前中国经济形势:
【背景信息】
最近两个季度GDP增长率分别为5.3%和4.9%
失业率维持在5.2%左右
消费者信心指数从102下降到98
房地产市场销售额同比下降15%
出口总额增长7.8%,进口总额增长5.2%
请从消费、投资、进出口3个方面进行分析,并预测未来半年的经济走势。

在这个例子中,我们提供了具体的经济数据作为上下文,并明确了分析的方向,这样AI就能基于这些信息给出更有价值的分析。

3.指定输出格式原则

比如,客户请设计师设计一张海报,如果不指定尺寸和风格,客户可能会收到一个与自己的期望完全不同的设计。同样,当我们使用AI时,明确指定输出格式能让结果更符合预期。

这个原则要求我们明确期望 AI响应的格式,包括内容结构、风格、长度等方面。通过指定格式,可以让AI的输出更加规范和实用。

例如,如果想获取一份简洁的会议纪要,可以像下面这样指定格式。

请将以下会议内容整理成简洁的会议纪要,格式要求如下。
1. 使用表格形式列出参会人员和缺席人员
2. 用项目符号列出讨论的主要议题(不超过5点)
3. 对每个议题的决议用粗体标注
4. 在最后添加"下一步行动"部分,列出每个人的任务和截止日期
5. 整个纪要控制在500字以内
会议内容如下。
[会议记录文本]

在这个例子中,明确指定了会议纪要的格式要求,包括表格、项目符号、粗体标注等,这样AI生成的内容就会更加结构化和易于阅读。

4.结构化描述原则

就像写作文需要分段落一样,好的提示词也需要清晰的结构。结构化描述原则要求我们将复杂的需求分成几个部分来说明,使AI更容易理解和处理。

例如,当需要开发一个软件功能时,可以像下面这样结构化提示词。

## 功能描述
开发一个学生信息管理系统的登录模块

## 技术要求
- 前端:React + TypeScript
- 后端:Node.js + Express
- 数据库:MongoDB

## 具体功能
1. 用户名和密码登录
2. 手机验证码登录
3. 记住登录状态

## 安全要求
- 密码必须加密存储
- 防止暴力破解
- 登录日志记录

通过这种结构化的方式,使需求变得清晰有序,AI可以更准确地理解每个部分的要求,从而提供更符合预期的回答。

5.迭代优化原则

写提示词就像写作文,很少有人能一次就写出完美的作品。迭代优化原则强调通过不断修改和完善提示词来提升质量。这个过程可能需要多次尝试,但每一次迭代都会让结果更接近期望。

下面是一个提示词优化的例子。

第一版(太简单):

帮我做个计算器

第二版(增加基本要求):

用Python写一个计算器程序,能进行加、减、乘、除运算

最终版(完整且专业):

请用Python开发一个计算器程序。
功能要求如下。
1. 支持加、减、乘、除四则运算
2. 支持小数点计算
3. 支持清除和退格功能
技术要求如下。
- 使用Python 3.8+
- 提供图形界面(使用tkinter)
- 代码需要包含详细注释
异常处理如下。
- 处理除零错误
- 处理输入非法字符
- 处理超出计算范围的情况

通过这个例子,可以看到提示词从简单到复杂、从模糊到清晰的演变过程。每一次迭代都让提示词变得更加完善,更能准确地表达我们的需求。

2.2.3 提示词的高级技巧

在掌握了基本原则后,下面来探索一些更高级的提示工程技巧,这些技巧能够帮助你在特定场景下获得更优质的AI输出。

1.角色扮演提示技术

角色扮演是一种强大的提示技巧,通过让AI扮演特定角色,可以引导它从特定的视角思考问题。这种方法能获得更专业、更有深度的回答。

例如,如果想获得关于代码优化的专业建议,可以像下面这样设计提示词。

请你扮演一位拥有10年软件开发经验的高级工程师,专攻性能优化领域。请对以下代码进行审查,指出
可能的性能瓶颈,并提供具体的优化建议。
[代码片段]
请特别关注以下内容。
1. 时间复杂度问题
2. 内存使用效率
3. 并发处理方式
4. 算法选择是否合理

通过明确设定AI扮演的角色,可以获得更符合特定专业水平和视角的回答。

2.思维链(Chain of Thought)技术

思维链是一种引导AI展示推理过程的技术,通过让AI一步步思考,可以获得更透明、更可靠的结果,特别适用于解决复杂的问题。

例如,如果需要解决一个复杂的数学问题,可以像下面这样设计提示词。

请一步步思考并解决以下问题。
小明有15个苹果,他给了小红3个,又从小李那里得到了5个。然后他把剩下的苹果平均分给了4个朋
友,自己留下了2个。请问每个朋友能得到几个苹果?
请按照以下步骤分析。
1. 确定小明最终有多少个苹果
2. 计算需要分配给朋友的总数
3. 计算每个朋友能获得的数量
4. 检查你的答案是否合理

通过这种方式,AI不仅会给出最终答案,还会展示完整的思考过程,让你能够理解问题是如何被解决的。

3.批判性思维提示

批判性思维提示鼓励AI评估自己的输出,识别潜在问题和局限性,从而产生更平衡、更全面的回答。

例如下面的示例。

请分析人工智能在医疗领域的应用前景。
在回答后,请评估你的分析中可能存在的以下问题。
1.是否过于乐观或悲观
2.是否忽略了某些重要风险或挑战
3.是否考虑了伦理和隐私问题
4.是否有未经证实的假设
然后,请提供一个更平衡的分析版本。

这种方法能够帮助你获得更全面、更客观的分析,减少AI可能带有的偏见或片面性。

4.控制输出的确定性

有时我们需要AI提供创造性的想法,有时则需要准确无误的事实回答。通过适当的提示词,我们可以控制AI输出的创造性与准确性。

例如,对于创意任务:“请发挥你的创造力,构思5个独特而有趣的手机应用创意,这些应用应该是市场上尚不存在的。不要担心技术可行性,尽情展开你的想象。”

而对于需要准确性的任务:“请基于已被广泛证实的科学事实,简明扼要地解释为什么地球是圆的。仅使用基本物理学和天文学原理,避免任何有争议或未被主流科学界接受的理论。”

通过明确指出期望的是创造性还是准确性,引导AI调整其输出风格。

2.2.4 利用AI优化和迭代提示词

前面介绍了如何构建高质量的提示词。但就像写作一样,很少有人能一次就写出完美的作品。下面介绍如何借助AI的力量来不断优化提示词。

就像一个人学习写作,一开始可能会觉得无从下手,但有了老师的指导,写的文章会变得越来越好。同样,在优化提示词的过程中,可以把AI当作“写作导师”,通过它的反馈来不断提升提示词的质量。这种方法不仅能帮助我们更快地掌握提示工程的技巧,还能让我们的工作效率得到显著提升。

从简单句提示到复杂提示工程,实际上就是一种迭代优化的过程。通过理解这个过程,我们可以更系统地提升与AI的沟通效率。

1.AI辅助优化的具体步骤

就像改进菜谱一样,优化提示词也需要遵循一定的步骤。下面一起来看看如何借助AI的力量来优化提示词。

1)写出初始版本

首先,写出一个基础版本的提示词,就像写下菜谱的第一个版本。这个版本不需要很完美,但要把核心需求表达出来。

2)请求AI分析

接下来可以像下面这样请求AI的帮助。

请帮我分析这个提示词的优缺点:
[你的提示词内容]
重点关注以下内容。
1. 表达是否清晰
2.是否遗漏重要信息
3. 结构是否合理
4. 有哪些可以改进的地方

3)根据反馈修改

根据AI的建议,对提示词进行修改和完善,就像根据品尝者的反馈来调整菜品的口味。

4)实际测试效果

把修改后的提示词实际使用一下,看看AI的响应是否符合预期。

5)持续改进

如果效果还不够理想,就继续重复上述步骤,直到得到满意的结果。

2.实战案例:优化网站开发提示词

下面通过一个实际的例子,来看看如何一步步优化提示词。

第一版(过于简单)如下。

帮我做一个博客网站。

第二版(增加了基本信息)。

使用React开发一个博客网站,需要文章展示和评论功能。

第三版(更加完整和专业)如下。

请帮我开发一个博客网站。
## 技术要求:
- 前端框架:React 18
- 样式方案:Tailwind CSS
- 数据管理:Redux

## 功能需求:
1. 文章列表和详情页面
2. 评论系统
3. 文章分类和标签
4. 响应式布局适配

## 开发规范:
- 使用TypeScript
- 遵循React最佳实践
- 需要完整的错误处理

通过这个例子,可以看到提示词从简单到复杂、从模糊到清晰的演变过程。每一次迭代都让提示词变得更加完善,更能准确表达我们的需求。

回到开头提到的游戏示例,现在可以理解为什么简单的“做一个俄罗斯方块游戏”相比“做一个超级玛丽游戏”能获得更好的结果了。俄罗斯方块的游戏机制相对简单明确,即使是简短的描述也足以让AI理解核心要求;而超级玛丽作为一个复杂的横版闯关游戏,包含众多元素和机制,需要更详细的描述才能让AI准确把握。

3.优化效果评估

如何判断提示词优化是否成功呢?大家可以从以下几个方面来评估。

· AI的响应是否更符合预期;

· 是否减少了来回沟通的次数;

· 输出的内容质量是否提高;

· 是否节省了整体开发时间。

小白必记

· 提示方式选择:简单任务用简单句,复杂任务用提示工程

· 提示工程本质:是人类与AI高效沟通的艺术

· 核心原则:任务明确、上下文完整、结构清晰、迭代优化

· 高级技巧:角色扮演、思维链、批判性思维、控制确定性

· 优化流程:写初稿、请求分析、修改完善、测试效果、持续改进

· 评估标准:响应符合预期、减少沟通次数、提高内容质量、节省开发时间

· 结构化描述:将复杂的需求分类呈现更有效

· 角色扮演:通过设定特定角色获得专业视角

· 思维链技术:引导AI展示推理过程提高可靠性

· 批判性思维:鼓励AI自我评估获得更平衡的回答

· 迭代优化:从简单到复杂逐步完善是提高质量的关键

· 成本效益平衡:前期投入更多时间构建提示,可减少后期修改成本

掌握这些提示工程的原则和技巧,就能更有效地引导 AI生成符合期望的内容,将一句简单的需求转化为高质量的产品和解决方案,更清楚何时可以使用简单提示,何时需要投入更多精力进行提示工程的设计,从而在效率和质量之间找到最佳平衡点。下一节将探讨如何利用这些技巧来构建更复杂、更完善的产品架构和文档。 QCeUQ5NqCvIkgddYuW0R/favfjz8ppUHvGEbX25EYOJVCebIUEuPqLg4Y+llVRWz

点击中间区域
呼出菜单
上一章
目录
下一章
×