Skip to content

GPT-5.4 系列(gpt-5.4gpt-5.4-progpt-5.3-codex)在助手消息上新增 phase 字段,用于标识当前输出是中间评论(commentary)还是最终答案(final_answer)。该字段仅在 Responses API 中支持,Chat Completions API 无法表达多阶段输出。保留 phase 是多轮 agentic 工作流性能的关键——丢失 phase 会导致模型提前终止或性能明显下降。本迁移无 Breaking Change,phase 是纯新增字段。

GPT-5.4、GPT-5.4 Pro 和 GPT-5.3 Codex 在助手消息上引入了 phase 字段,这是 OpenRouter 对这批模型迁移所需关注的核心变化。

官方说明:Prompt Guidance for GPT-5.4

phase 字段说明

phase 出现在助手输出消息上,有三个可能的值:

含义
null未指定阶段(默认)
"commentary"中间助手消息(思考过程、分析步骤)
"final_answer"最终关闭性输出

phase 只对助手消息有效,不能添加到用户或系统消息上。

为什么 phase 重要

对于 gpt-5.3-codexgpt-5.4gpt-5.4-pro,在多轮对话中正确保留 phase 是获得最佳性能的必要条件。如果重建对话历史时丢弃了 phase 元数据,可能导致:

  • 模型在较长任务中提前停止
  • 整体推理质量明显下降

用法

Responses API(支持 phase)

使用 Responses API 时,助手输出项会包含 phase,必须原样保留并在后续请求中回传:

json
// 初始请求
{
  "model": "openai/gpt-5.4",
  "input": [
    {
      "type": "message",
      "role": "user",
      "content": [{ "type": "input_text", "text": "Refactor the auth module" }]
    }
  ]
}

响应中的助手输出会包含 phase

json
{
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [{ "type": "output_text", "text": "I'll start by analyzing..." }],
      "phase": "commentary"
    },
    {
      "type": "message",
      "role": "assistant",
      "content": [{ "type": "output_text", "text": "Here's the refactored code..." }],
      "phase": "final_answer"
    }
  ]
}

后续请求必须将上述助手消息(含 phase)完整传入 input

Chat Completions API(不支持 phase)

Chat Completions API 每次响应只能包含一条消息,无法表示 commentaryfinal_answer 两种阶段输出。如果需要 phase 支持,必须使用 Responses API

实现要点

  1. 保留助手消息上的 phase — 收到包含 phase 的响应后,存储并在后续请求中传回
  2. 不要给用户消息加 phasephase 只对助手消息有效,对用户消息会返回错误
  3. 不要丢弃 phase — 省略会降低模型性能
  4. 使用 Responses API — Chat Completions 无法表示多阶段输出

支持情况

模型phase 支持
openai/gpt-5.4支持
openai/gpt-5.4-pro支持
openai/gpt-5.3-codex支持
其他 OpenAI 模型静默忽略(传入安全)
非 OpenAI 模型不适用

向不支持 phase 的 OpenAI 模型(如 gpt-4o)传入 phase 是安全的,会被静默忽略,无需按模型过滤。

Breaking Changes

无 Breaking Change。 phase 是纯新增字段:

  • 不含 phase 的现有请求在所有模型上继续正常工作
  • 不支持 phase 的模型会静默忽略
  • 无需修改现有代码,除非希望利用 GPT-5.3 Codex / GPT-5.4 / GPT-5.4 Pro 的改进多轮性能

相关文档

常见问题

Q: 如果我的代码用的是 Chat Completions API,需要迁移到 Responses API 吗?

A: 如果不使用多轮 agentic 工作流,无需迁移。phase 只影响多阶段推理场景——对话型应用或单轮任务不受影响。只有需要 commentary + final_answer 区分的长任务场景才需要切换到 Responses API。

Q: 为什么丢失 phase 会导致"提前停止"?

A: 这些模型通过 phase 判断哪些输出是中间思考、哪些是最终交付物。多轮对话时,如果历史消息缺少 phase,模型无法正确理解上下文状态,可能误判任务已完成从而提前停止输出。

Q: 向 gpt-4o 等旧模型传入 phase 会报错吗?

A: 不会报错,phase 会被静默忽略。可以在所有 OpenAI 模型的请求中统一携带 phase,不需要按模型版本区分处理逻辑。