大语言模型提示词工程常用技巧
提示词工程基本概念
提示词工程(Prompt Engineering)是针对大语言模型设计有效指令以获得理想输出的技术。在与大语言模型交互时,提示词的质量直接影响输出结果的质量。
常用提示词技巧
1. 角色指定法(Role Prompting)
通过明确指定模型应扮演的角色,引导模型以特定身份回答问题。
我希望你扮演一位经验丰富的数据科学家。请解释决策树算法的工作原理及其在金融领域的应用。
2. 格式指定法(Format Specification)
明确要求模型以特定格式输出结果。
请以下面的格式回答问题:
1. 定义:[概念定义]
2. 优点:[列出3点优势]
3. 缺点:[列出3点劣势]
4. 应用场景:[列出2-3个应用场景]
问题:什么是迁移学习?
3. 思维链提示(Chain-of-Thought Prompting)
引导模型展示推理过程,而不仅仅是结果。
问题:小明有12个苹果,他给了小红5个,又从小李那里得到了3个。小明现在有多少个苹果?
请一步步思考:
4. 少样本学习(Few-Shot Learning)
通过提供几个示例,指导模型理解任务模式。
将以下句子翻译成英文:
中文:我喜欢读书。
英文:I like reading books.
中文:今天天气很好。
英文:The weather is nice today.
中文:人工智能正在改变世界。
英文:
5. 任务分解(Task Decomposition)
将复杂任务分解为多个简单步骤。
请帮我写一篇关于全球变暖的短文。请按以下步骤进行:
1. 首先概述全球变暖的定义
2. 分析三个主要成因
3. 描述两个重要影响
4. 提出可能的解决方案
5. 总结观点
6. 精确指令(Specific Instructions)
提供明确、详细的指令,避免模糊表述。
请生成一个Python函数,实现以下功能:
- 函数名为calculate_average
- 接受一个整数列表作为输入
- 计算列表中所有元素的平均值
- 如果列表为空,返回0
- 包含适当的注释和文档字符串
高级提示词技巧
1. 自我批评和改进(Self-critique and Refinement)
让模型对自己的回答进行评估和改进。
请解释量子计算的基本原理。完成解释后,请评估你的回答,指出可能存在的不足,然后提供一个改进版本。
2. 历史感知提示(History-aware Prompting)
在多轮对话中引用先前的交流内容。
基于我们之前讨论的机器学习模型评估指标,请详细解释F1分数在不平衡数据集中的重要性。
3. 反向提示(Reverse Prompting)
要求模型生成可能引导特定回答的问题。
如果我想获得关于"如何建立高效学习习惯"的详细建议,我应该如何提问才能得到最全面的回答?请提供一个理想的提问方式。
4. 约束提示(Constrained Prompting)
对模型的回答设置特定限制。
请解释区块链技术,满足以下条件:
- 使用不超过200字
- 避免使用技术术语
- 以一个简单的类比开始
- 面向完全没有技术背景的读者
提示词模板示例
1. 内容创作模板
graph TD
A[指定内容类型] --> B[确定目标受众]
B --> C[设定语气和风格]
C --> D[指定长度和格式]
D --> E[提供关键点或主题]
请以{专业/轻松/正式}的语气,为{目标受众}创作一篇关于{主题}的{内容类型}。
长度约{字数}字,需要包含以下关键点:
1. {关键点1}
2. {关键点2}
3. {关键点3}
格式要求:{格式要求}
2. 代码生成模板
graph TD
A[指定编程语言] --> B[描述功能需求]
B --> C[提供输入输出示例]
C --> D[说明性能要求]
D --> E[要求代码注释]
请使用{编程语言}编写代码,实现以下功能:
{功能详细描述}
输入示例:
{输入示例}
期望输出:
{期望输出}
性能要求:
{时间/空间复杂度要求}
请确保代码包含完整注释,并解释关键算法思路。
3. 学术解释模板
graph TD
A[指定主题] --> B[确定深度级别]
B --> C[要求结构化内容]
C --> D[请求相关例子]
D --> E[要求参考文献]
请以{初级/中级/高级}学术水平解释{主题概念}。
请包含:
1. 基本定义和起源
2. 核心原理和机制
3. 关键应用领域
4. 当前研究热点
5. 相关案例分析
6. 可能的未来发展
如可能,请提供几个关键参考文献或研究者。
4. 问题解决模板
graph TD
A[描述问题] --> B[要求分析原因]
B --> C[要求多角度解决方案]
C --> D[评估解决方案]
D --> E[建议最佳方案]
我正面临以下问题:
{问题详细描述}
请帮我:
1. 分析可能的原因
2. 提供至少3种解决方案
3. 分析每种方案的优缺点
4. 根据{具体情境/限制条件},推荐最适合的解决方案
提示词工程最佳实践
- 明确性:提供清晰、具体的指令
- 结构化:将复杂请求分解为结构化步骤
- 示例:提供示例说明预期输出
- 上下文:提供足够的背景信息
- 迭代:基于模型回应调整提示词
- 限制:设置明确的约束条件
- 反馈:指导模型如何处理不确定情况