立即可用 · 付款後 5 分鐘內開通

雲端 Mac mini M4

$20.9 / 天起 · 物理機獨享
立即選購
AI 開發

Qwen 3.8-Max enable_thinking 報錯修復指南

使用 Qwen 3.8-Max Preview 時,主對話可能正常,但網頁取得、權限分類、上下文壓縮或子代理突然出現 enable_thinking 400。本文依官方 Issue、合併記錄與 v0.20.1 發布說明,整理版本核對、設定排查、工具驗收及隔離環境回退流程。

側查詢、網頁取得或權限分類突然回傳 400,而普通對話仍然可以使用:先不要改 API 參數,也不要等待 Qwen 3.8-Max 開放權重;先將 Qwen Code 升級到包含官方修復的 v0.20.1 或更高版本,並移除強制送出的 enable_thinking=false 官方發布記錄已列出「支援 DashScope 上的 qwen3.8 側查詢」修復。(Qwen Code v0.20.1 發布說明)

這篇適合在 Qwen Code 中把 Qwen 3.8-Max Preview 設為主模型或快速模型、並遇到 HTTP 400 的個人開發者;也適合依賴網頁取得、子代理、摘要或權限分類的 AI Agent 團隊,以及需要在隔離 macOS 環境驗收升級結果的平台工程師。

最後更新於 2026 年 7 月 30 日;資料核實自 Qwen Code 官方 v0.20.1 發布頁、相關 Issue、官方設定文件與合併修復記錄。

先從錯誤型態判斷,不要把所有 400 當成同一件事

常見案例是:主對話可以回覆,但執行網頁取得時,工具先取得頁面,接著在摘要側查詢階段失敗;另一種案例則是在長對話接近上下文限制後,壓縮流程回傳:

400 The value of the enable_thinking parameter is restricted to True

官方 Issue #7332 記錄指出,Qwen Code v0.20.0 在內部操作中可能送出 enable_thinking=false,而 qwen3.8-max-preview 的後端要求該參數維持為 true。受影響的內部流程包括上下文壓縮、目標判斷與權限分類。(官方 Issue #7332)

另一個官方 Issue 則記錄了 web fetch 的相同症狀:任何網址都可能在側查詢摘要階段失敗,問題環境包含 macOS、Qwen Code v0.20.0、DashScope 相容端點,以及主模型與快速模型都設定為 qwen3.8-max-preview。(官方 Issue #7440)

先保存以下資料,後續排查才不會把版本錯誤誤判成額度、權限、網路或模型可用性問題:

  • 完整錯誤文字,而不是只截取 HTTP 400
  • qwen --version 的輸出。
  • 實際主模型、快速模型與側查詢使用的模型 ID。
  • baseUrl、認證類型及是否使用 DashScope 相容介面。
  • 失敗功能:普通對話、web fetch、子代理、摘要、權限分類或上下文壓縮。

Qwen 3.8-Max 為什麼不能關閉 thinking 模式?
這裡需要分清楚「模型能力」與「客戶端請求邏輯」。目前官方故障資料只確認該 Preview 模型在相關後端請求中要求 enable_thinking=true;不能據此推論其開放權重日期、授權方式、部署規格或正式版能力。對使用者而言,最安全的動作是不要在設定中硬塞 enable_thinking=false,而是先更新 Qwen Code。

第一步:核對版本,確認修復是否真的已安裝

在 macOS 或遠端終端機執行:

qwen --version

如果顯示低於 v0.20.1,應先停止反覆修改模型參數。官方 v0.20.1 於 2026 年 7 月 21 日發布,發布清單明確列出 fix(core): support qwen3.8 side queries on DashScope,對應 Issue #7303。(Qwen Code v0.20.1 完整變更清單)

不同安裝方式要使用相應的更新方式,不能只看主分支已合併就假定本機已生效:

安裝方式 建議動作 核驗重點
npm 全域安裝 npm install -g @qwen-code/qwen-code@latest 重新開啟終端機後再執行 qwen --version
Homebrew 使用原本的 Homebrew 更新流程 確認執行檔沒有指向舊 npm 版本
官方獨立安裝程式 重新執行官方 macOS / Linux 安裝指令 檢查 PATH 中實際被呼叫的 qwen
專案或測試分支 依該分支的官方說明更新 不要把開發分支當作穩定發布版

Qwen Code 官方儲存庫列出的 npm 安裝方式是 npm install -g @qwen-code/qwen-code@latest,並要求使用相應的 Node.js 執行環境。(Qwen Code 官方安裝說明)

升級後依序完成:

  1. 關閉所有仍在執行的 Qwen Code 互動工作階段。
  2. 更新安裝來源。
  3. 重新啟動終端機或遠端工作階段。
  4. 再執行 qwen --version
  5. 使用 /model 重新選取模型。
  6. 重新載入 settings.json 中的模型設定。
  7. 建立新工作階段測試,不要直接沿用已經失敗的舊對話。

版本號顯示正確,不代表舊進程已載入新程式;尤其在遠端 macOS、長時間運作的終端機 Multiplexer 或背景守護程式中,舊進程仍可能持有原先的請求邏輯。

第二步:清理 enable_thinking=false 與舊模型別名

Qwen Code 出現 enable_thinking=false 400 錯誤怎麼辦?
先升級到 v0.20.1 或更高版本,再搜尋設定檔、環境變數與自訂模型項目,確認沒有手動覆寫成 false。可先在專案目錄檢查:

grep -R "enable_thinking" ~/.qwen .qwen 2>/dev/null
grep -R "qwen3.8" ~/.qwen .qwen 2>/dev/null

若看到以下類似設定,應暫時移除 false,或依官方模型配置改為適合該端點的設定:

{
  "extra_body": {
    "enable_thinking": false
  }
}

Qwen Code 官方文件說明,使用 modelProviders 時,該模型的 generationConfig 會以完整、不可向下層繼承的方式套用;extra_body 也屬於原子設定。換句話說,主設定檔中看似合理的值,可能被 provider 層完整取代,或反過來由專案設定覆蓋使用者層設定。(Model Providers 官方設定文件)

排查時可按下表分支處理:

觀察到的現象 優先懷疑 排除動作
主對話正常,web fetch 失敗 舊版側查詢請求仍送出 false 確認版本至少為 v0.20.1,建立新工作階段
主模型成功,子代理失敗 主模型與快速模型實際 ID 不一致 重新檢查 /model 與設定檔中的兩個模型欄位
更新後仍顯示舊錯誤 舊進程或快取設定仍在使用 完整退出 Qwen Code、重開終端機,再載入設定
只有特定端點失敗 baseUrl 或介面協定不匹配 逐字核對 DashScope 相容端點與認證類型
修改 settings.json 後無變化 provider 層取代了下層設定 將模型專屬 generationConfig 放到對應 provider 項目

DashScope 的相容設定通常同時涉及模型 ID、API 金鑰環境變數與 baseUrl;模型 provider 的設定層也會影響 /model 選單與實際請求路由。此處要核對的是「Qwen Code 實際送出的路由與模型」,不能只看介面上顯示的模型別名。

第三步:把主對話、側查詢與工具呼叫分開驗收

升級 Qwen Code 後,如何確認側查詢已經恢復?
不能只傳一句普通文字就宣布修復。因為普通對話、背景側查詢、結構化工具與子代理可能使用不同的請求建構流程,必須分開記錄結果。

建議依以下順序執行最小驗收:

  • [ ] 普通對話:要求模型回答一個不需工具的短問題。
  • [ ] web fetch:指定一個可公開存取的頁面,要求擷取後整理重點。
  • [ ] 結構化回應:要求輸出固定欄位,而不是自由文字。
  • [ ] 子代理:執行一個不會修改檔案的短任務。
  • [ ] 權限分類:觸發需要確認或分類的操作,觀察是否仍回傳 400。
  • [ ] 長對話壓縮:在測試工作階段中觀察接近上下文整理時是否再次出錯。

每次測試至少記錄「功能名稱、實際模型、端點、成功或失敗、錯誤類別、Qwen Code 版本」。這些資料比單純記錄「升級後可以用了」更有價值,因為能分辨是側查詢修復、路由修復,還是某項工具本身未被觸發。

Qwen 3.8-Max 的 web fetch 和子代理為什麼可能同時失效?
若兩者都在內部呼叫同一個側查詢模型,而該請求都附帶了不被後端接受的 enable_thinking=false,就可能呈現「不同功能一起失效」的外觀;但這仍不表示所有工具共享完全相同的程式碼路徑。官方發布記錄只確認 qwen3.8 的 DashScope 側查詢修復,因此工具是否完全恢復,仍應以逐項驗收結果為準。

第四步:用隔離環境判斷是客戶端問題還是專案污染

當升級後仍有錯誤,應建立一次乾淨的對照,而不是在原專案中繼續堆疊環境變數。可採用以下記錄格式:

對照項目 升級前環境 升級後乾淨環境
Qwen Code 版本 實際輸出值 v0.20.1 或更高
模型角色 主模型 / 快速模型 分別記錄實際 ID
介面 DashScope 或其他相容端點 與左欄保持一致
失敗步驟 web fetch、子代理等 逐項重做
enable_thinking 是否被強制設為 false 不手動關閉
回退結果 是否恢復 是否仍可重現

如果乾淨環境能正常完成普通對話、web fetch 與子代理,而原專案仍失敗,優先檢查專案層 .qwen/settings.json、環境變數、代理設定及舊工作階段資料;如果兩邊都失敗,才應繼續核對端點、模型別名及服務端回應。

需要臨時建立隔離 macOS 工作階段時,可先參考 ZilCloud 繁體中文服務頁,並把測試目標限定在「版本升級、模型路由、工具驗收」三件事,不要同時加入完整專案依賴。若要確認帳戶與使用方式,可再查看 ZilCloud 說明中心

什麼情況可以回退,什麼情況不應等待

若 v0.20.1 以上仍然回傳同一個 enable_thinking 錯誤,且完整錯誤文字顯示實際請求仍含 false,可暫時回退到不需要該內部側查詢的模型配置,或停用會觸發背景模型呼叫的功能;這是為了保住工作流程,不代表 Qwen 3.8-Max Preview 已被判定為不可用。

若錯誤改為認證失敗、模型不存在、端點拒絕或額度限制,則不應再沿用本篇的思考參數排查路線。此時要回到 API 金鑰、模型 ID、區域端點、帳戶權限與服務狀態逐項核對。模型 provider 集中放在使用者層 ~/.qwen/settings.json,通常更容易追蹤設定來源,也能降低專案設定與使用者設定互相覆蓋的機會。

如果目前方案是在本機直接混用多個 Node.js 版本、舊版 Qwen Code、專案層設定與長時間未重啟的終端機,實際缺點通常不是單一 API 參數,而是版本來源難以確認、錯誤重現條件不穩定,以及團隊成員無法建立一致的驗收基線。相較之下,短期租用一個乾淨的遠端 Mac 環境,可把客戶端版本、模型設定與工具測試拆開,對這類「到底是環境污染還是相容性修復未生效」的問題更容易取得可重複結果;但若工作負載是長期穩定重負載、需要固定實體介面,或已有成熟本機維運流程,直接維持自有硬體未必需要改成租用模式。需要臨時算力或隔離測試時,再到 ZilCloud 方案頁 比較短期使用方式即可。

立即可用 · 付款後 5 分鐘內開通

為 AI 開發準備穩定的遠端 Mac 環境

使用 ZilCloud 遠端 Mac,為模型測試、工具整合及自動化工作提供獨立且可控的執行環境。

遇到版本或參數相容性問題時,可在隔離環境中進行設定核對、功能驗收及回退測試,降低對現有工作流程的影響。

$20.9 / 天起 · 物理機獨享
CPUApple M4 · 10-core
RAM16 GB Unified
SSD256 GB NVMe
AI38 TOPS
Net1 Gbps dedicated
SLA99.9%
Ready1–5 min