GPT 最佳实践
本指南分享了从 OpenAI GPT 模型获得更好结果的策略和战术。这些方法可以组合使用以获得更大的效果。鼓励进行实验,找到最适合您的方法。
注:本文的部分示例可能需要使用功能最强的模型(如 GPT-4)。通常,如果发现 GPT 模型在某一任务上表现不佳,并且有功能更强大的模型可用,值得尝试使用功能更强大的模型。
获得更好结果的六种策略
策略一:写清楚的说明
GPT 无法读懂你的心思。如果输出太长,请要求简短回复;如果输出太简单,请要求专家级写作;如果不喜欢格式,请演示你希望看到的格式。GPT 对你要的内容猜测越少,你获得满意结果的可能性越大。
战术 1:在查询中包含详细信息以获取更相关的答案
为了让模型给出更相关的回答,请在查询中提供尽可能多的细节。例如:
较差:如何计算汇率?
较好:人民币兑美元汇率最近三个月的历史数据是多少?请提供一个包含日期、买入价和卖出价的表格。
战术 2:要求模型采用角色
通过给模型指定角色,可以显著改变回答的风格和质量。例如:
当我请求帮助撰写内容时,请以资深编辑的身份回复。你对语法、风格和逻辑有严格的要求,会指出问题并提出改进建议。
战术 3:使用分隔符清晰地指示输入的不同部分
使用三重引号、XML 标签、章节标题等分隔符,帮助模型区分输入的不同部分:
将以下用三重引号括起来的文本总结为一句话:
"""
(此处放文本内容)
"""
战术 4:指定完成任务所需的步骤
对于复杂任务,明确列出执行步骤:
步骤 1:阅读以下文章。
步骤 2:提取文章的核心论点。
步骤 3:列出支持该论点的三个论据。
步骤 4:用 100 字以内总结全文。
战术 5:提供示例
提供示例(Few-shot Prompting)可以显著提升输出质量:
请将以下中文词语翻译为英文。
示例:
苹果 -> apple
香蕉 -> banana
计算机 -> computer
---
书本 ->
老师 ->
战术 6:指定所需的输出长度
明确要求输出长度,可以是字数、段落数或句子数:
用 50 字以内解释什么是量子计算。
用三个段落描述文艺复兴的影响。
策略二:提供参考文本
GPT 可能自信地生成虚假信息(即"幻觉"),尤其是在涉及深奥主题或要求引用来源时。提供参考文本可以显著减少捏造。
战术 1:指示模型使用参考文本回答
先提供参考文本,然后要求模型基于该文本回答:
请使用以下文章回答用户问题。如果问题无法从文章中直接找到答案,请明确说明"文中未提及"。
文章:"""
(参考文本)
"""
问题:...
战术 2:指示模型使用参考文本中的引用进行回答
要求模型在回答中附带引用来源:
请基于以下文档回答问题。在每个观点后标注对应的段落编号。如果文档中没有相关信息,请说明"文档中未覆盖此内容"。
文档:
(文档内容,段落前标注编号)
策略三:将复杂任务拆分为更简单的子任务
复杂任务往往比简单任务具有更高的错误率。将复杂任务分解为一系列更简单的子任务,每个子任务的输出成为下一个子任务的输入。
战术 1:使用意图分类来识别用户查询的最相关指令
对于多场景系统,先对用户输入进行分类,再调用对应的处理流程。这可以通过模型本身或专门的分类模型实现。
战术 2:对于需要长时间对话的应用,总结或过滤之前的对话内容
由于上下文窗口有限,可以通过摘要历史对话的方式来保持上下文,而不是传递完整的历史记录。
战术 3:逐段总结长文档,然后递归地构建完整摘要
对于超长文档:
- 将文档分段,每段分别生成摘要。
- 将各段摘要合并,生成更高层次的摘要。
- 必要时重复上述过程,直到得到完整摘要。
策略四:给模型思考时间
模型在匆忙作答时更容易出错。引导模型逐步推理而不是直接给出结论,可以显著提升结果质量。
战术 1:指示模型在匆忙得出结论之前先思考解决方案
要求模型先列出推理步骤,再给出答案:
首先,让我们逐步解决这个问题。列出所给的已知条件,然后分步推导,最后给出答案。
战术 2:使用内心独白或思维链提示
引导模型展示其推理过程,这有助于发现逻辑错误:
请逐步思考这个问题。将推理过程放在三重引号之间,最后给出最终答案。
战术 3:询问模型在继续之前是否遗漏了任何信息
使用模型进行自我检查:
请检查你是否获取了回答该问题所需的全部信息。如果缺少关键信息,请列出需要补充的内容,然后再作答。
策略五:使用外部工具
通过给模型提供外部工具,弥补其能力短板,如计算、检索、代码执行等。
战术 1:使用基于嵌入的搜索实现高效知识检索
将文档向量化后存入向量数据库,用户提问时先检索相关文档片段,再交给模型回答。
战术 2:使用代码执行来进行精确计算或调用外部 API
对于数学计算、数据处理等任务,让模型生成代码并执行,而不是直接要求模型计算:
请编写 Python 代码来计算以下数据集的均值和标准差,然后执行代码并给出结果。
战术 3:给模型访问特定功能函数的权限
通过 Function Calling,模型可以调用外部 API 获取实时信息,如天气、股价、数据库查询等。
策略六:系统性测试变更
改进提示词时,可能需要多次试错才能确定哪些变更带来了改进。系统性测试可以帮助你衡量效果。
战术 1:评估模型输出是否符合黄金标准答案
准备一组测试样本(输入 + 期望输出),对每次提示词变更进行批量测试,比较模型输出与标准答案的差异。
战术 2:使用 Evals 开源评估框架
OpenAI 提供了 Evals 开源评估框架,可以帮助你系统性地评估模型在不同任务上的表现。通过定义评估指标和测试数据集,自动化跟踪提示词变更的效果。
总结
这六种策略从不同角度帮助您获得更好的 GPT 输出:
| # | 策略 | 核心思想 |
|---|---|---|
| 1 | 写清楚说明 | 减少模型的猜测空间 |
| 2 | 提供参考文本 | 减少幻觉,提高准确性 |
| 3 | 拆分复杂任务 | 降低单步错误率 |
| 4 | 给模型思考时间 | 引导逐步推理 |
| 5 | 使用外部工具 | 弥补模型能力短板 |
| 6 | 系统性测试变更 | 量化评估改进效果 |
| 以上策略和战术在实践中可以灵活组合使用,不断迭代优化提示词,以获得最佳效果。 |



暂无评论内容