For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
主导航

推理最佳实践

了解何时使用推理模型,以及它们与 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 知识平台

“在我们的工作 AI 助手 Lindy 中,许多智能体工作流都由 o1 驱动。该模型通过函数调用从您的日历或电子邮件中提取信息,然后可以自动帮助您安排会议、发送电子邮件,以及管理其他日常任务。我们将所有过去容易出问题的智能体步骤都切换到了 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 客户发现,将评判模型从 4o 换成 o1 后,其 F1 分数从 0.12 提升到了 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 模型的推出,Responses API 对持久化推理项的处理方式发生了变化。此前,对于 o1o3-minio1-minio1-preview,后续 API 请求始终会忽略推理项,即使这些推理项已包含在请求的输入项中。对于 o3o4-mini,与函数调用相邻的部分推理项会被纳入模型的上下文,以帮助改善模型表现,同时尽量减少推理 Token 的使用量。

为充分利用这一变化,我们建议使用 Responses API,将 store 参数设为 true,并传入先前请求中的所有推理项。您可以使用 previous_response_id,也可以将先前请求的所有输出项作为新请求的输入项传入。OpenAI 会自动将相关推理项纳入模型的上下文,并忽略无关项。在更高级的用例中,如果您希望更精确地管理模型上下文中的内容,我们建议至少包含上一条用户消息与最新一次函数调用之间的所有推理项。这样可以确保模型在您返回函数调用结果时无需重新开始推理,从而改善函数调用表现,并降低总体 Token 使用量。

如果您使用 Chat Completions API,推理项始终不会被纳入模型的上下文,因为 Chat Completions 是无状态 API。在涉及大量函数调用的复杂智能体场景中,这会使模型表现略有下降,并增加推理 Token 的使用量。如果不涉及复杂的多次函数调用,则无论使用哪种 API,模型表现都应不会下降。

其他资源

如需更多灵感,请访问 OpenAI Cookbook,其中包含示例代码和第三方资源链接;您也可以通过以下资源进一步了解我们的模型及其推理能力: