跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

掌握 Prompt 技巧:多种经典提示技术详解

详细讲解了大语言模型交互时的参数设置及多种经典提示工程技术。内容涵盖模型温度、Top_p 等基础配置,以及零样本、少样本、链式思考 (CoT)、思维树 (ToT)、ReAct 框架和自我反思 (Reflexion) 等核心提示方法。文章分析了各技术的原理、适用场景及优缺点,并提供了代码示例与最佳实践建议,旨在帮助开发者提升提示词设计能力,优化模型输出质量与推理准确性。

神经兮兮发布于 2025/2/7更新于 2026/10/2496 浏览
掌握 Prompt 技巧:多种经典提示技术详解

模型设置

在使用提示词与大语言模型交互时,合理配置模型参数对输出质量至关重要。常见设置包括温度(Temperature)、Top_p、最大长度(Max Length)、停止序列(Stop Sequences)、频率惩罚(Frequency Penalty)和存在惩罚(Presence Penalty)等。

Temperature 参数:控制生成的随机性。值越小(如 0.2),模型结果越确定,适用于需要高质量、准确性的任务;值调高(如 0.8-1.0),结果更随机,可能带来更多样化或创造性产出,适合诗歌生成或头脑风暴任务。

Top_p 参数:用于控制模型返回结果的累积概率分布。值调低可获得准确事实答案,值调高则响应更多样化。较低值会选择最有信心的 token 进行采样,有助于减少幻觉。

Max Length 参数:控制大模型生成的 token 数量上限。防止生成冗长或不相关响应,同时有助于控制 API 调用成本。

Stop Sequences 参数:定义阻止模型继续生成特定字符串的终止符。可精确控制大模型响应的长度和结构,例如在对话中指定换行符作为结束。

Frequency Penalty 和 Presence Penalty 参数:对重复的 token 施加惩罚。前者与 token 出现次数成比例,后者对所有重复 token 惩罚相同。一般调整其中一个参数即可,避免过度抑制多样性。

提示词要素

常见的提示词可以包含以下任意要素,组合使用效果更佳:

  • 指令:明确想要模型执行的特定任务或操作命令。
  • 上下文:提供外部信息或背景知识,引导语言模型更好地理解场景。
  • 输入数据:用户提供的具体问题、文本或数据。
  • 输出指示:指定输出的类型、格式或风格要求。

提示词设计常用技巧

  1. 从简单开始:设计提示是一个迭代过程。可从简单提示词入手,逐渐添加元素和上下文,也可将大任务分解为简单子任务,避免初始过于复杂。
  2. 指令清晰:用命令指示模型执行任务。需通过实验确定最有效方式,指令可置于提示开头或用分隔符隔开,上下文具体且相关效果更好。
  3. 具体性:提示应具体描述任务,提供示例有助于获得期望输出。但要注意长度,避免不必要细节,需通过实验优化。
  4. 避免不明确:提示应具体直接,避免过于复杂或不明确的描述。说'要做什么'比'不要做什么'更有效。

常用的提示技术

零样本提示 (Zero-Shot Prompting)

特点:不提供任何样例数据,直接让模型完成任务。

示例:

将文本分类为中性、负面或正面。
文本:我认为这次假期还可以。
情感:

输出:中性

少样本提示 (Few-Shot Prompting)

特点:提供少量示例(1-shot, 3-shot 等)帮助模型理解任务模式。

示例:

'whatpu'是坦桑尼亚的一种小型毛茸茸的动物。一个使用 whatpu 这个词的句子的例子是:我们在非洲旅行时看到了这些非常可爱的 whatpus。
'farduddle'是指快速跳上跳下。一个使用 farduddle 这个词的句子的例子是:

输出:当我们赢得比赛时,我们都开始庆祝跳跃。

对于更困难的任务,可以增加演示数量(如 5-shot、10-shot),但需注意上下文窗口限制。

链式思考 (Chain-of-Thought, CoT) 提示

特点:通过中间推理步骤实现复杂推理能力。将问题分解为逐步推导的过程。

示例:

这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
A:将所有奇数相加(9、15、1)得到 25。答案为 False。
这组数中的奇数加起来是偶数:17、10、19、4、8、12、24。
A:将所有奇数相加(17、19)得到 36。答案为 True。
这组数中的奇数加起来是偶数:16、11、14、4、8、13、24。
A:将所有奇数相加(11、13)得到 24。答案为 True。
这组数中的奇数加起来是偶数:17、9、10、12、13、4、2。
A:将所有奇数相加(17、9、13)得到 39。答案为 False。
这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
A:

输出:将所有奇数相加(15、5、13、7、1)得到 41。答案为 False。

零样本 COT 提示

特点:无需示例,仅通过添加'让我们逐步思考'等触发词引导模型进行推理。

示例:

我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个。我还剩下多少苹果?
让我们逐步思考。

输出:首先,您从 10 个苹果开始。您给了邻居和修理工各 2 个苹果,所以您还剩下 6 个苹果。然后您买了 5 个苹果,所以现在您有 11 个苹果。最后,您吃了 1 个苹果,所以您还剩下 10 个苹果。

自动思维链 (Auto-CoT)

特点:结合问题聚类与演示抽样。先划分问题类别,再从每组中选择代表性问题生成推理链,减少人工标注成本。

自我一致性 (Self-Consistency)

特点:替换链式思维提示中使用的天真贪婪解码方法。通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案。有助于提高涉及算术和常识推理任务的性能。

生成知识提示 (Generated Knowledge Prompting)

特点:先生成相关知识,再整合知识得出预测。将问题重新格式化为 QA 格式以指导答案。

流程:

  1. 输入原始问题。
  2. 生成相关知识片段。
  3. 将知识与问题结合,再次提问以获得最终答案。

注意:答案的好坏依赖知识的生成质量,如果生成错误的知识,往往答案是很容易出错的。

链式提示 (Prompt Chaining)

特点:将任务分解为许多子任务。确定子任务后,将子任务的提示词提供给语言模型,得到的结果作为新的提示词的一部分。一个任务被分解为多个子任务,根据子任务创建一系列提示操作,提高可靠性和性能。

思维树 (Tree of Thoughts, ToT)

特点:利用大型语言模型进行问题解决的框架,模拟人类的双重处理过程(系统 1 快速直觉与系统 2 慢速深思)。通过将问题解决过程表示为一棵树,每个节点代表解决方案的一部分,树枝代表操作。

关键步骤:

  1. 思维分解:将问题分解为一系列连贯的思维步骤。
  2. 思维生成:为每个状态生成潜在的思维步骤。
  3. 状态评估:评估每个状态的潜在价值。
  4. 搜索算法:使用广度优先或深度优先搜索探索思维树。

ToT 框架通用性强,可适应不同问题特性,但依赖于模型生成和评估思维步骤的能力。

自动推理并使用工具 (ART)

特点:使用冻结的 LLM 自动生成包含中间推理步骤的程序,交替运用 CoT 提示和工具。

工作原理:

  1. 接新任务时从任务库选多步推理和工具使用示范。
  2. 测试中调用外部工具时暂停生成,整合输出后继续。
  3. 引导模型总结示范,拆分新任务并在合适处用工具,采用零样本形式。

ART 还可手动扩展,更新任务和工具库即可修正推理步骤或添加新工具。

自动提示工程师 (APE)

特点:用于自动指令生成和选择的框架。将指令生成问题构建为自然语言合成问题,使用 LLMs 作为黑盒优化器生成和搜索候选解。

流程:

  1. 推理模型接收输出演示,生成任务指令候选项。
  2. 目标模型执行指令,计算评估分数。
  3. 选择最合适的指令。

Active-Prompt

特点:解决固定人工注释范例不是最优示例的问题。基于不一致性度量选择最不确定的问题进行人工注释,动态更新提示。

流程:

  1. 查询 LLM 生成 k 个可能答案。
  2. 计算不确定度度量。
  3. 选择最不确定问题由人类注释。
  4. 使用新注释范例推断其他问题。

方向性刺激提示

特点:训练可调节的策略 LM 来生成刺激/提示,优化黑盒冻结 LLM 的生成方向。越来越多地使用 RL 来优化 LLM。

ReAct 框架

特点:结合推理(Reasoning)和行为(Acting)。允许 LLMs 与外部工具交互获取额外信息,给出更可靠回应。

优势:

  • 表现高于基线水准。
  • 提高人类可解释性和可信度。
  • 结合内部知识和外部信息,减少幻觉。

灵感:行为与推理的协同作用,使人类能学习新任务并决策。

自我反思 (Reflexion)

特点:通过语言反馈强化基于语言的智能体。将环境反馈转换为语言反馈,供下一轮 LLM 智能体参考。

组成:

  1. 参与者 (Actor):生成文本和动作,接受观察结果。
  2. 评估者 (Evaluator):评价参与者输出,输出奖励分数。
  3. 自我反思 (Self-Reflection):生成语言强化线索,帮助参与者自我完善。

关键步骤:定义任务 -> 生成轨迹 -> 评估 -> 执行自我反思 -> 生成下一条轨迹。通过引入自我评估、记忆组件拓展 ReAct 框架。

总结与最佳实践

在实际应用中,选择合适的提示技术取决于任务复杂度、可用资源及模型能力。

  1. 简单任务:零样本或少样本提示通常足够,成本低且响应快。
  2. 复杂推理:推荐使用 CoT 或 Auto-CoT,引导模型展示思考过程。
  3. 高精度需求:结合 Self-Consistency 或多路径采样,取众数结果。
  4. 工具依赖:若需实时数据或计算,ReAct 或 ART 框架更为合适。
  5. 长期优化:Active-Prompt 和 APE 适合需要持续迭代优化的场景。

建议开发者根据具体场景灵活组合上述技术,并通过实验验证效果。随着大模型能力的演进,提示工程也在不断发展,保持对新技术的关注和实践是关键。

目录

  1. 模型设置
  2. 提示词要素
  3. 提示词设计常用技巧
  4. 常用的提示技术
  5. 零样本提示 (Zero-Shot Prompting)
  6. 少样本提示 (Few-Shot Prompting)
  7. 链式思考 (Chain-of-Thought, CoT) 提示
  8. 零样本 COT 提示
  9. 自动思维链 (Auto-CoT)
  10. 自我一致性 (Self-Consistency)
  11. 生成知识提示 (Generated Knowledge Prompting)
  12. 链式提示 (Prompt Chaining)
  13. 思维树 (Tree of Thoughts, ToT)
  14. 自动推理并使用工具 (ART)
  15. 自动提示工程师 (APE)
  16. Active-Prompt
  17. 方向性刺激提示
  18. ReAct 框架
  19. 自我反思 (Reflexion)
  20. 总结与最佳实践

更多推荐文章

查看全部
  • OpenClaw 深度解析:AI 智能体的能力边界与潜在风险
  • Python 元编程基础:深入理解描述符与装饰器
  • AR 健身教练应用开发:基于 Rokid CXR-M SDK 实践
  • 树莓派 4B 连接大疆 M300 无人机开发教程
  • Stable-Diffusion-3.5 提升生成质量:FP8+ComfyUI 调优实战
  • Python 网络爬虫实战:批量抓取网页图片示例
  • AI 产品架构设计:从 0 到 1 搭建信息架构与核心业务流程
  • 基于 YOLOv 的 Web 目标检测系统:从模型导出到生产部署实战
  • 大模型同质化背后:数据捷径与「抄袭」争议
  • Python + AI 入门实战指南:从基础到深度学习路径
  • React Native Android 集成虹软 ArcFace 人脸识别实战方案
  • 雷军的编程能力与技术生涯回顾
  • C++ 多态详解:编译时与运行时多态原理及实现
  • Linux 下 C/C++ 调试工具 GDB 实战指南
  • Spring Bean 作用域、生命周期与自动装配源码解析
  • CentOS 7.6 国内镜像下载地址
  • Intel Stratix 10 Nios V 工程搭建(一)
  • Stable Diffusion XL 1.0 部署:阿里云 PAI-EAS 服务封装与 Web 应用构建
  • Git 分支管理与合并策略实战指南
  • 网络安全基础与黑客技术入门知识详解

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online