掌握提示的艺术与科学
学习如何精心设计高效提示(prompt)------这是 LangChain 开发中的一项关键技能。本教程面向初学者,将教你一系列实用技巧,显著提升 AI 的响应质量,并为你后续掌握 LangChain 的高级提示模板打下坚实基础。
学习目标
- 掌握提示工程的基本原则与最佳实践
- 学习高级技巧:角色扮演(Role Playing)、少样本学习(Few-shot Learning)、思维链(Chain of Thought)
- 理解如何针对不同应用场景构建提示
- 学会调试与优化提示,以获得更优结果
提示工程与 LangChain 的关联
掌握提示工程对 LangChain 开发至关重要。LangChain 提供的强大功能(如 PromptTemplate、FewShotPromptTemplate 和 ChatPromptTemplate)都建立在这些基础之上。现在深入理解这些概念,将让你在未来成为更高效的 LangChain 开发者!
基础原则
🎯 明确具体
清晰、详细的指令才能带来更好的输出。模糊的表述会导致不可预测的结果。
❌ 模糊示例:
"写点关于狗的内容"
✅ 具体示例:
"写一篇 200 字左右的新手指南,介绍如何用正向强化法训练幼犬"
📋 提供上下文
给出背景信息,帮助 AI 更准确理解你的需求。
❌ 无上下文:
"解释量子计算"
✅ 有上下文:
"我是一名没有物理背景的软件开发者,请用编程类比来解释量子计算"
📝 定义输出格式
明确指定你希望输出的结构。
示例:
"列出运动的 5 项好处。格式如下:
- 好处:[简短标题]
说明:[1--2 句话]"
🚫 设置约束条件
通过限制条件防止不期望的行为。
示例:
- "使用适合 12 岁儿童理解的简单语言"
- "避免使用技术术语"
- "回复控制在 100 字以内"
高级技巧
1. 角色扮演(Role Playing)
为 AI 分配一个特定角色或身份,以获得更有针对性的回答。
text
你是一位经验丰富的 Python 开发者兼代码审查员。
请对以下代码进行审查,并提供:
1. 潜在的 bug 或问题
2. 性能优化建议
3. 违反最佳实践的地方
4. 安全隐患
待审查代码:
[在此粘贴代码]
适用场景:
- 技术评审或分析
- 特定风格的创意写作
- 专家咨询
- 客服对话模拟
2. 少样本学习(Few-Shot Learning)
通过提供输入-输出的示例,引导 AI 学习你期望的模式。
text
将以下产品描述转化为营销标语:
产品:续航 30 小时的无线耳机
标语:"自由续航一整天,甚至更久"
产品:防水手机壳
标语:"守护你的手机,无惧生活中的水花"
产品:带腰部支撑的人体工学办公椅
标语:[AI 根据上述模式生成]
适用场景:
- 数据格式转换
- 风格匹配
- 分类任务
- 生成一致性高的输出
3. 思维链(Chain of Thought, CoT)
对于复杂问题,要求 AI 逐步解释其推理过程。
text
问题:商店每个苹果售价 0.50 美元。若购买超过 10 个,则所有苹果享受 20% 折扣。
购买 15 个苹果需要多少钱?
请逐步解答:
1. 首先提取关键信息
2. 计算基础价格
3. 判断是否满足折扣条件
4. 如满足,则应用折扣
5. 给出最终计算结果
适用场景:
- 数学计算
- 逻辑推理
- 复杂分析
- 代码调试
4. 任务分解(Task Decomposition)
将复杂请求拆解为多个小步骤,便于处理。
text
我需要写一篇关于健康饮食的博客文章,请协助完成以下步骤:
1. 先生成 5 个潜在标题
2. 创建包含 4--5 个主要部分的大纲
3. 撰写一段 100 字左右的引人入胜的引言
4. 为每个部分列出 2--3 个关键要点
5. 为结尾建议一个行动号召(Call-to-Action)
优势:
- 输出更有条理
- 便于单独优化某一部分
- 各组件质量更高
- 整体结构更清晰
实用提示模式(Prompt Patterns)
- 分析模式
"分析 [主题],需考虑:1) [方面1] 2) [方面2] 3) [方面3]。请分别列出优缺点。" - 对比模式
"从成本、性能、易用性三方面比较 [选项1] 与 [选项2],以表格形式呈现。" - 解释模式
"向 [目标受众] 解释 [概念],并用 [类比/隐喻] 说明关键点。" - 创意模式
"生成 [数量] 个用于 [目的] 的创意点子,要求:新颖、实用、且满足 [约束条件]。并对每个点子做简要说明。"
调试与优化
常见问题及解决方案
| 问题 | 解决方案 |
|---|---|
| 回复模糊或泛泛而谈 | 增加具体细节、约束条件或示例 |
| 输出格式错误 | 明确定义格式,并提供样例 |
| 质量不稳定 | 使用少样本示例(few-shot examples)或加入质量标准 |
| 内容过长或过短 | 明确指定字数、句子数或段落数 |
迭代优化流程
- 从一个基础提示开始
- 分析输出中的问题
- 添加约束或澄清说明
- 用边界案例测试效果
- 持续调整,直至结果稳定可靠
真实应用场景
📧 邮件撰写
text
写一封专业邮件婉拒会议邀请。背景:该时段已有其他安排。
语气:礼貌且致歉。需包含:可选的替代时间。全文不超过 100 字。
📊 数据分析
text
分析以下销售数据,识别:1) 前三大趋势 2) 季节性规律 3) 异常值。
以要点形式呈现,附上支持数据,聚焦可执行的洞察。
💻 代码文档
text
为以下函数编写文档,包含:1) 简要描述 2) 参数及其类型 3) 返回值
4) 使用示例 5) 可能抛出的异常。请使用 JSDoc 格式。
提升提示效果的专业建议(Pro Tips)
✓ 在不同模型上测试提示效果
✓ 将成功的提示保存为模板复用
✓ 使用系统提示(system prompt)确保行为一致性
✓ 根据实际输出持续迭代优化
✓ 设计时注意 token 长度限制
✓ 使用分隔符(如 ###、--- 等)提升结构清晰度
✓ 要求 AI 解释其理解,以验证准确性
✓ 对复杂任务,组合多种技巧使用
下一步:从提示迈向 AI 模型
干得漂亮!你已经掌握了提示工程的核心技能,这将为你后续使用 LangChain 的提示模板(Prompt Templates)和链(Chains)奠定坚实基础。这些基本功将帮助你构建更强大的 AI 应用。
在下一课中,你将学习如何使用不同的 AI 模型,并根据需求选择最合适的模型------这是构建高效 LangChain 应用的另一项关键能力。