跳至主要內容
模組 1:核心 Agent 4 / 6
初階 Session 4 子代理 上下文 架構

子代理與上下文隔離

學習 Claude Code 如何產生具有乾淨上下文視窗的子代理 — 實現平行工作、保護父級上下文,以及處理複雜子任務。

2026年3月20日 17 分鐘閱讀

你將學到什麼

當 Claude Code 遇到複雜子任務 — 例如探索程式碼庫或研究 API — 它不一定在主對話中處理。相反,它可以產生一個子代理:一個擁有自己乾淨上下文視窗的子進程。

完成後,你將了解:

  • 為什麼上下文隔離很重要
  • 子代理如何被產生和管理
  • 父子通訊模式
  • 何時使用子代理 vs. 直接執行

問題是什麼

每個 token 都很重要。上下文視窗(AI 一次可以處理的文字總量)是有限的。當 Claude Code 讀取大型檔案、執行複雜搜尋或探索多個目錄時,所有這些輸出都消耗上下文。

問題:研究工作會污染工作上下文。 如果 Claude Code 讀取 50 個檔案來找到正確的那個,那 49 個不相關的檔案內容仍然在上下文視窗中,使後續工作效果降低。

如何運作

子代理模式

┌─────────────────────────────────────────┐
│           父代理                         │
│                                          │
│  訊息: [使用者提示, ...]                  │
│                                          │
│  "我需要找到 auth 實作在哪裡。            │
│   讓我產生一個探索代理。"                 │
│       │                                  │
│       │ 產生                             │
│       ▼                                  │
│  ┌──────────────────────────────┐        │
│  │      子代理                   │       │
│  │  訊息: [僅任務提示]           │       │
│  │                               │       │
│  │  • 讀取檔案 A(不相關)       │       │
│  │  • 讀取檔案 B(不相關)       │       │
│  │  • 讀取檔案 C(找到了!)     │       │
│  │                               │       │
│  │  返回: "Auth 在                │       │
│  │  src/middleware/auth.ts,     │       │
│  │  使用 JWT 和刷新 token..."    │       │
│  └──────────────┬───────────────┘        │
│                 │                         │
│                 │ 結果(僅摘要)           │
│                 ▼                         │
│  父代理收到:簡潔摘要                     │
│  (不是子代理讀取的所有檔案)              │
│                                          │
└──────────────────────────────────────────┘

關鍵洞見:只有結果流回,而非完整的探索歷史。父代理的上下文保持乾淨。

上下文視窗比較

沒有子代理:

父級上下文: [使用者提示] + [50 個檔案讀取] + [實際工作]
             └── 上下文視窗幾乎耗盡 ──┘

有子代理:

父級上下文: [使用者提示] + [代理結果: 200 字] + [實際工作]
             └── 上下文視窗大部分可用 ──┘

子級上下文: [任務提示] + [50 個檔案讀取] + [摘要]
             └── 獨立上下文,完成後丟棄 ──┘

關鍵洞見

子代理不只是關於平行處理 — 它們是關於上下文管理。 AI 編程會話中最珍貴的資源是上下文視窗空間。上下文中每個不必要的 token 都會降低後續工作的品質。

把它想像成真實團隊中的委派:

  • 你(父代理)專注於大局
  • 團隊成員(子代理)做研究並回報
  • 你只需要知道結論,而不是他們採取的每一步

模型選擇

為任務選擇合適的模型:

Haiku(快速,便宜):
  → 簡單搜尋、檔案探索、列舉任務

Sonnet(平衡):
  → 程式碼分析、重構計劃、中等複雜度

Opus(強大):
  → 複雜推理、架構決策、關鍵任務

前後對比

沒有子代理有子代理
所有工作在一個上下文中研究在子級,決策在父級
上下文很快填滿上下文保持乾淨
順序探索可以平行探索
一個模型處理所有每個任務用合適的模型

下一堂課

第 5 堂課涵蓋 Skills 與知識載入 — Claude Code 的雙層注入系統如何預先載入 skill 名稱,但延遲載入完整定義直到需要時,保持系統提示精簡。