吴恩达《提示词工程》(Prompt Engineering for Developers)课程详细笔记
课程简介
- 目标:帮助开发者理解如何有效地使用大语言模型(LLMs),提升通过提示词解决问题的能力。
- 适用对象:开发者、AI从业者、产品经理等,希望通过提示词优化生成模型性能的人。
第1章:提示词工程基础
1. 什么是提示词工程
- 提示词工程是一种优化与大语言模型(如 GPT)交互的技术,旨在通过设计有效的提示词(prompts)引导模型生成所需的输出。
- 主要思想:用正确的方式提问以得到最佳答案。
2. 提示词的组成
- 指令:明确告知模型需要完成的任务。
- 上下文:提供任务相关的背景信息。
- 示例:给出输入和期望输出的实例。
- 格式要求:定义输出的结构(如 JSON、表格)。
第2章:提示词优化技巧
1. 明确具体
- 提示词越具体,结果越可靠。
- ❌ 不明确:
帮我写个简历。
- ✅ 明确:
帮我写一份软件工程师的简历,包括工作经验和技能,控制在300字内。
- ❌ 不明确:
2. 使用分步指导
- 引导模型逐步解决复杂问题,分解为多个小步骤。
- 示例:
首先分析问题的需求,然后给出解决方案,最后提供相关代码示例。
- 示例:
3. 增加示例
- 提供一组输入-输出对,帮助模型理解任务模式。
- 输入:
输入一个学生名单,返回按年龄排序的名单。
- 示例:
输入: ["Alice: 24", "Bob: 20", "Cathy: 22"] 输出: ["Bob: 20", "Cathy: 22", "Alice: 24"]
- 输入:
第3章:常用提示词设计模式
1. 文本生成
- 任务:生成文章、邮件、内容摘要等。
- 提示词:
根据以下关键信息生成一封商业合作邮件。
- 优化:限制字数、语气(正式/轻松)。
- 提示词:
2. 信息提取
- 任务:从文本中提取关键信息(如日期、地址)。
- 提示词:
从以下文字中提取所有日期并按升序排列。
- 提示词:
3. 文本分类
- 任务:将文本分为不同类别(如情感分析)。
- 提示词:
判断以下评论是正面还是负面:
- 示例:
评论:这款产品太棒了!
- 提示词:
4. 数据格式化
- 任务:将数据转换为结构化形式(如 JSON)。
- 提示词:
将以下非结构化数据转换为 JSON 格式:
- 提示词:
第4章:高阶技巧
1. Few-shot Learning(少样本学习)
- 通过提供几个示例,提升模型对任务的理解。
- 示例:
输入: "我爱Python编程。" 输出: "正面情感"
- 示例:
2. Chain-of-Thought(思维链提示)
- 要求模型模拟推理过程,逐步解决复杂问题。
- 提示词:
先解释计算逻辑,再给出最终答案。
- 提示词:
3. 自我校验(Self-Consistency)
- 多次运行模型提示,选取出现频率最高的答案。
4. 使用系统消息
- 明确模型身份以提升结果一致性。
- 示例:
你是一个专业的英语语法检查工具,负责指出错误并提供修正建议。
- 示例:
第5章:实际案例与实践
1. 案例:生成产品描述
- 场景:为电商网站生成商品描述。
- 提示词:
根据以下产品规格生成吸引人的商品描述。
- 提示词:
2. 案例:数据清理
- 场景:从文本中提取规范化数据。
- 提示词:
从以下数据中提取电话号码并按国家代码分组。
- 提示词:
3. 案例:代码生成
- 场景:生成特定功能的代码片段。
- 提示词:
为以下需求编写Python函数:从列表中移除所有重复项。
- 提示词:
第6章:常见问题与解决方法
1. 模型输出错误
- 问题:模型输出不符合预期。
- 解决:优化提示词,明确输入、示例和输出格式。
2. 模型生成结果不稳定
- 问题:多次运行结果差异较大。
- 解决:增加示例或采用自我校验方法。
3. 输出信息冗长
- 问题:生成文本过多或不够简洁。
- 解决:限制字数并要求模型生成重点内容。
第7章:最佳实践总结
- 简洁清晰:设计简单直接的提示词。
- 添加示例:通过示例让模型学习任务模式。
- 迭代优化:不断测试并调整提示词。
- 利用高级技巧:结合思维链、自我校验等增强模型能力。
以上为课程的完整笔记,建议配合实际练习和工具(如 OpenAI Playground 或 API)进行实践,加深对提示词工程的理解和应用。