Qwen Code

Qwen Code 自動切換模型、Subagent 再分工:可靠性比平行數更重要

Qwen Code 週更 v0.19.6–0.19.8 的主軸是可靠性工程:model fallback 只掩蓋容量與限流錯誤、巢狀 subagent 有深度上限與雙層保護,加上 session 管理與參數級權限。本文拆解這些設計背後的分界線。

Qwen Code 自動切換模型、Subagent 再分工:可靠性比平行數更重要 — 文章封面
本頁內容6 個段落
  1. Fallback 的工程判斷:哪些錯誤該掩蓋、哪些不該
  2. 巢狀 subagent:分工的深度與治理
  3. Session 管理與權限:從功能清單到工作系統
  4. 其他更新與修正
  5. 帶走的三個判斷
  6. 參考來源

2026 年 7 月 9 日,Qwen Code 發布當週週報,一次帶來 v0.19.6 到 v0.19.8 三個 stable release、合併超過 150 個 PR。內容橫跨 model fallback、巢狀 subagent、session 管理、WeCom 通道與權限控制,但串起來的主題只有一個:讓長時間執行的 agent 在真實世界裡活得更久。對已經把 agent 放進日常工作的團隊來說,這批改動比再多開幾個平行 worker 更貼近痛點。

Fallback 的工程判斷:哪些錯誤該掩蓋、哪些不該

Coding agent 最痛的中斷不是模型答錯,而是長任務進行到一半收到 429、503 或 529。手動換模型再重送,不只打斷節奏,還可能丟失已累積的 context。新的 model fallback 是一條 opt-in 的鏈:primary 模型用完 retry budget 之後,自動切到鏈上的下一個模型。

真正的設計判斷在觸發條件。只有 capacity 與 rate limiting 類錯誤會觸發切換;authentication、quota、configuration 與 client 端錯誤一律立即失敗。這條分界線值得停下來看:換模型救得回「暫時沒有容量」,但救不回壞掉的憑證或寫錯的設定。把後者也掩蓋掉,等於把可以修復的配置問題偽裝成模型問題,除錯只會更難。fail-over 該留給暫時性故障,fail-fast 該留給確定性錯誤——這條線畫在哪裡,決定了一套 fallback 系統是可信還是自欺。

兩個細節顯示團隊確實想過後果。第一,fallback 只在可見輸出出現之前推進;如果 fallback 模型已經串流部分內容後失敗,系統不會再試下一個,避免把不同模型的半段回答拼接成一份拼裝輸出。下一個 user turn 一律從 primary 重新開始,工作不會卡在次選模型上。第二,設定的落地用 scope flags 切乾淨:/model --project 寫進專案的 .qwen/settings.json--global~/.qwen/settings.json,同一組 flags 也適用於 --fast--voice--vision。fallback 鏈從此可以按專案隔離——哪個 repo 值得用貴模型、哪個 repo 該綁便宜模型,成本差異不必再全機器共用。對維運的意義也很直接:先在測試 repo 把鏈配好,production repo 的行為不會被另一個專案意外改掉。

巢狀 subagent:分工的深度與治理

Subagent 現在可以再生 subagent,預設深度 5 層,可用 model.maxSubagentDepth 調整,設回 1 就還原舊行為。深度不是裝飾:TUI 與 Web Shell 以樹狀結構顯示巢狀關係,用 ↳ 標記縮排;parent 退出後,children 會升級為 root,並帶上 from <parent> 的來源註記。

防止失控的是雙層保護,而且兩層思路不同:schema 階段,最深層的 agent 根本看不到 agent tool——它不知道自己還能再生;runtime 階段,超過深度的 spawn 請求會直接被拒。一層是看不見,一層是被拒絕,兩者合力把指數型擴張壓在治理範圍內。

適用範圍也界定得很明確:巢狀預設開啟;Fork subprocesses、teammates 與 workflow agents 被排除在巢狀之外;Arena sessions 可以巢狀;background agent 恢復時會還原深度與上限。多數程式任務一兩層分工已經足夠——當你發現需要更深的樹,先檢查的應該是任務定義是否太模糊,而不是急著把上限調高。這也呼應治理設計的通則:上限的價值不在於擋住合理需求,而在於讓不合理的結構早一點被看見。

Session 管理與權限:從功能清單到工作系統

Web Shell 的 session 管理一口氣收了 7 個 PR:封存與刪除、具名群組、顏色標籤、排程任務頁,以及分割畫面。規則帶著保護設計:active session 不可封存或刪除;被封存的 session 無法再開啟,回應 409 session_archived;刪除是附確認的 hard delete。Overview 卡片依 approvals needed、running、idle 的優先序排序,分割畫面用 ?split=a,b URL 參數就能組出多面板視圖。對長期專案而言,session 從平面清單變成可整理的資源,等於把「找回上週的上下文」從搜尋問題變成瀏覽問題。

權限側補上兩塊拼圖。PreToolUse hook 的 ask 判定過去等同 deny,現在會真正彈出原生確認框——allow once 或 suggest changes,刻意不提供 always allow;非互動與 background 場景仍回退為 deny。權限規則也新增 Tool(param:value) 參數級語法,可以只攔特定參數的工具呼叫,例如擋掉對特定模型的 spawn。

其他更新與修正

WeCom 通道的接入門檻降到只剩兩個欄位:Bot ID 與 Secret,設定寫成 {"type":"wecom","botId":...,"secret":...},用 qwen channel start my-wecom 啟動。WebSocket 長連線可收文字、語音與檔案,回覆使用 WeCom markdown;outbound 僅支援本地 image markers。自動生成的 skills 現在有 review dialog:內容經 sanitize、讀取上限 64 KiB、顯示上限 12 行,按 o 直接開 editor 編輯。修正項包含 context window 預設值更正為 200k、401 錯誤不再 hang;升級一行搞定:npm i @qwen-code/qwen-code@latest -g

帶走的三個判斷

這批更新值得記住的不是功能清單,而是三個判斷。第一,fallback 只掩蓋暫時性故障、確定性錯誤立即現形,是可用性與可除錯性的平衡點,任何自建 agent 系統都適用。第二,巢狀 subagent 用「看不見」加「被拒絕」的雙層治理,把分工彈性圈在可控範圍。第三,session 與權限走向功能化,代表 agent 正從實驗工具變成可長期營運的工作系統。可靠性從來不是最搶眼的功能,卻是決定 agent 能不能進 production 的那一票。

參考來源

本文由 AI 協助自上述來源整理,經人工審核後發布。

分享X電郵