Coding agent 用得夠久,三個摩擦很快就會浮現:主對話被長任務占住、skills 累積到沒人記得住、換一個 repo 偏好全部歸零。Qwen Code 在 6 月 11 日的週更(v0.18.0-preview,合併 50+ 個 PR)一次處理了這三件事,主軸分別是 /fork 背景任務、/skills 管理面板與 user 層級跨專案記憶,週邊還有 /stats 面板、防休眠與實驗性的 workflow tool。
/fork:長任務搬進背景,context 原封繼承
輸入 /fork <instruction>,一個背景 agent 立刻啟動,而且繼承的是完整工作狀態:system prompt、對話歷史、tools、model 設定與 prompt cache 全部帶走——它拿到的不是任務摘要,是你此刻的 context 本身。主對話不被阻塞,fork 完成時經 background task panel 通知,結果寫入 JSONL transcript 供事後查閱。
它與 /branch 的分工值得分清楚:branch 是把當前對話複製到新 session,用於探索另一個方向;fork 是在當前 session 內派一個背景 worker,適合「幫這個模組補測試」「先研究這個錯誤」這類可獨立驗收的子任務。prompt cache 一併繼承也代表 fork 不是從零暖機的冷啟動——背景任務以暖狀態起算,這是它能立刻接手的實際成本結構。多個 fork 可以並行,但受 concurrency limits 約束;空指令或缺設定會回明確錯誤訊息,不會靜默失敗。
取捨在檔案邊界。fork 之間若修改同一批檔案,省下的等待時間可能全花在解衝突上。並行改變的是等待成本,不改變驗收紀律——每個 fork 的任務邊界與完成條件,仍然要事先想清楚。
/skills:從背名稱到可搜尋、可鎖定的面板
過去用 skill 得記住名稱、停用得手改 settings.json。新的 /skills 打開 picker dialog:列出所有 skills 的名稱、描述與來源層級,支援鍵盤搜尋、Space 鍵啟用停用、Enter 把指令填入輸入框直接執行。
治理的細節在 scope。停用狀態寫進 workspace 層級 skills.disabled 設定,而且當前 session 立即生效:<available_skills> 清單與 slash completions 即時同步,無須重啟。若 skill 在 user 層級被停用,workspace 面板會顯示 [locked: User],專案層級無法覆寫。對個人使用者,搜尋取代記憶;對團隊,鎖定取代規範文件——同一個面板同時服務兩種治理尺度,是這個小功能值得記下的原因。
跨專案記憶:路由規則寫在 prompt,不是 hardcode
新增的 user 層級記憶目錄 ~/.qwen/memories/ 與專案層級 .qwen/memories/ 並存,解決「換 repo 後 agent 遺忘一切」。關鍵設計是路由:沿用既有四種 memory 分類做判斷,路由規則寫在 memory extraction agent 的 prompt 而非 hardcode——user 類(個人偏好)永遠進 user 層級,project 類(deadlines、events)永遠留在專案層級,零新增設定;中間兩類也有預設值:feedback 類預設進 user 層級,除非是明確的專案慣例;reference 類預設留在專案層級,公司共用的資源才上 user 層級。
兩層 scope index 都渲染進 system prompt:user 層級在前作為背景資訊,project 層級在後更具體,自然形成由一般到具體的覆蓋順序。即使 user 層級 MEMORY.md 為空,也會渲染 placeholder,確保 agent 知道目錄存在且可寫入。開關沿用既有的 memory.enableManagedAutoMemory,同樣不需要額外安裝。
取捨也要誠實說:路由由 prompt 決定,不是 deterministic 規則,偶爾會誤分類;user 層級記憶會隨時間累積過期偏好,值得定期人工檢視。但「偏好跟人走、專案資訊留專案」這條線畫對了——個人風格可以跨 repo 帶走,repo 特定資訊不會外流到下一個工作區。另一個務實的好處是遷移成本:分類、開關、渲染機制全部沿用既有設計,升級即用,沒有新的設定檔要學。
其他值得記下的改進
/stats 改為三頁籤互動面板,用量資料在 session 結束與 /clear 時寫入 ~/.qwen/usage_record.jsonl,token、成本與 cache 命中率第一次有了可回溯的縱深——對把 agent 當日常工具的團隊,這條紀錄等於把「用量」從印象變成可以對帳的資料。防系統睡眠預設開啟(general.preventSystemSleep: true),macOS、Linux、Windows 分別用 caffeinate、systemd-inhibit、SetThreadExecutionState 實作——電腦休眠不再打斷長任務。Skills 宣告的 allowedTools 改為自動授權,執行 /review 這類 skill 時不再被權限提示連環打斷。
實驗性的 Workflow tool(P1)則是 opt-in、預設關閉:
QWEN_CODE_ENABLE_WORKFLOWS=1
以環境變數開啟後,model 能在 node:vm sandbox 裡寫 JavaScript 編排多個 subagents。方向有意思,但官方自己也標為實驗階段,生產環境先觀望。
Builder 建議
三件事可以今天就做:把「可獨立驗收」的子任務交給 /fork,主對話留給需要你判斷的工作;用 /skills 把用不到的 skill 停用,縮短 agent 的可用指令清單;在任何一個 repo 教會 agent 你的偏好,讓 user 層級記憶在下個專案自動接手。記憶內容也納入例行維護:每隔一陣子檢查 ~/.qwen/memories/,刪掉過期偏好,誤路由的條目順手歸位。三個功能看似分散,其實是同一個命題:agent 的生產力瓶頸正從模型能力移向管理摩擦,而時間(fork)、能力(skills)、上下文(memory)現在各自有了對應的治理介面。
參考來源
本文由 AI 協助自上述來源整理,經人工審核後發布。
