1.1 什么是提示工程
📌 本节目标
学完本节课,你将能够清晰地解释“提示工程”的核心定义,理解它为什么是驾驭大语言模型的关键技能。更重要的是,你会通过亲手实践,直观地感受到:改变提问的方式,就能让AI给出完全不同的答案。
1. 核心概念讲解
想象一下,你面前站着一位知识渊博、但有些“一根筋”的助手。他读过全世界的书,但如果你问得含糊,他可能答非所问;如果你问得巧妙,他就能给出惊艳的答案。提示工程(Prompt Engineering),就是学习如何向这位助手——也就是大语言模型——提出高质量问题(即“提示”)的艺术与科学。
简单来说,提示工程就是设计和优化输入文本(Prompt),以引导AI模型生成我们想要的、高质量的、可靠的输出。
核心概念拆解:
-
提示 (Prompt):你输入给AI模型的文本。它可以是问题、指令、一段对话的开头、甚至是一个不完整的句子。
- 比如:你直接输入“写一首诗”,这就是一个提示。但如果你输入“写一首关于秋天的五言绝句,风格要悲伤”,这就是一个更具体、更有效的提示。
-
大语言模型 (LLM):像 GPT-4、Claude、文心一言、通义千问这样的模型。它们通过学习海量文本数据,学会了预测和生成符合人类语言习惯的文本。
- 比如:当你输入“中国的首都是”,模型会根据它学到的知识,预测下一个词极大概率是“北京”。
-
指令 (Instruction):提示中明确告诉模型“去做什么”的那部分。
- 比如:“请总结以下文章”、“把这句话翻译成英文”、“扮演一位历史老师”。
-
上下文 (Context):提示中提供给模型的背景信息,帮助它更好地理解任务。
- 比如:你想让AI写一封邮件,你提供“收件人是我的客户,语气要正式,主题是推迟项目交付”,这些就是上下文。
-
输出 (Output):模型根据你的提示生成的结果。提示工程的目标就是让输出更符合预期。
下面是一个简单的代码示例(Python),展示如何通过修改提示,获得不同的输出。假设你已经安装了 openai 库。
# 导入OpenAI库(此处仅为示例,实际使用需要API Key)
from openai import OpenAI
# 假设你已经设置好客户端
client = OpenAI()
# --- 示例1:模糊的提示 ---
prompt_vague = "写一段关于AI的文字。"
response_vague = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt_vague}]
)
print("模糊提示的输出:")
print(response_vague.choices[0].message.content)
# 输出可能是一段非常宽泛、普通的介绍,比如“人工智能是计算机科学的一个分支...”
# --- 示例2:具体的提示 ---
prompt_specific = "写一段150字以内的文字,用乐观的语气向高中生解释:为什么学习提示工程对未来的职业发展很重要。"
response_specific = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": prompt_specific}]
)
print("\n具体提示的输出:")
print(response_specific.choices[0].message.content)
# 输出会更有针对性、结构更清晰、语气和受众都更匹配
2. 深入理解
为什么提示工程如此重要?这要从大语言模型的工作原理说起。
背后的原理:
LLM本质上是一个“高级的文字接龙游戏”。它并不真正“理解”你的问题,而是根据你输入的文本(提示),结合它从海量数据中学到的模式和概率,一个词一个词地生成最“可能”的下一个词。你的提示,就是为这个接龙游戏设定了“起点”和“风格”。
- 好的提示 = 清晰的起点和规则:它告诉模型“你在哪里”(角色)、“要做什么”(任务)、“怎么做”(格式、语气)、“不要做什么”(限制条件)。
- 差的提示 = 模糊的起点:模型只能凭感觉去猜,结果往往平庸、跑题,甚至产生幻觉(编造事实)。
初学者常见的误区:
-
把AI当人看,问得过于简单:
- ❌ 错误:“给我写个方案。”
- ✅ 正确:“请为我新开的社区咖啡馆撰写一份开业营销方案。目标客户是25-35岁的上班族,预算在5000元以内,重点突出线上预热和开业当天的活动。”
-
一次只给一个指令,期望AI能“举一反三”:
- ❌ 错误:“分析这段文本。”(AI不知道分析什么维度)
- ✅ 正确:“请从‘情感倾向’、‘主要观点’和‘目标受众’三个维度分析以下这段文本。”
-
忽视“角色扮演”的力量:
- ❌ 错误:“解释量子力学。”
- ✅ 正确:“请你扮演一位风趣幽默的物理老师,用比喻的方式向一个10岁的孩子解释量子力学中的‘叠加态’。”
对比表格:低效提示 vs 高效提示
| 特征 | 低效提示 (Poor Prompt) | 高效提示 (Good Prompt) | | :--- | :--- | :--- | | 清晰度 | 模糊、模棱两可 | 具体、明确、无歧义 | | 指令 | 隐含或不完整 | 明确、直接地给出任务指令 | | 上下文 | 缺乏背景信息 | 提供充分的背景、角色和目标 | | 格式 | 不指定输出格式 | 明确要求输出格式(列表、表格、代码块) | | 约束 | 无任何限制 | 设定字数、语气、风格等约束 | | 结果 | 泛泛而谈,质量不可控 | 精准、高质量、符合预期 |
3. 实战演示
让我们用一个具体的案例,完整演示一下提示工程的过程。我们的目标是让AI写一篇关于“学习编程”的短文。
步骤1:从最基础的提示开始
- 提示:
写一篇关于学习编程的文章。 - 结果:AI可能会生成一篇非常笼统的文章,比如“编程是21世纪必备技能……”,内容空洞,缺乏新意。
步骤2:增加“角色”和“受众”
- 提示:
请你扮演一位有10年经验的程序员导师。写一篇短文,鼓励一个因为遇到困难而想放弃的编程初学者。 - 结果:AI的输出会更有情感、更有针对性,会包含一些鼓励的话语和克服困难的经验。这比第一步的结果好很多。
步骤3:增加“结构”和“风格”要求
-
提示:
请你扮演一位有10年经验的程序员导师。写一篇短文,鼓励一个因为遇到困难而想放弃的编程初学者。要求:1. 文章分为三个部分:共情困难、分享经验、给出行动建议。2. 语气要像朋友聊天一样,亲切自然。3. 全文不超过200字。 -
结果:AI现在会严格按照你的结构来组织文章,风格也更符合你的要求。输出质量显著提升。
步骤4:加入“负面约束”和“示例”
-
提示:
请你扮演一位有10年经验的程序员导师。写一篇短文,鼓励一个因为遇到困难而想放弃的编程初学者。要求:1. 文章分为三个部分:共情困难、分享经验、给出行动建议。2. 语气要像朋友聊天一样,亲切自然。3. 全文不超过200字。4. **不要使用任何技术术语。**5. **参考这个开头示例:“嘿,朋友,我知道你现在肯定很沮丧,感觉像是在黑屋子里找开关……” -
结果:通过加入“不要使用技术术语”的约束,AI会避免使用“循环、函数、调试”等词汇。通过提供开头示例,AI可以更好地模仿你想要的风格和口吻。这是最接近你理想输出的结果。
4. 关键要点
- 提示工程的核心是“沟通”:你不是在编程,而是在学习如何与一个知识渊博但需要明确指引的AI助手有效沟通。
- 具体是王道:提示越具体、越清晰,模型的输出就越可控、越高质量。模糊的提示等于把决定权交给了运气。
- 迭代是常态:很少有第一次尝试就能获得完美结果的情况。好的提示工程师会不断调整、测试、优化自己的提示。
- 角色扮演是强大的武器:让AI扮演一个特定的角色(如老师、编辑、批评家),能极大地改变其输出的风格和视角。
- 善用约束和示例:明确告诉AI“不要做什么”以及“参考这个例子”,是控制输出质量最有效的方法之一。
✏️ 练习任务
练习方向:尝试用不同提示让AI生成同一主题的短文,观察差异
任务1(必做):
- 主题:选择一个你熟悉的主题,比如“咖啡”、“熬夜的危害”或“为什么天空是蓝色的”。
- 提示A(极简版):直接对AI说:
写一篇关于[你的主题]的短文。 - 提示B(结构化版):对AI说:
请你扮演一位科普作家。写一篇关于[你的主题]的短文。要求:1. 用比喻的方式解释核心原理。2. 篇幅在100字左右。3. 语气幽默风趣。 - 观察:将两次输出结果放在一起对比。记录下它们在内容深度、结构、语气和趣味性上的差异。哪个结果让你更满意?为什么?
任务2(选做 - 进阶挑战):
尝试通过修改提示,让AI为同一个主题写出两种截然相反的风格。
- 主题:人工智能的未来
- 提示C(乐观派):
请你扮演一位科技乐观主义者。写一段200字左右的文字,描绘人工智能将如何让人类未来变得更好。 - 提示D(悲观派):
请你扮演一位科技批判者。写一段200字左右的文字,警示人工智能可能给人类社会带来的风险。
观察AI如何根据你设定的“角色”和“视角”,对同一个话题给出完全对立的观点。这能让你深刻体会到提示工程中“角色设定”的巨大影响力。
💡 下一节我们将学习提示工程的核心原则,掌握几个“万能公式”,让你能更轻松地写出高质量的提示。敬请期待!
本节由 StudyAI8 AI 课程团队生成并审核。