推理最佳实践:了解何时使用推理模型及其与GPT模型的差异

79 阅读14分钟

推理最佳实践:了解何时使用推理模型及其与GPT模型的差异

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

本指南涵盖:

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

阅读更多关于推理模型及其工作原理的内容。

推理模型与GPT模型的对比

与GPT模型相比,我们的o系列模型在不同任务上表现出色,并且需要不同的提示。一个模型系列并不比另一个更好——它们只是不同而已。

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

另一方面,我们的低延迟、更具成本效益的GPT模型(“主力军”)专为直接执行而设计。应用程序可能会使用o系列模型来规划解决问题的策略,并使用GPT模型来执行特定任务,特别是当速度和成本比完美的准确性更重要时。

如何选择

你的用例中最重要的是什么?

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

如果在完成任务时,速度和成本是最重要的因素,并且你的用例由简单、明确定义的任务组成,那么我们的GPT模型是最适合你的。然而,如果准确性和可靠性是最重要的因素,并且你有一个非常复杂的多步骤问题需要解决,我们的o系列模型可能更适合你。

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

GPT模型与o系列模型配合良好

我们的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为我们Lindy(我们的工作AI助手)的许多代理工作流提供动力。该模型使用函数调用来从你的日历或电子邮件中提取信息,然后可以自动帮助你安排会议、发送电子邮件,并管理你日常任务的其他部分。我们将所有曾经出现问题的代理步骤切换到o1,观察到我们的代理一夜之间变得几乎完美!”

Lindy.AI,工作AI助手

5. 视觉推理

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

“我们自动对在线数百万种产品进行风险和合规审查,包括奢侈珠宝仿制品、濒危物种和受控物质。GPT-4o在我们最困难的图像分类任务上达到了50%的准确率。o1在没有对我们的管道进行任何修改的情况下实现了令人印象深刻的88%的准确率。”

SafetyKit,AI驱动的风险和合规平台

从我们自己的内部测试中,我们发现o1可以从高度详细的建筑图纸中识别固定装置和材料,以生成全面的材料清单。我们观察到的最令人惊讶的事情之一是,o1可以通过在建筑图纸的一页上获取图例,并在没有明确指示的情况下将其正确应用到另一页上,从而在不同图像之间进行比较。下面你可以看到,对于4x4 PT木柱,o1认识到“PT”代表压力处理,这是基于图例。

o系列模型正确读取建筑图纸细节

6. 审查、调试和提高代码质量

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

“我们在GitHub和GitLab等平台上提供自动化AI代码审查。虽然代码审查过程本质上对延迟不敏感,但它确实需要理解多个文件中的代码差异。这正是o1的优势所在——它能够可靠地检测到代码库中的微小变化,这些变化可能会被人类审查者忽略。切换到o系列模型后,我们能够将产品转化率提高3倍。”

CodeRabbit,AI代码审查初创公司

虽然GPT-4o和GPT-4o mini可能因其较低的延迟而更适合编写代码,但我们也发现o3-mini在对延迟不太敏感的用例的代码生成方面表现出色。

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

Windsurf,由Codeium构建的协作式代理AI驱动的IDE

7. 其他模型响应的评估和基准测试

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

“许多客户在Braintrust中使用LLM作为法官作为其评估过程的一部分。例如,一家医疗保健公司可能使用像gpt-4o这样的主力模型总结患者问题,然后用o1评估总结质量。一位Braintrust客户发现,法官的F1分数从使用4o时的0.12提高到使用o1时的0.74!在这些用例中,他们发现o1的推理在发现完成中的细微差异方面是一个游戏规则改变者,特别是对于最困难和最复杂的评分任务。”

Braintrust,AI评估平台

如何有效地提示推理模型

这些模型在使用直接提示时表现最佳。一些提示工程技术,如指示模型“逐步思考”,可能不会提高性能(有时甚至会阻碍性能)。请参见下面的最佳实践,或查看提示示例

  • 开发者消息是新的系统消息:从o1-2024-12-17开始,推理模型支持开发者消息而不是系统消息,以与模型规范中描述的命令链行为保持一致。
  • 保持提示简单直接:这些模型擅长理解和响应简洁、清晰的指令。
  • 避免思维链提示:由于这些模型在内部执行推理,提示它们“逐步思考”或“解释你的推理”是不必要的。
  • 使用分隔符以提高清晰度:使用markdown、XML标签和节标题等分隔符来明确指示输入的不同部分,帮助模型适当地解释不同的部分。
  • 先尝试零样本,必要时再尝试少样本:推理模型通常不需要少样本示例就能产生良好的结果,因此首先尝试编写没有示例的提示。如果你的期望输出有更复杂的要求,在提示中包含几个输入和期望输出的示例可能会有所帮助。只需确保示例与你的提示指令非常一致,因为两者之间的差异可能会产生不良结果。
  • 提供具体指南:如果你有明确想要限制模型响应的方式(如“提出预算低于500美元的解决方案”),在提示中明确概述这些限制。
  • 非常具体地说明你的最终目标:在你的指令中,尝试为成功的响应给出非常具体的参数,并鼓励模型不断推理和迭代,直到它符合你的成功标准。
  • Markdown格式:从o1-2024-12-17开始,API中的推理模型将避免生成带有markdown格式的响应。要向模型表明你确实希望响应中包含markdown格式,请在开发者消息的第一行包含字符串Formatting re-enabled

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

随着o3o4-mini模型的推出,响应API中持久化的推理项得到了不同的处理。以前(对于o1o3-minio1-minio1-preview),推理项在后续API请求中总是被忽略,即使它们包含在请求的输入项中。对于o3o4-mini,一些与函数调用相邻的推理项被包含在模型的上下文中,以帮助提高模型性能,同时使用最少的推理token。

为了通过这一变化获得最佳结果,我们建议使用响应API并将store参数设置为true,并传入以前请求中的所有推理项(要么使用previous_response_id,要么将旧请求中的所有输出项作为新请求的输入项传入)。OpenAI将自动将任何相关的推理项包含在模型的上下文中,并忽略任何不相关的推理项。在更高级的用例中,如果你想更精确地管理进入模型上下文的内容,我们建议你至少包含最新函数调用和之前的用户消息之间的所有推理项。这样做将确保模型在你响应函数调用时不必重新开始推理,从而提高函数调用性能并降低总体token使用量。

如果你使用的是聊天补全API,推理项永远不会包含在模型的上下文中。这是因为聊天补全是一个无状态API。在涉及许多函数调用的复杂代理案例中,这将导致模型性能略有下降和推理token使用量增加。在不涉及复杂的多函数调用的情况下,无论使用哪个API,性能都不应下降。

其他资源

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

在实际应用推理模型处理复杂任务时,稳定高效的API连接至关重要。我们提供的API中转服务通过https://api.aaaaapi.com优化了请求链路,能有效提升推理模型在处理多步骤任务时的响应稳定性。如果需要在生产环境中部署推理模型,可访问官网了解更多关于提升API调用可靠性的方案,确保复杂推理任务的顺畅执行。