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

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

在使用提示词与大语言模型交互时,合理配置模型参数对输出质量至关重要。常见设置包括温度(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-shot, 3-shot 等)帮助模型理解任务模式。
示例:
'whatpu'是坦桑尼亚的一种小型毛茸茸的动物。一个使用 whatpu 这个词的句子的例子是:我们在非洲旅行时看到了这些非常可爱的 whatpus。
'farduddle'是指快速跳上跳下。一个使用 farduddle 这个词的句子的例子是:
输出:当我们赢得比赛时,我们都开始庆祝跳跃。
对于更困难的任务,可以增加演示数量(如 5-shot、10-shot),但需注意上下文窗口限制。
特点:通过中间推理步骤实现复杂推理能力。将问题分解为逐步推导的过程。
示例:
这组数中的奇数加起来是偶数: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。
特点:无需示例,仅通过添加'让我们逐步思考'等触发词引导模型进行推理。
示例:
我去市场买了 10 个苹果。我给了邻居 2 个苹果和修理工 2 个苹果。然后我去买了 5 个苹果并吃了 1 个。我还剩下多少苹果?
让我们逐步思考。
输出:首先,您从 10 个苹果开始。您给了邻居和修理工各 2 个苹果,所以您还剩下 6 个苹果。然后您买了 5 个苹果,所以现在您有 11 个苹果。最后,您吃了 1 个苹果,所以您还剩下 10 个苹果。
特点:结合问题聚类与演示抽样。先划分问题类别,再从每组中选择代表性问题生成推理链,减少人工标注成本。
特点:替换链式思维提示中使用的天真贪婪解码方法。通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案。有助于提高涉及算术和常识推理任务的性能。
特点:先生成相关知识,再整合知识得出预测。将问题重新格式化为 QA 格式以指导答案。
流程:
注意:答案的好坏依赖知识的生成质量,如果生成错误的知识,往往答案是很容易出错的。
特点:将任务分解为许多子任务。确定子任务后,将子任务的提示词提供给语言模型,得到的结果作为新的提示词的一部分。一个任务被分解为多个子任务,根据子任务创建一系列提示操作,提高可靠性和性能。
特点:利用大型语言模型进行问题解决的框架,模拟人类的双重处理过程(系统 1 快速直觉与系统 2 慢速深思)。通过将问题解决过程表示为一棵树,每个节点代表解决方案的一部分,树枝代表操作。
关键步骤:
ToT 框架通用性强,可适应不同问题特性,但依赖于模型生成和评估思维步骤的能力。
特点:使用冻结的 LLM 自动生成包含中间推理步骤的程序,交替运用 CoT 提示和工具。
工作原理:
ART 还可手动扩展,更新任务和工具库即可修正推理步骤或添加新工具。
特点:用于自动指令生成和选择的框架。将指令生成问题构建为自然语言合成问题,使用 LLMs 作为黑盒优化器生成和搜索候选解。
流程:
特点:解决固定人工注释范例不是最优示例的问题。基于不一致性度量选择最不确定的问题进行人工注释,动态更新提示。
流程:
特点:训练可调节的策略 LM 来生成刺激/提示,优化黑盒冻结 LLM 的生成方向。越来越多地使用 RL 来优化 LLM。
特点:结合推理(Reasoning)和行为(Acting)。允许 LLMs 与外部工具交互获取额外信息,给出更可靠回应。
优势:
灵感:行为与推理的协同作用,使人类能学习新任务并决策。
特点:通过语言反馈强化基于语言的智能体。将环境反馈转换为语言反馈,供下一轮 LLM 智能体参考。
组成:
关键步骤:定义任务 -> 生成轨迹 -> 评估 -> 执行自我反思 -> 生成下一条轨迹。通过引入自我评估、记忆组件拓展 ReAct 框架。
在实际应用中,选择合适的提示技术取决于任务复杂度、可用资源及模型能力。
建议开发者根据具体场景灵活组合上述技术,并通过实验验证效果。随着大模型能力的演进,提示工程也在不断发展,保持对新技术的关注和实践是关键。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online