English
主导航

旧版 API

推理最佳实践

了解何时使用推理模型,以及它们与 GPT 模型的对比。

OpenAI 提供两种类型的模型: 推理模型 (例如 o3 和 o4-mini)以及 GPT 模型 (如 GPT-4.1)。这些模型系列的行为有所不同。

本指南涵盖:

  1. 我们的推理模型与非推理 GPT 模型之间的区别
  2. 何时使用我们的推理模型
  3. 如何有效地为推理模型编写提示词

了解更多 推理模型 and how they work.

推理模型与 GPT 模型

与 GPT 模型相比,我们的 o 系列模型擅长不同的任务,并且需要不同的提示词。这两个模型家族之间没有绝对的优劣之分——它们只是各有所长。

我们训练 o 系列模型(“规划者”)在面对复杂任务时进行更深入、更长时间的思考,这使它们在制定策略、规划复杂问题的解决方案以及基于大量模糊信息做出决策方面表现出色。这些模型还能以极高的准确度和精确度执行任务,非常适合那些原本需要人类专家参与的领域——例如数学、科学、工程、金融服务和法律服务。

另一方面,我们的低延迟、更具成本效益的 GPT 模型(“实干家”)专为直接执行任务而设计。一个应用程序可以使用 o 系列模型来规划解决问题的策略,然后使用 GPT 模型来执行特定任务,尤其是在速度和成本比完美准确性更重要的场合。

如何选择

您的应用场景中最看重的是什么?

  • 速度与成本 → GPT 模型速度更快,且成本通常更低
  • 执行明确的任务 → GPT 模型能很好地处理明确定义的任务
  • 准确性与可靠性 → o 系列模型是可靠的决策者
  • 复杂问题解决 → o 系列模型能够处理模糊性和复杂性

如果在完成任务时,速度和成本是最重要的因素 and 您的应用场景由简单、明确的任务组成,那么我们的 GPT 模型是您的最佳选择。但是,如果准确性和可靠性是最重要的因素 and 您需要解决非常复杂的多步骤问题,那么我们的 o 系列模型可能更适合您。

大多数 AI 工作流都会结合使用这两种模型——o 系列用于智能体规划和决策,GPT 系列用于任务执行。

GPT models pair well with o-series models

我们的 GPT-4o 和 GPT-4o mini 模型会结合客户信息对订单详情进行分类,识别订单问题和退货政策,然后将所有这些数据提供给 o3-mini,由其根据政策对退货的可行性做出最终决定。

何时使用我们的推理模型

以下是我们从客户和 OpenAI 内部观察到的一些成功使用模式。这并不是对所有可能应用场景的全面综述,而是为测试我们的 o 系列模型提供的一些实用指导。

准备好使用推理模型了吗?跳转到快速入门 →

1. 处理模糊任务

推理模型特别擅长利用有限的信息或分散的信息,并在简单提示下理解用户意图,处理指令中的信息空白。实际上,推理模型通常会在盲目猜测或试图填补信息空白之前,先提出澄清性问题。

“o1 的推理能力使我们的多智能体平台 Matrix 在处理复杂文档时能够生成详尽、格式良好且详细的回复。例如,只需一个简单的提示,o1 就能让 Matrix 轻松识别信贷协议中受限支付能力下可用的篮子。以前的模型都无法达到这样的性能。在处理密集的信贷协议时,对于 52% 的复杂提示,o1 相比其他模型产生了更强的结果。”

Hebbia,面向法律和金融领域的 AI 知识平台公司

2. 大海捞针

当您传入大量非结构化信息时,推理模型非常擅长理解并仅提取最相关的信息来回答问题。

“为了分析一家公司的收购案,o1 审查了数十份公司文件(如合同和租赁协议),以找出可能影响交易的任何棘手条件。该模型的任务是标记关键条款,在此过程中,它在脚注中发现了一项关键的‘控制权变更’条款:如果公司被出售,它必须立即偿还 7500 万美元的贷款。o1 对细节的极度关注使我们的 AI 智能体能够通过识别关键任务信息来为金融专业人士提供支持。”

Endex,AI 金融智能平台

3. 发现大型数据集中的关系与细微差别

我们发现推理模型特别擅长对包含数百页密集、非结构化信息的复杂文档进行推理——例如法律合同、财务报表和保险索赔。这些模型在发现文档之间的相似之处以及根据数据中隐含的事实做出决策方面尤为出色。

“税务研究需要综合多份文档才能得出最终且合理的答案。我们将 GPT-4o 换成了 o1,发现 o1 在推理文档之间的相互作用方面表现得好得多,能够得出任何单一文档中都不明显的逻辑结论。结果,通过切换到 o1,我们的端到端性能提升了 4 倍——令人难以置信。”

Blue J,AI 税务研究平台

推理模型还擅长对细微的政策和规则进行推理,并将其应用于当前任务以得出合理的结论。

“在财务分析中,分析师经常需要处理围绕股东权益的复杂场景,并且需要了解相关的法律细节。我们用一道具有挑战性但很常见的问题测试了不同提供商的大约 10 个模型:融资如何影响现有股东,尤其是当他们行使反稀释特权时?这需要通过推理得出投前和投后估值,并处理循环稀释问题——这是顶尖财务分析师都要花 20-30 分钟才能弄清楚的事情。我们发现 o1 和 o3-mini 能够完美地做到这一点!该模型甚至生成了一个清晰的计算表,展示了对一名 10 万美元股东的影响。”

BlueFlame AI,AI 投资管理平台

4. 多步骤智能体规划

推理模型对于智能体规划和策略制定至关重要。当推理模型被用作“规划者”,为问题生成详细的多步骤解决方案,然后根据高智能还是低延迟更为重要,为每个步骤选择并分配合适的 GPT 模型(“执行者”)时,我们看到了成功的案例。

我们在智能体基础设施中使用 o1 作为规划者,让它编排工作流中的其他模型以完成多步骤任务。我们发现 o1 非常擅长选择数据类型并将大问题分解为更小的块,从而使其他模型能够专注于执行。”

Argon AI,面向制药行业的 AI 知识平台

“o1 驱动了我们工作 AI 助手 Lindy 中的许多智能体工作流。该模型使用函数调用从您的日历或电子邮件中提取信息,然后可以自动帮助您安排会议、发送电子邮件以及管理日常任务的其他部分。我们将所有之前经常出问题的智能体步骤都切换到了 o1,结果发现我们的智能体几乎在一夜之间变得完美无瑕!”

Lindy.AI,AI 工作助手

5. 视觉推理

截至目前,o1 是唯一支持视觉功能的推理模型。它与 GPT-4o 的不同之处在于,o1 能够理解甚至是最具挑战性的视觉内容,例如结构模糊的图表和表格,或图像质量不佳的照片。

“我们为网上的数百万种产品自动执行风险与合规审查,包括奢侈品珠宝的仿品、濒危物种和受管制物质。在我们最难的图像分类任务中,GPT-4o 的准确率达到了 50%。而 o1 在未对我们的流程作任何修改的情况下,达到了惊人的 88% 准确率。”

SafetyKit,人工智能驱动的风险与合规平台

从我们自己的内部测试来看,我们发现 o1 能够从高度详细的建筑图纸中识别固定装置和材料,从而生成全面的物料清单。我们观察到的最令人惊讶的事情之一是,o1 能够在不同的图像之间建立联系,它可以将建筑图纸某一页上的图例正确地应用到另一页上,而无需明确的指令。在下面您可以看到,对于 4x4 PT 木柱,o1 根据图例识别出“PT”代表经过加压处理的(pressure treated)。

o-series models correctly read architectural drawing details

6. 审查、调试和改进代码质量

推理模型在审查和改进大量代码方面特别有效,通常在后台运行代码审查,以适应模型较高的延迟。

“我们在 GitHub 和 GitLab 等平台上提供自动化 AI 代码审查服务。虽然代码审查过程本身对延迟不敏感,但它确实需要理解跨多个文件的代码差异。这正是 o1 真正出色的地方——它能够可靠地检测出人类审查员可能遗漏的代码库细微变更。在切换到 o 系列模型后,我们的产品转化率提高了 3 倍。”

CodeRabbit,人工智能代码审查初创公司

虽然 GPT-4o 和 GPT-4o mini 凭借更低的延迟可能更适合编写代码,但我们也发现 o3-mini 在对延迟要求稍低的用例中,代码生成能力表现抢眼。

“o3-mini 能够持续生成高质量、结论明确的代码,并且只要问题定义明确,即使是极具挑战性的编码任务,它也经常能给出正确的解决方案。虽然其他模型可能仅适用于小规模的快速代码迭代,但 o3-mini 在规划和执行复杂软件设计系统方面表现出色。”

Windsurf,由 Codeium 构建的协作式智能 AI 驱动 IDE

7. 其他模型回复的评估与基准测试

我们还发现推理模型在基准测试和评估其他模型回复方面表现出色。数据验证对于确保数据集的质量和可靠性至关重要,尤其是在医疗保健等敏感领域。传统的验证方法使用预定义的规则和模式,但像 o1 和 o3-mini 这样的高级模型能够理解上下文并对数据进行推理,从而提供一种更灵活、更智能的验证方法。

“许多客户在 Braintrust 的评估过程中使用‘LLM 作为评判者’(LLM-as-a-judge)。例如,一家医疗保健公司可能会使用像 gpt-4o 这样的主力模型来总结患者的问题,然后使用 o1 来评估摘要的质量。一位 Braintrust 客户发现,评判者的 F1 分数从使用 4o 时的 0.12 提升到了使用 o1 时的 0.74!在这些用例中,他们发现 o1 的推理能力在找出补全内容中细微差别方面发挥了关键作用,能够应对最困难、最复杂的评分任务。”

Braintrust, AI evals platform

如何有效地为推理模型编写提示词

这些模型在使用简单直接的提示时表现最佳。一些提示工程技巧(例如指示模型“一步一步地思考”)可能并不会提升性能(有时甚至会起反作用)。请参阅下面的最佳实践,或者 从提示示例开始.

  • 开发者消息是新的系统消息:从 o1-2024-12-17开始,推理模型支持开发者消息而非系统消息,以符合 模型规范.
  • 保持提示简单直接:这些模型擅长理解并响应简短、清晰的指令。
  • 避免使用思维链提示:由于这些模型在内部进行推理,无需提示它们“逐步思考”或“解释你的推理过程”。
  • 使用分隔符以提高清晰度:使用 markdown、XML 标签和章节标题等分隔符清晰地划分输入的各个部分,以帮助模型正确解析不同的内容。
  • 先尝试零样本,如有需要再尝试少样本:推理模型通常不需要少样本示例即可生成优质结果,因此请先尝试编写不含示例的提示词。如果对期望的输出有更复杂的要求,在提示词中提供几组输入和期望输出的示例可能会有所帮助。只需确保这些示例与你的提示词指令高度一致,因为两者之间的差异可能会导致效果不佳。
  • 提供具体指南: 如果你希望以特定方式限制模型的回复(例如“提供一个预算低于 500 美元的方案”),请在提示词中明确列出这些限制条件。
  • 明确你的最终目标: 在你的指令中,尝试为成功的回复设定非常具体的参数,并鼓励模型不断推理和迭代,直到满足你的成功标准。
  • Markdown 格式:从 o1-2024-12-17, API 中的推理模型将避免生成带有 markdown 格式的回复。为了在需要回复中包含 markdown 格式时向模型发出信号,请包含字符串 Formatting re-enabled 在开发者消息的第一行。

如何保持低成本和高准确性

With the introduction of o3 and o4-mini 模型时,Responses API 中持久化的推理项会以不同方式处理。以前(对于 o1, o3-mini, o1-mini and o1-preview),推理项在后续的 API 请求中总是会被忽略,即使它们被包含在请求的输入项中。而使用 o3 and o4-mini, 模型上下文中会包含一些与函数调用相邻的推理项,以帮助在使用最少推理 Token 的同时提升模型性能。

为了在此次变更中获得最佳结果,我们建议使用 Responses API with the store 参数并将其设置为 true, 并传入先前请求中的所有推理项(使用 previous_response_id, 或者通过获取较早请求的所有输出项,并将它们作为新请求的输入项传入)。OpenAI 会自动在模型上下文中包含任何相关的推理项,并忽略不相关的项。在需要更精确地管理模型上下文内容的更高级用例中,我们建议你至少包含最近一次函数调用与上一次用户消息之间的所有推理项。这样做将确保模型在你响应函数调用时无需重新开始推理,从而获得更好的函数调用性能并降低整体 Token 消耗。

如果你使用的是 Chat Completions API,推理项将永远不会包含在模型的上下文中。这是因为 Chat Completions 是一个无状态 API。这会导致在涉及大量函数调用的复杂智能体场景中,模型性能出现轻微下降,并消耗更多的推理 token。在不涉及复杂多次函数调用的情况下,无论使用哪种 API,性能都不会下降。

其他资源

获取更多灵感,请访问 OpenAI Cookbook, 其中包含示例代码和指向第三方资源的链接,或者了解更多关于我们的模型和推理能力的信息: