



在前一节中,有一个有趣的现象:同样是一句简单的话,生成的俄罗斯方块游戏和超级玛丽游戏却有明显的质量差异。为什么会这样呢?这正是本节深入探讨提示工程的原因。
提示工程(Prompt Engineering)不仅仅是一种技术实践,更是人类与AI高效沟通的艺术。想象一下,如果把AI比作一位外国朋友,那么提示工程就是我们学习与这位朋友交流的“外语课程”。掌握了这门语言,我们就能更准确地表达自己的需求,获得更满意的回应。
随着对AI使用的深入,你会发现,简单的一句话提示在处理复杂的任务时往往力不从心。想象一下,如果你只说“帮我写个网站”,AI可能会提供一个非常基础的网页代码,而不是你心目中那个功能完善的博客系统。这就像你去餐厅只说“我要吃饭”,服务员无法知道你想吃什么菜、口味如何、是否有忌口。
为什么提示工程如此重要?主要有以下几个原因。
(1)提高效率:精心设计的提示词能让AI一次性给出满意的答案,避免反复沟通浪费时间。就像一份详细的工作说明书,能让员工直接交付符合预期的成果。
(2)提升质量:好的提示词能引导AI生成更高质量的内容,无论是代码、文档还是创意设计。这就像给厨师提供详细的菜谱,成品自然更加美味。
(3)实现创新:掌握提示工程技巧后,可以引导AI探索更多创新可能,就像一位经验丰富的导演能引导演员呈现出最佳表演。
本节将深入探讨提示工程的核心概念和实践方法,帮助大家从“能用AI”进阶到“善用AI”,真正将这个强大工具的潜力发挥到极致。
不同复杂度的任务适合不同类型的提示方式,简单的任务适合用一句话描述,而复杂的任务则需要更系统化的提示工程。接下来深入讲解两者的差别,以便大家在不同的场景下做出最佳选择。
当任务明确且无歧义时,使用简单句通常就足够了。如下面的示例。
· 明确的查询:“现在几点?”或“今天天气怎么样?”
· 简单的创意请求:“讲个笑话吧”或“写个简单的问候语”。
· 基础信息获取:“Python是什么编程语言?”
在之前的例子中,“给我做一个俄罗斯方块游戏”作为一句简单的提示能取得不错的效果,正是因为俄罗斯方块的游戏机制相对简单、明确——方块下落、旋转、消除行等核心玩法已经成为大众共识,几乎没有歧义。
当任务复杂或需要特定输出格式时,提示工程就变得必不可少。
· 复杂的开发任务:“开发一个带用户管理功能的电商网站后台”;
· 需要特定格式的内容:“以表格的形式分析近5年的销售数据趋势”;
· 多步骤问题解决:“分析这段代码的性能瓶颈并提供优化方案”。
回到游戏例子,“给我做一个超级玛丽的横版游戏”虽然看似简单,但超级玛丽作为一个经典游戏包含大量细节:角色动作(跑、跳、蹲)、敌人类型、关卡设计、道具系统等。这种复杂度,简单的一句话提示无法充分表达所有需求,因此生成的结果不理想。
简单句提示与提示工程的具体差异如表2-1所示。
表2-1 简单句提示与提示工程的具体差异
让我们看一下在AI编程中的具体对比。
简单句提示如下。
帮我写一个计算器程序
可能得到的结果:一个基本的命令行计算器,只支持简单的加、减、乘、除。
提示工程方式如下。
请使用JavaScript开发一个网页计算器: 1. 支持基本四则运算和百分比计算 2. 包含历史记录功能 3. 实现科学计算模式(三角函数、指数等) 4. 设计响应式界面,适配移动设备 5. 添加键盘快捷键支持 6. 代码需遵循ES6标准并包含详细注释
提示工程可能得到功能完善、结构清晰的专业计算器应用。
有趣的是,即使是简单的任务,添加少量额外细节有时也能显著提升结果质量。
简单句:“给我一个俄罗斯方块游戏”。
稍加改进:“给我一个俄罗斯方块游戏,包含分数系统和难度递增功能”。
这种微小的调整可能会让AI生成的游戏在基础版本之上获得更加完善的体验。这表明,了解任务的核心要素并在提示中明确指出,即使是相对简单的任务也能从中受益。
在与AI交流的过程中,提示词的质量直接决定了AI回答的质量。就像烹饪需要遵循食谱一样,构建高质量的提示词也需要遵循一些核心原则。这些原则不仅来自日常实践,也来自行业研究和专业经验。掌握这些原则,你就能更有效地引导AI生成符合你期望的内容。
想象你在餐厅点餐,如果你只说“我想吃点东西”,服务员会一头雾水;但如果你说“我要一份红烧牛肉面,不要辣”,服务员就能准确理解这个需求。与AI沟通也是如此,用户需要清晰地告诉它要做什么。
明确任务是提示工程的第一步,也是最关键的一步。它要求我们清楚且具体地说明AI需要执行的任务,避免模糊不清的表述。
反面例子:
帮我处理这些数据
正面例子:
请对这份销售数据进行分析,计算每月销售额的增长率,并找出销售额最高的3个产品类别
在正面例子中,明确指出了两个具体任务:计算增长率、找出最高销售类别,这样AI就能准确理解需求,给出有针对性的回答。
如果回到游戏生成的例子,可以按下面的方式改进提示词。
反面例子:
给我做一个超级玛丽的横版游戏
正面例子:
请开发一个横版超级玛丽游戏,包含以下核心功能。 1. 角色能够奔跑、跳跃和踩踏敌人 2. 包含问号砖块、金币收集和蘑菇道具 3. 至少有一个完整的关卡,包含起点和终点旗杆 4. 游戏有基本的音效和背景音乐
就像医生需要了解病人的症状和病史才能做出准确诊断一样,AI也需要足够的信息才能给出满意的回答。这就是为什么提供相关输入和上下文如此重要。
这个原则要求我们提供AI完成任务所需的所有数据和背景信息。这些信息可以帮助AI更好地理解问题的环境和限制条件,从而生成更准确的回答。
例如,如果你想让AI帮你写一段关于经济形势的分析,你可以这样提供上下文。
请基于以下背景信息,分析当前中国经济形势: 【背景信息】 最近两个季度GDP增长率分别为5.3%和4.9% 失业率维持在5.2%左右 消费者信心指数从102下降到98 房地产市场销售额同比下降15% 出口总额增长7.8%,进口总额增长5.2% 请从消费、投资、进出口3个方面进行分析,并预测未来半年的经济走势。
在这个例子中,我们提供了具体的经济数据作为上下文,并明确了分析的方向,这样AI就能基于这些信息给出更有价值的分析。
比如,客户请设计师设计一张海报,如果不指定尺寸和风格,客户可能会收到一个与自己的期望完全不同的设计。同样,当我们使用AI时,明确指定输出格式能让结果更符合预期。
这个原则要求我们明确期望 AI响应的格式,包括内容结构、风格、长度等方面。通过指定格式,可以让AI的输出更加规范和实用。
例如,如果想获取一份简洁的会议纪要,可以像下面这样指定格式。
请将以下会议内容整理成简洁的会议纪要,格式要求如下。 1. 使用表格形式列出参会人员和缺席人员 2. 用项目符号列出讨论的主要议题(不超过5点) 3. 对每个议题的决议用粗体标注 4. 在最后添加"下一步行动"部分,列出每个人的任务和截止日期 5. 整个纪要控制在500字以内 会议内容如下。 [会议记录文本]
在这个例子中,明确指定了会议纪要的格式要求,包括表格、项目符号、粗体标注等,这样AI生成的内容就会更加结构化和易于阅读。
就像写作文需要分段落一样,好的提示词也需要清晰的结构。结构化描述原则要求我们将复杂的需求分成几个部分来说明,使AI更容易理解和处理。
例如,当需要开发一个软件功能时,可以像下面这样结构化提示词。
## 功能描述 开发一个学生信息管理系统的登录模块 ## 技术要求 - 前端:React + TypeScript - 后端:Node.js + Express - 数据库:MongoDB ## 具体功能 1. 用户名和密码登录 2. 手机验证码登录 3. 记住登录状态 ## 安全要求 - 密码必须加密存储 - 防止暴力破解 - 登录日志记录
通过这种结构化的方式,使需求变得清晰有序,AI可以更准确地理解每个部分的要求,从而提供更符合预期的回答。
写提示词就像写作文,很少有人能一次就写出完美的作品。迭代优化原则强调通过不断修改和完善提示词来提升质量。这个过程可能需要多次尝试,但每一次迭代都会让结果更接近期望。
下面是一个提示词优化的例子。
第一版(太简单):
帮我做个计算器
第二版(增加基本要求):
用Python写一个计算器程序,能进行加、减、乘、除运算
最终版(完整且专业):
请用Python开发一个计算器程序。 功能要求如下。 1. 支持加、减、乘、除四则运算 2. 支持小数点计算 3. 支持清除和退格功能 技术要求如下。 - 使用Python 3.8+ - 提供图形界面(使用tkinter) - 代码需要包含详细注释 异常处理如下。 - 处理除零错误 - 处理输入非法字符 - 处理超出计算范围的情况
通过这个例子,可以看到提示词从简单到复杂、从模糊到清晰的演变过程。每一次迭代都让提示词变得更加完善,更能准确地表达我们的需求。
在掌握了基本原则后,下面来探索一些更高级的提示工程技巧,这些技巧能够帮助你在特定场景下获得更优质的AI输出。
角色扮演是一种强大的提示技巧,通过让AI扮演特定角色,可以引导它从特定的视角思考问题。这种方法能获得更专业、更有深度的回答。
例如,如果想获得关于代码优化的专业建议,可以像下面这样设计提示词。
请你扮演一位拥有10年软件开发经验的高级工程师,专攻性能优化领域。请对以下代码进行审查,指出 可能的性能瓶颈,并提供具体的优化建议。 [代码片段] 请特别关注以下内容。 1. 时间复杂度问题 2. 内存使用效率 3. 并发处理方式 4. 算法选择是否合理
通过明确设定AI扮演的角色,可以获得更符合特定专业水平和视角的回答。
思维链是一种引导AI展示推理过程的技术,通过让AI一步步思考,可以获得更透明、更可靠的结果,特别适用于解决复杂的问题。
例如,如果需要解决一个复杂的数学问题,可以像下面这样设计提示词。
请一步步思考并解决以下问题。 小明有15个苹果,他给了小红3个,又从小李那里得到了5个。然后他把剩下的苹果平均分给了4个朋 友,自己留下了2个。请问每个朋友能得到几个苹果? 请按照以下步骤分析。 1. 确定小明最终有多少个苹果 2. 计算需要分配给朋友的总数 3. 计算每个朋友能获得的数量 4. 检查你的答案是否合理
通过这种方式,AI不仅会给出最终答案,还会展示完整的思考过程,让你能够理解问题是如何被解决的。
批判性思维提示鼓励AI评估自己的输出,识别潜在问题和局限性,从而产生更平衡、更全面的回答。
例如下面的示例。
请分析人工智能在医疗领域的应用前景。 在回答后,请评估你的分析中可能存在的以下问题。 1.是否过于乐观或悲观 2.是否忽略了某些重要风险或挑战 3.是否考虑了伦理和隐私问题 4.是否有未经证实的假设 然后,请提供一个更平衡的分析版本。
这种方法能够帮助你获得更全面、更客观的分析,减少AI可能带有的偏见或片面性。
有时我们需要AI提供创造性的想法,有时则需要准确无误的事实回答。通过适当的提示词,我们可以控制AI输出的创造性与准确性。
例如,对于创意任务:“请发挥你的创造力,构思5个独特而有趣的手机应用创意,这些应用应该是市场上尚不存在的。不要担心技术可行性,尽情展开你的想象。”
而对于需要准确性的任务:“请基于已被广泛证实的科学事实,简明扼要地解释为什么地球是圆的。仅使用基本物理学和天文学原理,避免任何有争议或未被主流科学界接受的理论。”
通过明确指出期望的是创造性还是准确性,引导AI调整其输出风格。
前面介绍了如何构建高质量的提示词。但就像写作一样,很少有人能一次就写出完美的作品。下面介绍如何借助AI的力量来不断优化提示词。
就像一个人学习写作,一开始可能会觉得无从下手,但有了老师的指导,写的文章会变得越来越好。同样,在优化提示词的过程中,可以把AI当作“写作导师”,通过它的反馈来不断提升提示词的质量。这种方法不仅能帮助我们更快地掌握提示工程的技巧,还能让我们的工作效率得到显著提升。
从简单句提示到复杂提示工程,实际上就是一种迭代优化的过程。通过理解这个过程,我们可以更系统地提升与AI的沟通效率。
就像改进菜谱一样,优化提示词也需要遵循一定的步骤。下面一起来看看如何借助AI的力量来优化提示词。
1)写出初始版本
首先,写出一个基础版本的提示词,就像写下菜谱的第一个版本。这个版本不需要很完美,但要把核心需求表达出来。
2)请求AI分析
接下来可以像下面这样请求AI的帮助。
请帮我分析这个提示词的优缺点: [你的提示词内容] 重点关注以下内容。 1. 表达是否清晰 2.是否遗漏重要信息 3. 结构是否合理 4. 有哪些可以改进的地方
3)根据反馈修改
根据AI的建议,对提示词进行修改和完善,就像根据品尝者的反馈来调整菜品的口味。
4)实际测试效果
把修改后的提示词实际使用一下,看看AI的响应是否符合预期。
5)持续改进
如果效果还不够理想,就继续重复上述步骤,直到得到满意的结果。
下面通过一个实际的例子,来看看如何一步步优化提示词。
第一版(过于简单)如下。
帮我做一个博客网站。
第二版(增加了基本信息)。
使用React开发一个博客网站,需要文章展示和评论功能。
第三版(更加完整和专业)如下。
请帮我开发一个博客网站。 ## 技术要求: - 前端框架:React 18 - 样式方案:Tailwind CSS - 数据管理:Redux ## 功能需求: 1. 文章列表和详情页面 2. 评论系统 3. 文章分类和标签 4. 响应式布局适配 ## 开发规范: - 使用TypeScript - 遵循React最佳实践 - 需要完整的错误处理
通过这个例子,可以看到提示词从简单到复杂、从模糊到清晰的演变过程。每一次迭代都让提示词变得更加完善,更能准确表达我们的需求。
回到开头提到的游戏示例,现在可以理解为什么简单的“做一个俄罗斯方块游戏”相比“做一个超级玛丽游戏”能获得更好的结果了。俄罗斯方块的游戏机制相对简单明确,即使是简短的描述也足以让AI理解核心要求;而超级玛丽作为一个复杂的横版闯关游戏,包含众多元素和机制,需要更详细的描述才能让AI准确把握。
如何判断提示词优化是否成功呢?大家可以从以下几个方面来评估。
· AI的响应是否更符合预期;
· 是否减少了来回沟通的次数;
· 输出的内容质量是否提高;
· 是否节省了整体开发时间。
小白必记
· 提示方式选择:简单任务用简单句,复杂任务用提示工程
· 提示工程本质:是人类与AI高效沟通的艺术
· 核心原则:任务明确、上下文完整、结构清晰、迭代优化
· 高级技巧:角色扮演、思维链、批判性思维、控制确定性
· 优化流程:写初稿、请求分析、修改完善、测试效果、持续改进
· 评估标准:响应符合预期、减少沟通次数、提高内容质量、节省开发时间
· 结构化描述:将复杂的需求分类呈现更有效
· 角色扮演:通过设定特定角色获得专业视角
· 思维链技术:引导AI展示推理过程提高可靠性
· 批判性思维:鼓励AI自我评估获得更平衡的回答
· 迭代优化:从简单到复杂逐步完善是提高质量的关键
· 成本效益平衡:前期投入更多时间构建提示,可减少后期修改成本
掌握这些提示工程的原则和技巧,就能更有效地引导 AI生成符合期望的内容,将一句简单的需求转化为高质量的产品和解决方案,更清楚何时可以使用简单提示,何时需要投入更多精力进行提示工程的设计,从而在效率和质量之间找到最佳平衡点。下一节将探讨如何利用这些技巧来构建更复杂、更完善的产品架构和文档。