第4节:提示词工程
1. 什么是提示词工程?有什么作用。
学习提示词工程的目的是,了解如何更好地向AI提问或下达指令。通过工程化地组织语言,引导模型生成更准确、更相关、更符合我们期望的输出。
提示词的质量直接影响AI回答的质量。一个模糊不清的提示词,很可能让AI给出表述不清的答案,甚至是完全没用的答案。相反,一个精心设计的提示词,能让AI的表现令人惊艳。
同样的AI大模型,好的提示词能引导它完成复杂的任务;而差的提示词则可能让失去原有的能力。
通过提示词,可以控制AI输出的风格,例如语言是严肃还是活泼?格式是列表还是段落?
2. 提示词的组成
一个优质的提示词,通常由以下几部分组成
2.1 指令要求
指令是明确告诉AI,希望执行什么任务,这是大家最常用的AI提示词使用方法,示例如下:
请把下面的英文翻译成中文:<具体内容>
2.2 背景信息
在提示词中提供必要的背景信息或数据,可以帮助AI更好地理解你的意图,示例如下:
我正在为一个关于可持续生活的研讨会准备一份演讲稿。我的听众主要是对环保感兴趣但可能不太了解具体实践的大学生。请帮我生成一个关于减少日常塑料消耗的三个实用建议。
2.3 提供数据
给AI提供充足的数据,有助于AI回复更加准确,更有针对性的内容,示例如下:
请分析以下客户反馈数据,并总结出三个主要的客户痛点:
客户A:"产品很好用,但是价格太贵了。"
客户B:"希望能有更多的颜色选择。"
客户C:"用户手册不够清晰,上手有点困难。"
客户D:"物流速度很快,但包装有些过度。"
客户E:"客服回复不及时,而且感觉没有解决我的问题。"
2.4 输出内容的要求
可以通过提示词,规定AI的内容输出格式。
请列出太阳系中的所有行星,并为每个行星提供其直径和平均轨道周期。请以表格形式展示。
也可以要求AI输出内容的风格,例如语言严谨,或者风趣幽默。
请用一种轻松幽默的语气,向一个5岁的孩子解释为什么我们晚上会看到月亮。
2.5 设定角色
给AI设定一个特定角色,能有效地让它从特定视角、用特定知识水平和口吻来回答问题,效果拔群!
1. 你现在是一名经验丰富的软件架构师。请评审一下我下面这段Python代码,指出哪些地方可以优化。
2. 假设你是一位幼儿园科学老师。请用小朋友能听懂的话,解释一下为什么天空是蓝色的。
3. 扮演一位非常严谨的文字编辑。帮我检查一下这段话里有没有语法或拼写错误。
2.6 综合示例
现在我们将上面组成提示词的要点放到一起,组成一个完整的提示词。
## 角色
你是一位资深的营销策略顾问。
## 背景信息
我是一家新成立的咖啡馆老板,我们的特色是提供有机、公平贸易的咖啡豆,并致力于打造一个社区共享空间。目标客户是对生活品质有要求,关注健康和可持续性的年轻白领和自由职业者。
## 指令要求
请为我的咖啡馆制定一个为期三个月的初步营销推广计划。
## 提供数据
目前预算:1万元人民币
主要竞争对手:街角的星巴克,以及一家以低价吸引学生的老式咖啡店。
我们的优势:独特的咖啡豆来源故事,舒适的店内环境,计划每周举办小型文化沙龙。
## 输出内容的要求
请以项目符号列表的形式给出营销计划,每个计划点应包含具体活动、目标和预估成本(如果有)。整体风格应专业且富有创意。
3. 编写提示词的要点
除了上述提示词的组成部分,还要了解编写提示词的要点。
3.1 指令要清晰明确
这是最根本的一条!要清楚地告诉AI你到底想让它干什么。
例如给指令加入动词:
解释一下什么是Python列表,以及它的基本用法。
上面用了一个动词:"解释"
我们可以优化这个提示词,让提示词更加明确:
总结Python列表的特点,并列举至少5个常用的列表操作方法及其简单说明。
"解释"改为了"总结" "以及它的基本又发"改为"列举……"
这样的提示词,更能得到我们想要的结果。
3.2 拆分复杂的问题
如果任务太复杂,把它拆分成几个小步骤,一步步引导AI。
例如下面的提示词:
写个关于气候变化影响和解决方案的报告。
AI虽然可以根据这个提示词生成报告,但是报告的内容大概率不尽人意,所以可以优化提示词。
写个关于气候变化影响和解决方案的报告,具体要求如下:
首先,总结气候变化对地球生态系统的主要影响有哪些。"
然后,列出至少三种有前景的应对气候变化的技术方案,并简单解释它们是怎么运作的。"
最后,讨论一下推广这些方案可能会遇到哪些社会和经济上的挑战。
3.3 给AI划重点
在提示词中加入引号,或者markdown格式的标记,可以给AI明确提示词中最重要的部分。
(加粗)请把这段文字翻译成**西班牙语**。
(引号)请把这段文字翻译成"西班牙语"。
加粗或者引号有助于提升AI对某些词汇的关注度。除此之外,还可以用一些标题或者分割线来告诉AI,提示词的组成部分,例如下面的格式
## 指令
总结下面这篇文章的核心思想。
## 文章
[这里粘贴一大段文章内容]
## 输出要求 #
请用不超过三句话来总结。
4. 与AI多次互动
当前大模型可以支持数以百万token的记忆,所以我们不必一个提问就拿到我们想要的结果。
很多时候,我们对先要的结果并不明确,所以可以通过多次提问的方式来获得结果。
例如我想要学习Python,但是对编程一无所知,不知道如何得到最佳答案,就可以通过多次提问的方式,逐步拿到自己想要的结果。
用户:我想学习Python编程,但我完全是个新手,应该从哪里开始呢?
AI:很高兴能帮助你入门Python!首先,你需要了解Python能做什么,以及它的一些基本概念。你对Python的哪些方面最感兴趣呢?比如数据分析、网站开发、自动化脚本,还是游戏开发?
用户:嗯,我对数据分析和自动化脚本比较感兴趣。
AI:很好!这两个领域Python都非常擅长。对于初学者,我建议你先从Python的核心语法开始,比如变量、数据类型(数字、字符串、列表、字典)、控制流(if语句、for/while循环)、函数等。你想先了解哪个概念?或者我可以给你推荐一些适合新手的在线学习资源。
用户:先给我讲讲Python的变量和数据类型吧,举些简单的例子。
AI:当然。在Python中,变量就像一个贴了标签的盒子,你可以把数据放进去。例如 `name = "小明"`,这里 `name` 就是一个变量,它存储了字符串 "小明"。数据类型则定义了变量可以存储什么样的数据,比如数字(整数 `age = 30`,浮点数 `price = 19.99`)、字符串(如 `"你好"`)、列表(一组有序的数据 `colors = ["红", "黄", "蓝"]`)等等。你想看一个包含这些类型的小例子吗?
5. 迭代优化
现在我们掌握的提示词技巧,已经足够我们日常使用了,但要在使用的过程中,大概率没办法一次就拿到自己想要的结果。
这就需要我们不断优化提示词,找到那个能稳定、可靠地引导AI给出满意答案的提示词,通常需要一个过程,没办法一蹴而就。
5.1 四步优化提示词
我们可以通过一下四个步骤优化提示词,优化提示词,就像调试程序代码或者大厨调试菜品味道一样,需要耐心和实验。核心流程可以总结为这四步:
- 初步尝试: 根据你对任务的理解和学到的技巧,写出第一版提示词可以从"直接问"开始。
- 观察返回内容: 仔细查看AI返回的"作业"。它准确回答问题了吗?它听从你的指令了吗?格式、风格、长度符合要求吗?有没有出现事实错误、奇怪的偏见或者胡说八道(AI的"幻觉")?
- 分析问题:
- 如果"作业"不理想,分析一下为什么不理想。
- 是指令不够清楚吗?(试试更明确的词,或者把任务拆小点)
- 是缺少必要的"情报"(上下文)吗?(试试补充背景信息或相关数据)
- 是AI没搞懂格式要求吗?(试试更明确地指定格式,或者用"示范示例")
- 是需要更强的引导吗?(试试加上角色扮演或"示范示例")
- API参数设置合适吗?(比如,
temperature
是不是太高导致胡说,或者太低导致没新意?max_tokens
是不是太小导致话没说完?)
- 调整: 根据你的分析,修改提示词。可能只是改几个字,也可能是增加/修改示例,或者干脆重新组织结构。然后回到第一步,用调整后的提示词和参数再试一次。
想要让AI输出满意的答案,需要不断重复这个循环,直到输出内容非常满意为止!
5.2 常见的提示词陷阱
在优化过程中,留意一些常见的"坑",能帮你少走很多弯路:
- 问题太模糊或太开放:
- 陷阱: "给我写点关于人工智能的东西。" (AI:你想知道啥?历史?技术?未来?我蒙一个吧。)
- 避坑: 明确具体任务,比如 "解释一下什么是机器学习,并给出一个简单的生活中的例子。"
- 你"以为"AI知道,但它真不知道(隐藏的假设):
- 陷阱: 你脑子里可能有一些背景知识或预设,但没在提示词里说清楚,导致AIget不到你的真实意图。
- 避坑: 尽量提供所有必要的上下文,即使你觉得它们"很明显"。
- 指令自相矛盾或不一致:
- 陷阱: 提示词里包含互相打架的要求,比如 "写一段简洁的详细介绍"。 (AI:到底是简洁还是详细啊?)
- 避坑: 确保指令清晰、逻辑统一。如果需要平衡不同方面,明确告诉AI哪个更重要。
- 过度依赖"不要做什么":
- 陷阱: "不要写关于政治的内容。" (AI:嗯?"政治"?好的,我更关注这个词了。) 有时模型反而更容易被你"不要"的东西吸引。
- 避坑: 尽量用正面指令,告诉AI要做什么,而不是不要做什么。比如,改成 "请专注于讨论技术方面的内容。"
- "示范示例"不够用心:
- 陷阱: 随便选几个例子,或者例子的格式和实际任务不一样,结果把AI带沟里了。
- 避坑: 精心设计高质量、格式一致的"示范示例"。
5.3 检验提示词?
- 用五花八门的输入来测试: 别只用一两个例子测。试试不同的输入数据,特别是那些刁钻的、边缘的情况,确保提示词在各种情况下都"扛得住"。
- 定个"评分标准": 对于需要客观评价的任务(比如提取信息、做分类),定义明确的评估指标(比如准确率、召回率)。对于主观任务(比如写文章),可以自己定一套打分规则。
- A/B测试 (如果条件允许): 对同一个任务,试试两个或多个不同版本的提示词,比比看哪个效果最好,选那个最棒的。
提示词工程是一门实践性很强的"手艺活"。别怕失败,把每一次不满意的输出都看作是改进提示词的好机会。通过不断的"尝试-观察-分析-调整"循环,再加上避开那些"坑",你就能掌握这门"提问的艺术",让AI成为你工作和学习中的得力干将!
6. 让AI写提示词
了解了提示词的基本技巧之后,我们可以选择更为方便的提示词方法,那就是让AI来帮助我们创建和优化提示词!
AI生成的规范化提示词,比自己动手要快多了。而且AI可以根据一些公认的最佳实践来帮你构建结构合理的提示词,AI甚至能帮你分析现有提示词的问题,并给出改进建议,不断优化,示例如下:
我需要一个提示词,让AI扮演一名专业的旅行规划师。这个提示词应该能引导AI根据用户提供的目的地、旅行时间、预算和兴趣偏好(例如历史文化、自然风光、美食探险),生成一份详细的每日行程安排,包括推荐的景点、餐厅和交通方式。请帮我生成这个提示词。