使用 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-thinking | gpt-5 |
gpt-5-thinking-mini | gpt-5-mini |
gpt-5-thinking-nano | gpt-5-nano |
gpt-5-main | gpt-5-chat-latest |
gpt-5-main-mini | [API 不提供] |
GPT-5 中的新 API 功能
与 GPT-5 一起,我们引入了一些新参数和 API 功能,旨在为开发者提供更多控制和灵活性:控制冗长度、最小推理强度选项、自定义工具和允许工具列表。
最小推理强度
reasoning.effort 参数控制模型在生成响应前产生多少推理令牌。之前的推理模型(如 o3)仅支持 low、medium 和 high:low 偏向速度和更少令牌,而 high 偏向更彻底的推理。
新的 minimal 设置为需要最快首令牌时间的情况生成非常少的推理令牌。我们通常发现,当模型可以在需要时生成少量令牌时,效果更好。默认值为 medium。
minimal 设置在编码和指令跟随场景中表现尤为出色,严格遵循给定的指令。不过,可能需要提示以更主动地行动。为了提高模型的推理质量,即使在最小强度下,也鼓励它“思考”或概述其步骤。
冗长度
冗长度决定生成多少输出令牌。减少令牌数量可降低整体延迟。虽然模型的推理方法基本保持不变,但模型会找到更简洁的回答方式——这可能会提高或降低答案质量,具体取决于您的用例。
- 高冗长度:需要模型提供文档的详细解释或进行大量代码重构时使用。
- 低冗长度:适用于需要简洁答案或简单代码生成(如 SQL 查询)的情况。
GPT-5 之前的模型默认使用 medium 冗长度。GPT-5 将此选项配置为 high、medium 或 low。
自定义工具
通过 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 的提示。
进一步阅读
常见问题
-
这些模型如何集成到 ChatGPT 中? 在 ChatGPT 中,有两个模型:
gpt-5-chat和gpt-5-thinking。它们提供推理和最小推理功能,并有一个路由层根据用户的问题选择最佳模型。用户也可以通过 ChatGPT UI 直接调用推理。 -
这些模型是否会在 Codex 中得到支持? 是的,
gpt-5将在 Codex 和 Codex CLI 中提供。 -
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工具。 -
之前模型的弃用计划是什么? 任何模型弃用将在我们的 弃用页面 上公布。我们将提前通知任何模型弃用。