EPISODE · Apr 26, 2026 · 4 MIN
@dani_avila7:使用 Subagents 保持你的 Claude Code context 清潔 長期的 Claude Code 會話很快就會變得混亂。每一次的 grep…
from EasyVibeCoding Podcast · host Daniel San
使用 Subagents 保持你的 Claude Code context 清潔 長期的 Claude Code 會話很快就會變得混亂。每一次的 grep、find 和 ls 指令都會留在你的 context 中,佔用你再也不會回頭閱讀的空間。Subagents 可以解決這個問題:它們在自己的視窗中執行工作,並只回傳最終結果。 這篇文章將直接切入重點:什麼是 Subagents、如何建立一個 Subagent、Claude Code 內建的 Subagents,以及如何透過 CLAUDECODEFORK_SUBAGENT=1 來 fork context。 什麼是 Subagent Subagent 是一個專門的助理,它在自己的 context 視窗中執行,擁有獨立的系統 Prompt、工具和權限。 主 Agent 會呼叫它,Subagent 在隔離環境中完成工作,並回傳一份摘要。 你可以使用 Markdown 檔案和 frontmatter 來建立一個 Subagent: `markdown --- name: code-reviewer description: Reviews code for quality, security, and maintainability. Use after writing or modifying code. tools: Read, Grep, Glob, Bash model: sonnet --- You are a senior code reviewer. When invoked: Run git diff to see recent changes Focus on modified files Start the review immediately ` Claude Code 會自動偵測到它,並在描述符合任務時呼叫它。 Subagents 存放的位置 你可以根據作用範圍將檔案儲存在不同的位置。當兩個 Subagents 名稱相同時,優先級較高的位置會勝出。 在大多數情況下,你會使用 .claude/agents/(將其納入版本控制,與團隊共享)或 ~/.claude/agents/(個人使用,隨處可用)。 問題所在:所有操作都在同一個視窗中 如果沒有 Subagents,主 Agent 會在單一 context 中完成所有事情。你要求它審查一個 controller、尋找一個模式、驗證某個東西。它會執行 grep、find、ls、glob、cd,再執行更多 grep,又一次 find,每一次呼叫都會留在你的 context 中。 三十分鐘後,你會有 80k token 的雜訊,而你永遠不會去讀它們。 當 Claude 壓縮 context 時,這些資訊會被扁平化。重要的細節會在摘要中遺失。 內建 Subagents:Explore 與 Plan Claude Code 針對常見情況提供了內建的 Subagents。你最常使用的兩個是: Explore:搜尋程式庫而不污染你的主 context。它會在自己的視窗中執行所有的 grep 和 find 呼叫,並只回傳相關的搜尋結果。 Plan:進行調查並產出實作計畫。它會讀取檔案、理解架構,並回傳一份逐步執行的文件。你的主 context 永遠不會看到中間的讀取過程。 流程看起來像這樣: 與其在你的視窗中出現 50 次工具呼叫,你只會得到 3 行答案。其餘的內容都會被捨棄。 Forking context: 預設情況下,Subagent 會以空白的 context 啟動。這對於保持乾淨很有幫助,但當你已經投入 100k token 來建立對程式庫的理解,並希望 Subagent 繼承這一切時,這就不太方便了。 Forking 解決了這個問題:Subagent 會在 fork 的瞬間,以父層 context 的精確副本啟動。 `bash export CLAUDECODEFORK_SUBAGENT=1 ` 運作原理 一旦設定了 CLAUDECODEFORK_SUBAGENT=1,每個產生的 Subagent 預設都會繼承完整的父層 context。 你也可以透過 /fork 斜線指令按需進行 fork: Fork 出來的工具呼叫會保持隔離,只有最終結果會回到你的對話中。 Fork 出來的 Subagent: 在 fork 時繼承父層完整的對話內容 與父層共享 prompt cache 前綴(第 2 到 N 個子層的輸入 token 成本約便宜 10 倍) 在隔離環境中執行,其工具呼叫不會污染父層 只回傳最終摘要 即時查看:context-timeline hook 從控制台追蹤主 Agent 的 context 以及平行執行的 Subagents 是很困難的。我建立了一個 hook 來解決這個問題:context-timeline。 連結:https://www.aitmpl.com/component/hook/monitoring/context-timeline 安裝: `bash npx claude-code-templates@latest --hook monitoring/context-timeline ` 它的功能:在你開啟會話的那一刻啟動,並顯示一個時間軸,呈現主 Agent 的 context 視窗,以及 Subagents 如何在各自獨立的 context 中開始工作。 你執行的每一個 Subagent 都會即時顯示,連同它在完成後回傳給主 Agent 的 context 一併呈現。 我的建議是,從 .claude/agents/ 中的一個簡單 Subagent 開始。在第一次長時間的會話中,你就會感受到差異。 原文:https://easyvibecoding.app/curated/957
Embed this episode
NOW PLAYING
@dani_avila7:使用 Subagents 保持你的 Claude Code context 清潔 長期的 Claude Code 會話很快就會變得混亂。每一次的 grep…
No transcript for this episode yet
Similar Episodes
No similar episodes found.
Similar Podcasts
No similar podcasts found.