遷移至 GPT-6.1 Sol:可能出錯的 9 件事

推理時代閱讀約 8 分鐘
遷移至 GPT-6.1 Sol:可能出錯的 9 件事

從 GPT-6 Sol 升級至 6.1 Sol,看起來只要改一行,而且價格也相同。但其中有幾項重大變更和行為差異,因此只更改模型名稱,可能會導致錯誤、收到意外帳單,或讓 Agent 的行為有所不同。OpenAI 的 GPT-6 遷移指南 涵蓋了大部分官方變更。本文補充一些實際使用時容易踩到的問題。

以下按照「明顯失敗」到「悄悄失敗」排序。


1. reasoning_effort: "none" 會回傳 400 錯誤

你會看到: 請求遭到拒絕。

原因: 6.1 Sol 不支援 none 或 minimal。最低層級是 low。GPT-6 Sol 和 Luna 仍接受 none,所以舊程式碼在那些模型上可以正常運作。

修正方式:

  • OpenAI 建議將 none 替換為 low。如果原本使用 minimal,請從 low 開始比較。
  • low 比 none 慢,也更昂貴,因為它會產生推理 token。對於自動完成或即時分類等對延遲極為敏感的流程,繼續使用 GPT-6 Sol 或改用 Luna 可能是更好的選擇。

2. Chat Completions 中的工具呼叫會停止運作

你會看到: 包含 tools 的 Chat Completions 請求會失敗。

原因: GPT-6 Sol 只有在 reasoning_effort 設為 none 時,才允許在 Chat Completions 中呼叫函式;不少專案仰賴這種組合來低成本呼叫工具。由於 none 已不再支援,6.1 Sol 的 Chat Completions 只適用於不含工具的請求。 使用工具時,必須改用 Responses API。OpenAI 的遷移至 Responses API 指南 會帶你逐步完成設定。

修正方式: 改用 /v1/responses。AIHubMix 也支援此 API;參數請參閱 AIHubMix Responses API 文件。

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

resp = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "low"},          # nested, not reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get the current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="What's the weather in Shanghai today?",
)
print(resp.output)

容易忽略的地方:

  • 在 Responses 中,參數名稱是 reasoning.effort。傳送 reasoning_effort 會收到 Unsupported parameter。
  • 在多輪工具使用情境中,請傳回自上一則使用者訊息之後的所有 reasoning、function_call 和 function_call_output 項目,而不只是函式結果。
  • 使用 store: false 或 ZDR 時,reasoning 項目預設會包含 encrypted_content。重播完整對話記錄即可正常運作。

3. 必須移除取樣參數

你會看到: 包含 temperature 或 top_p 的請求會失敗。

原因: 只有在推理強度為 none 時,才允許使用這些參數。6.1 Sol 不支援 none,因此這個模型完全不能使用這些參數。

請移除:

  • temperature, top_p, top_logprobs
  • Chat Completions 中的 logprobs
  • Responses 中從 include 移除 message.output_text.logprobs

如果你使用 logprobs 來計算信心分數或設定分類門檻,就需要改用其他方法。一種選擇是使用結構化輸出,要求模型直接回報信心程度;另一種選擇是繼續使用支援 none 的模型來處理這些任務。


4. 快取運作方式改變,帳單可能增加

這是最容易忽略的一點,尤其是從 GPT-5.5 或更早版本遷移時。以下內容皆取自 OpenAI 的 提示詞快取指南。

參數名稱已變更。 prompt_cache_retention 現在改為 prompt_cache_options.ttl,而且唯一支援的值是 "30m"。

寫入快取也會計費。 費用是輸入費率的 1.25 倍(6.1 Sol 每百萬個 token 收取 $2.50)。如果某個長前綴只使用一次,啟用快取反而會比不使用快取多花 25%。

快取斷點的位置已變更。 較舊的模型會在固定間隔設定斷點(GPT-5.5 每 2,048 個 token 一個)。現在的隱含模式會在最新符合條件的訊息末尾設定一個斷點。因此,不同請求共用的較短前綴不會自動重複使用。 如果許多請求共用同一則 system prompt,後面接著不同的使用者輸入,請在 system prompt 後方明確加入斷點。

在現有訊息後方追加內容會破壞快取。 快取端點會落在較長訊息的中間,因此無法比對。請改為新增一則訊息。

變更推理強度會破壞快取。 reasoning.effort 屬於前綴的一部分。若要在對話中途切換,請使用 configuration_update(請參閱第 2 節)。請注意,它無法與自動壓縮或截斷功能搭配使用,而且 /responses/compact 會拒絕包含此參數的對話記錄。

流量高時,快取命中率可能降低。 快取儲存在各個獨立機器上。同一個前綴每分鐘請求數超過約 15 次,就可能溢出至其他機器,導致快取未命中。快取 token 仍會計入 TPM 速率限制。

遷移前後,請比較 cached_tokens、cache_write_tokens、延遲,以及每項任務的成本。


5. 輸入超過 272K,價格就會翻倍

1.05M 的上下文視窗固然吸引人,但輸入 token 一旦超過 272K,整筆請求的輸入費用就會變成 2 倍,輸出費用則變成 1.5 倍。 輸入量從 270K 增至 280K,會讓單次請求費用從 $0.64 升至 $1.27(第 3 節會列出計算方式)。

長時間的 Agent 工作階段會不斷累積內容,因此很容易在不知不覺中超過這個門檻。請在用戶端設定約 250K 的警示,並在觸發時啟動壓縮。


6. 設定過小的 max_output_tokens 會讓回應內容空白

你會看到: status: incomplete,原因為 max_output_tokens,看不到任何輸出,但仍須付費。

原因: max_output_tokens 包含推理 token。在 none 模式下足夠的上限,在 low 或更高強度下,可能會被推理 token 全數耗盡。

修正方式: OpenAI 的 推理指南 建議至少預留 25,000 個 token。請檢查寫死在程式碼中的限制,尤其是從 Chat Completions 的 max_tokens 沿用的數值。例如,AIHubMix 模型頁面上的範例程式碼使用 1024。用於快速文字示範沒有問題,但正式工作負載應調高此值。


7. Agent 行為有所變化,請重新檢視權限設定

整體而言,6.1 Sol 的表現優於 6 Sol:重大事故減少了三分之一,而且在工具故障時更有可能告知你。以下幾項數據仍值得留意(OpenAI 數據,由 DataCamp 彙整):

行為 6.1 Sol 6 Sol Astra
持續嘗試繞過明確限制 23.5% 64.4% 17.4%
在程式設計任務中出現欺騙行為 1.50% 1.30% 0.51%
主動聯絡其他 Agent 38% 26% —
執行未經授權的操作 3% 11% —

6.1 Sol 更為鍥而不捨。受阻時,它會嘗試更多變通方法,也更願意與其他 Agent 交談。對自動化 Agent 來說,這通常是你所期望的,但當 Agent 擁有廣泛權限時,風險也會隨之提高。

建議做法:

  • 透過沙箱和允許清單強制執行權限,而不只是把規則寫在提示詞中。
  • 敏感操作必須經過人工核准,例如刪除、部署、付款,以及任何會接觸憑證的操作。
  • 保留完整的工具呼叫記錄,並抽查「測試通過」或「已修復」等說法。
  • 在多 Agent 架構中,明確定義各 Agent 彼此可以分享哪些內容。

8. 可能需要調整提示詞

OpenAI 的 GPT-6 遷移指南列出幾項行為變化。指南內容針對 Astra 撰寫,但 6.1 Sol 屬於同一系列,效能表現也與 Astra 相近,因此請留意以下變化:

  • 它會提出更多問題。 在你預期它會繼續執行時,它可能會停下來確認。請告訴它要優先採取行動並完成任務,而且像是「可以幫我……嗎」這類措辭代表要它實際執行該事項。
  • 它會更照字面遵循指示。 它會更仔細遵循 AGENTS.md 和 SKILL.md 檔案,因此過時的規則可能突然開始生效。OpenAI 強烈建議稽核這些檔案,並明確說明使用者指示的優先級高於技能指示。
  • 它更常使用 Markdown、清單和表格, 也會重複使用制式語句。如果你希望它以散文形式撰寫,請明確說明。
  • 它會對小幅變更進行過度測試。 請告訴它,低風險且可還原的修改不需要完整執行測試。
  • 它委派給子 Agent 的次數可能比你預期的少。 如果你希望平行處理工作,請明確說明何時應拆分任務。

9. 可用性與部署限制

  • 尚未開放一般 ChatGPT 對話使用。 目前僅適用於 ChatGPT Work 和 Codex。Enterprise 和 Edu 管理員必須先啟用。
  • 歐盟資料落地區域不支援 Fast 模式。 Ultrafast 僅支援美國資料落地區域和全球處理。
  • 知識截止日期為 April 30, 2026。 如需較新的程式庫、API 或新聞資訊,請使用網頁搜尋或 RAG。
  • 不支援: 微調、Predicted Outputs、音訊與影片輸入,以及 Realtime 和 Assistants API。
  • 速率限制 與 6 Sol 相同:Tier 1 為 500 RPM / 500K TPM,Tier 5 則最高為 15,000 RPM / 40M TPM。在 AIHubMix 上,請求可經由 OpenAI 或 Azure 傳送;若其中一家供應商失敗或速度變慢,系統會自動改由另一家重試。

遷移檢查清單

  • [ ] 將 none 和 minimal 替換為 low,並檢查延遲
  • [ ] 將工具呼叫請求從 Chat Completions 移至 Responses API
  • [ ] 使用巢狀參數 reasoning.effort
  • [ ] 移除 temperature、top_p 和 logprobs,並重新設計任何依賴 logprobs 的邏輯
  • [ ] 將 prompt_cache_retention 替換為 prompt_cache_options.ttl: "30m"
  • [ ] 在共用前綴後方新增明確的斷點,並確認前綴至少有 1,024 個 token
  • [ ] 使用 configuration_update 變更對話中途的推理強度
  • [ ] 設定輸入量達 272K 時的警示
  • [ ] 將 max_output_tokens 設為至少 25,000
  • [ ] 檢查 AGENTS.md、SKILL.md 和系統提示詞
  • [ ] 檢查沙箱權限、核准關卡和工具記錄
  • [ ] 比較遷移前後的成功率、 cached_tokens、 reasoning_tokens 和每項任務的成本

如果你使用 Codex,執行 $openai-docs migrate this project to the GPT-6 model family 即可處理大部分機械性變更。不過,仍請自行逐項檢查清單。


常見問題

從 GPT-6 Sol 升級到 6.1 Sol,最少需要做哪些變更? 三件事:更換模型名稱;將 none 和 minimal 替換為 low;以及移除 temperature、 top_p 和任何與 logprobs 相關的設定。如果你透過 Chat Completions 呼叫工具,也需要改用 Responses API。

純文字仍然可以使用 Chat Completions 嗎? 可以。只要請求中沒有 tools,就能使用 Chat Completions。AIHubMix 模型頁面上的範例正是這類呼叫。

AIHubMix 支援 Responses API 嗎? 支援。將 base_url 設為 https://aihubmix.com/v1 ,並呼叫 client.responses.create。

升級後我的快取命中率下降了,該檢查什麼? 檢查三件事:共用前綴之後是否有明確的斷點、你是否在既有訊息後追加內容,以及你是否在對話中途變更 reasoning.effort。接著比較變更前後的 cached_tokens 和 cache_write_tokens。

升級後延遲變高了,這是預期狀況嗎? 如果你之前使用的是 none,是的。 low 仍會產生推理 token。對延遲要求嚴格的流程,請繼續使用 GPT-6 Sol 或 Luna,或要求模型先輸出一段簡短的前言,以加快第一個 token 的產生。

6.1 Sol 比 6 Sol 更容易逾越權限嗎? 整體而言,不會。嚴重事件減少了三分之一,而實際採取未經授權行動的比例從 11% 降至 3%。不過,它更可能聯絡其他 Agent,也更可能在編碼任務中欺瞞,因此應透過沙箱強制執行權限,而非仰賴提示詞。

我現有的 AGENTS.md 和系統提示詞還能繼續使用嗎? 它們仍會執行,但請先檢查。GPT-6 系列會更嚴格地遵循指示,因此過時或互相衝突的規則,可能會讓模型更常停下來詢問,或做出你未預期的事。


繼續閱讀:GPT-6.1 Sol 系列


資料來源

一個閘道接入多家 AI 服務商, 為正式環境而生。

前往推理時代官網