Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
學會用 Claude,每件事都做得更好
claudeskill-me.com
最新
升級 Claude Code 2.1.299 前先檢查:MCP allow 規則變嚴、Skill 名稱字元被拒、UserPromptSubmit hook 改成先跑  ·  Claude Code 新增閒置壓縮:200K tokens 以上的對話閒置約 54 分鐘就自動壓縮——省的是快取費用,丟的可能是細節  ·  Fork 子代理不再從空白開始、直接繼承整段對話——v2.1.302 起在 VS Code、桌面版與 headless 預設開啟  ·  claude plugin eval 解析:用「有裝/沒裝」的差值 Δ 判斷 Skill 到底有沒有用,以及為什麼 Δ 不會讓 CI 失敗  ·  Claude Code 的 hook 預設是 fail-open:腳本不存在、逾時、exit 1,守門員都會放行——v2.1.295 的 onFailure: "block" 怎麼用  ·  Claude Haiku 5.5 成為 Claude Code 預設 Haiku:輸入價降到 $0.10,但跨過 100K 門檻整筆請求貴五倍
advanced

Fork 子代理不再從空白開始、直接繼承整段對話——v2.1.302 起在 VS Code、桌面版與 headless 預設開啟

30 秒速讀
普通子代理的賣點是隔離,fork 刻意放棄隔離來換取「不用重講」;兩者是同一個取捨的兩端,不是新舊版。

完整解析 +
01 · 為什麼發生?

fork 和普通子代理的差別,一句話怎麼說?

fork 繼承整段對話(相同的 system prompt、工具、模型與訊息歷史),普通子代理從空白開始,只拿到任務訊息、CLAUDE.md、git status 和預載的 skill。兩者共通的是:中間的工具呼叫都不進主對話,只有最終結果回來。

02 · 運作原理是什麼?

我在 CI 裡用 claude -p,升級後帳單會變多嗎?

更新說明沒有量化 fork 的成本,所以不能直接下結論。v2.1.302 起 claude -p 預設就能使用 fork,Claude 可能在派工時選它,而 fork 會帶著整段歷史。DEV Community 的整理說影響可能是升也可能是降,建議先量幾次。可以用 --output-format json 的 usage 或 OpenTelemetry 比較升級前後的 token 用量,再決定要不要設 CLAUDE_CODE_FORK_SUBAGENT=0。

03 · 如何應用

我在子代理 frontmatter 寫了 autoCompactWindow,好像沒效果?

依序檢查:值要寫純整數,200k 會被讀成 200 而超出範圍;範圍是 100000 到 1000000,而且要小於子代理原本會繼承的視窗;如果設了 CLAUDE_CODE_AUTO_COMPACT_WINDOW,它會蓋過這個欄位;用 --agent 或 agent 設定把整個 session 當子代理跑時也沒有作用。最後用 claude --debug 在 log 裡搜尋 invalid autoCompactWindow 確認有沒有被忽略。

04 · 我該怎麼做?

我不是工程師,這個比喻怎麼理解?

把子代理想成請一位助手幫你做一件事。普通子代理是給他一張任務單,他從零開始;fork 是讓他先把你們到目前為止的整段對話記錄看完再開工。後者不用重新解釋,但他要讀的資料很多。這個預設在自動化流程裡改變了,所以如果你負責看費用,升級後請工程師比較一次用量。

完整內容 +

多數人對子代理的印象是「開一個乾淨的 context 去做一件事」。fork 子代理刻意不這樣做:官方文件的說法是,fork 是繼承目前整段對話的子代理,而不是從頭開始,這等於放棄子代理原本提供的輸入隔離,換來「不必重新交代背景」。2026 年 10 月 16 日的 v2.1.302 又把 fork 在 claude -p、Agent SDK、桌面版與 VS Code 預設開啟,所以這個取捨現在會在更多場合自動發生。

普通子代理與 fork 的差別

依官方子代理文件,普通子代理的起始 context 只有:自己的 system prompt、任務訊息、CLAUDE.md、git status,以及預載的 skill,看不到你的對話歷史。fork 則和主 session 看到同樣的 system prompt、工具、模型與訊息歷史,而且拿到主對話完全相同的工具集,也就是跳過了普通子代理會被套用的兩道工具過濾。output style 也是這樣:文件說它不會影響普通子代理,「除非是 fork」。

相同的是產出方式:fork 自己的工具呼叫不會進到你的對話,只有最終結果會回來,所以主 context 仍然保持乾淨。

什麼時候該用 fork

文件的建議是:當任何其他子代理都需要太多背景才能派上用場,或你想從同一個起點平行嘗試幾種做法時,用 fork。啟動方式有兩種:讓 Claude 透過 Agent 工具要求 fork 子代理類型(fork 模式開著時),或隨時用 /subtask <任務>,例如 /subtask draft unit tests for the parser changes so far。/subtask 需要 v2.1.212 以上;v2.1.161 到 v2.1.211 之間這個指令叫 /fork。如果關掉了 agent view,/fork 會啟動 fork 子代理,否則 /fork 會把整個 session 複製成一個新的背景 session。

觀察方式:提示列下方的面板會列出主 session 與每個 fork,↑/↓ 切換,Enter 開啟某個 fork 的 transcript 並可以送追問,x 停止執行中的 fork 或收起它的列,Esc 回到提示列。fork 完成時,結果會以一則訊息送回主對話;成功的列會立刻消失,失敗或被停止的列保留 30 秒。

v2.1.302 改了什麼預設

v2.1.302 的更新說明:fork 子代理(subagent_type: "fork")在 claude -p、Agent SDK、桌面版與 VS Code 預設開啟,和終端機一樣;CLAUDE_CODE_FORK_SUBAGENT=0 可以關閉,而 claude mcp serve 永遠不提供。同一則更新也改了背景行為:桌面版與 VS Code 現在一律在背景執行主對話的子代理,不再讓 Claude 選擇;子代理自己發出的 Agent 呼叫,在 claude -p、SDK、桌面版與 VS Code 預設在前景執行。

要提醒一個不一致:我讀到的官方子代理文件頁面仍寫著 fork 模式在 -p 與 Agent SDK 預設關閉,需要自己開。這很可能是文件落後於 v2.1.302,但我沒辦法確認,請以自己版本上的實測為準,必要時明確設定 CLAUDE_CODE_FORK_SUBAGENT。

成本:更新說明沒有量化

更新說明沒有說明 fork 對成本的影響,我讀到的文件頁面(在 fork 段落中途被截斷)也沒有談 fork 的 prompt caching。DEV Community 的整理說它可能讓 headless 的花費變高也可能變低,並建議先量測幾次再決定。我的推論(不是文件內容)是:普通子代理靠隔離節省 tokens,fork 則把整段歷史當成輸入帶進去,對話越長,這個輸入越大,但它省下了 orchestrator 寫 brief 與子代理重新探索背景的成本。哪一邊划算,取決於你的對話長度與任務性質。

配套設定:子代理的 autoCompactWindow

v2.1.296 起,子代理的 frontmatter 與 --agents 定義可以設定 autoCompactWindow,讓這個子代理在 100000 到 1000000 之間的某個 token 數就提早壓縮。官方文件的幾條規則都很容易踩到:

---
name: log-reader
description: Reads long log files and reports the errors it finds
autoCompactWindow: 200000
---
  • 要寫純整數。200k 會被讀成 200,超出範圍,子代理就當作沒有這個欄位。要確認值有沒有被忽略,執行 claude --debug 並在 debug log 搜尋 invalid autoCompactWindow。
  • 如果設了正整數的 CLAUDE_CODE_AUTO_COMPACT_WINDOW,子代理會用那個變數的視窗,這個欄位沒有作用。
  • 值必須小於子代理原本會繼承的視窗才有效;用 --agent 或 agent 設定把整個 session 當成子代理跑時,這個欄位也沒有作用。

選擇準則

以下是我的建議(不是官方規範):任務自成一體、想要隔離、或背景很短就能講完,用普通子代理;需要大量既有討論才能做對、或想從同一個起點平行試幾種方案,用 fork;在自動化流程裡升級到 v2.1.302 之後,先量測一輪 token 用量,再決定要不要設 CLAUDE_CODE_FORK_SUBAGENT=0。

資料來源:Create custom subagents - Claude Code Docs、Claude Code changelog - Claude Code Docs、Claude Code 2.1.293 to 2.1.302: Settings Worth Enabling Now - DEV Community
圖解
普通子代理與 fork 子代理的起始內容對照普通子代理從空白開始只拿到任務單,fork 繼承整段對話;兩者的工具呼叫都不進主對話,v2.1.302 起 fork 在更多環境預設開啟Normal Subagent vs Fork: What Each One Starts WithNormal subagentstarts fresh, no conversation historygets: own system prompt, task message,CLAUDE.md, git status, preloaded skillstools narrowed by the usual filtersyou must brief itFork (subagent_type: fork)inherits the whole conversation so farsame system prompt, tools, model, historyexact tool pool of the main sessioninput isolation is dropped on purposeno re-explaining neededBoth: tool calls stay out of your context, only the final result comes backv2.1.302: fork on by default in claude -p, Agent SDK, desktop app, VS Code (as in the terminal)Turn off: CLAUDE_CODE_FORK_SUBAGENT=0 · Start on demand: /subtask TASKclaude mcp serve never offers forksClaude Skill Me · claudeskill-me.com
歡迎截圖分享,轉載請註明來源
提問
請至少輸入 10 個字
相關文章
Subagent 不是更聰明的小 Claude——它解決的是隔離問題,不是能力問題
advanced · 08/31
設了 Auto Mode 就以為安全了?權限模式跟沙盒邊界是兩道完全不同的防線,混為一談會出事
advanced · 09/28
skill-creator 的評測系統到底準不準?實測它的 A/B 比較跟描述優化,看它漏掉了什麼
reviews · 10/05
Claude Mods 不是另一種 Plugin——它能畫 Pane、能攔截畫面渲染,一般外部擴充功能完全做不到
skill-library · 10/05
相關新聞