使用 GPT-5

GPT-5 是我们迄今为止最智能的模型,特别擅长以下方面:

  • 代码生成、错误修复和重构
  • 指令跟随
  • 长上下文和工具调用

本指南介绍了 GPT-5 模型系列的核心功能,以及如何充分利用 GPT-5。


探索代码示例

点击查看由单个 GPT-5 提示生成的几个演示应用程序,无需手动编写任何代码。


快速入门

更快的响应

默认情况下,GPT-5 在响应提示前会生成中等长度的思考链。若需要更快、低延迟的响应,请使用低推理强度和低文本冗长度。

此行为将更接近(但不完全相同)非推理模型,如 GPT-4.1。我们期望 GPT-5 比 GPT-4.1 产生更智能的响应,但在速度和最大上下文长度至关重要时,您可以考虑使用 GPT-4.1。

快速、低延迟响应选项示例:

curl https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-5",
    "input": "写一首关于代码的俳句。",
    "reasoning": { "effort": "low" },
    "text": { "verbosity": "low" }
  }'

编码和代理任务

GPT-5 擅长推理复杂任务。对于编码和多步骤规划等复杂任务,请使用高推理强度。

缓慢、高推理任务示例:

curl https://api.openai.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -d '{
    "model": "gpt-5",
    "input": "找出空指针异常:...您的代码...",
    "reasoning": { "effort": "high" }
  }'

了解模型

GPT-5 系列有三个模型。一般来说,gpt-5 最适合需要广泛世界知识的复杂任务。较小的 mini 和 nano 模型在成本和延迟上进行了权衡,牺牲了一些通用世界知识。较小的模型在定义明确的任务上表现更佳。

变体最佳用途
gpt-5复杂推理、广泛世界知识、代码密集或多步骤代理任务
gpt-5-mini成本优化的推理和聊天;平衡速度、成本和能力
gpt-5-nano高吞吐量任务,特别是简单的指令跟随或分类

模型名称参考

GPT-5 系统卡 使用的名称与 API 不同。使用此表进行映射:

系统卡名称API 别名
gpt-5-thinkinggpt-5
gpt-5-thinking-minigpt-5-mini
gpt-5-thinking-nanogpt-5-nano
gpt-5-maingpt-5-chat-latest
gpt-5-main-mini[API 不提供]

GPT-5 中的新 API 功能

与 GPT-5 一起,我们引入了一些新参数和 API 功能,旨在为开发者提供更多控制和灵活性:控制冗长度、最小推理强度选项、自定义工具和允许工具列表。


最小推理强度

reasoning.effort 参数控制模型在生成响应前产生多少推理令牌。之前的推理模型(如 o3)仅支持 lowmediumhighlow 偏向速度和更少令牌,而 high 偏向更彻底的推理。

新的 minimal 设置为需要最快首令牌时间的情况生成非常少的推理令牌。我们通常发现,当模型可以在需要时生成少量令牌时,效果更好。默认值为 medium

minimal 设置在编码和指令跟随场景中表现尤为出色,严格遵循给定的指令。不过,可能需要提示以更主动地行动。为了提高模型的推理质量,即使在最小强度下,也鼓励它“思考”或概述其步骤。


冗长度

冗长度决定生成多少输出令牌。减少令牌数量可降低整体延迟。虽然模型的推理方法基本保持不变,但模型会找到更简洁的回答方式——这可能会提高或降低答案质量,具体取决于您的用例。

  • 高冗长度:需要模型提供文档的详细解释或进行大量代码重构时使用。
  • 低冗长度:适用于需要简洁答案或简单代码生成(如 SQL 查询)的情况。

GPT-5 之前的模型默认使用 medium 冗长度。GPT-5 将此选项配置为 highmediumlow


自定义工具

通过 GPT-5,我们引入了一项名为自定义工具的新功能,允许模型发送任何原始文本作为工具调用输入,但仍可在需要时限制输出。

自由格式输入

定义工具时使用 type: custom,可让模型直接将纯文本输入发送到您的工具,而不限于结构化 JSON。模型可以将任何原始文本(代码、SQL 查询、shell 命令、配置文件或长篇散文)直接发送到您的工具。

{
    "type": "custom",
    "name": "code_exec",
    "description": "执行任意 Python 代码"
}

限制输出

GPT-5 支持自定义工具的上下文无关文法(CFG),允许您提供 Lark 文法以限制输出为特定语法或 DSL。附加 CFG(如 SQL 或 DSL 文法)可确保助手的文本与您的文法匹配。


允许工具

allowed_tools 参数在 tool_choice 下允许您传递 N 个工具定义,但限制模型仅使用 M(< N)个工具。在 tools 中列出完整工具包,然后使用 allowed_tools 块命名子集并指定模式——auto(模型可选择其中任何一个)或 required(模型必须调用一个)。

"tool_choice": {
    "type": "allowed_tools",
    "mode": "auto",
    "tools": [
      { "type": "function", "name": "get_weather" },
      { "type": "function", "name": "search_docs" }
    ]
  }

前言

前言是 GPT-5 在调用任何工具或函数前生成的简短、用户可见的解释,概述其意图或计划(例如,“我为什么调用此工具”)。它们出现在思考链之后,实际工具调用之前,提供对模型推理的透明度,增强可调试性、用户信心和细粒度可操控性。


迁移指南

GPT-5 是我们迄今为止最好的模型,与 Responses API 配合使用效果最佳,该 API 支持在多轮对话中传递思考链。阅读以下内容以从当前模型或 API 迁移。

从其他模型迁移到 GPT-5

我们发现智能性提升,因为 Responses API 可以将上一轮的思考链传递给模型。这会减少生成的推理令牌、提高缓存命中率并降低延迟。了解更多信息,请参阅关于 Responses 的深入指南


提示指南

我们特别设计 GPT-5 以擅长编码、前端工程和工具调用以执行代理任务。我们还建议使用 提示优化器 迭代 GPT-5 的提示。


进一步阅读


常见问题

  1. 这些模型如何集成到 ChatGPT 中? 在 ChatGPT 中,有两个模型:gpt-5-chatgpt-5-thinking。它们提供推理和最小推理功能,并有一个路由层根据用户的问题选择最佳模型。用户也可以通过 ChatGPT UI 直接调用推理。

  2. 这些模型是否会在 Codex 中得到支持? 是的,gpt-5 将在 Codex 和 Codex CLI 中提供。

  3. GPT-5 与 GPT-5-Codex 有何不同? GPT-5-Codex 是专门为 Codex 设计的。与通用模型 GPT-5 不同,我们建议仅在 Codex 或类似 Codex 的环境中使用 GPT-5-Codex 进行代理编码任务,而 GPT-5 适用于其他领域的用例。GPT-5-Codex 仅在 Responses API 中提供,支持低、中、高 reasoning_efforts、函数调用、结构化输出和 web_search 工具。

  4. 之前模型的弃用计划是什么? 任何模型弃用将在我们的 弃用页面 上公布。我们将提前通知任何模型弃用。