Skip to content

👥 子代理入門

⭐⭐ 中級 Claude Code 擴充 完成可獲證書

原始課程Introduction to Subagents(英文)

📖 課程簡介

當你在 Claude Code 中進行長時間的開發對話,上下文視窗會逐漸被塞滿——舊的討論、已完成的任務、不再相關的程式碼片段。這讓 Claude 越來越難聚焦在真正重要的事情上。

子代理(Subagents) 的解決方案是:將特定任務委派給一個獨立的 Claude 實例,讓它單獨完成工作,只把結果摘要回傳給你的主對話。主上下文保持乾淨,對話保持聚焦。

⚠️ 前置條件

前置條件

  • Claude Code 的基本使用經驗(能夠完成基本任務)
  • 建議先完成 Claude Code 101

🎯 學習目標

完成本課程後,你將能夠:

  1. 理解子代理如何在獨立的上下文視窗中工作
  2. 了解輸入傳遞摘要回傳的機制
  3. 使用 /agents 命令建立自訂子代理
  4. 設計可靠的子代理(結構化輸出、障礙報告、工具限制)
  5. 判斷何時使用子代理,以及哪些情況是反模式

📋 課程大綱

💡 單元一:子代理的概念

  • 子代理 vs. 主對話的關係
  • 獨立上下文視窗的好處
  • 子代理的生命週期

⚙️ 單元二:子代理的工作機制

主對話

  ├─ 委派任務給子代理 A → [子代理 A 的獨立上下文]
  │                              │
  │                              └─ 完成任務,回傳摘要

  ├─ 委派任務給子代理 B → [子代理 B 的獨立上下文]
  │                              │
  │                              └─ 完成任務,回傳摘要

  └─ 主對話只看到摘要,上下文保持乾淨

💻 單元三:使用 /agents 命令

  • /agents 命令的基本語法
  • 定義子代理的任務描述
  • 設定子代理的工具存取權限
  • 指定回傳格式

🏗️ 單元四:設計可靠的子代理

  • 結構化輸出的重要性
  • 障礙報告(Blocker Reporting)
  • 進度更新
  • 工具存取限制

🎯 單元五:子代理的適用場景

  • 適合委派給子代理的任務類型
  • 不適合使用子代理的情況(反模式)
  • 何時直接在主對話處理更好

⚙️ 單元六:建立自訂子代理設定檔

  • 子代理設定的持久化
  • 常用子代理的範本庫
  • 團隊共享子代理設定

📝 重點筆記

🎯 適合委派給子代理的任務

好的子代理任務:

  • 深度分析一個獨立的模組或功能
  • 在特定目錄中執行重構
  • 生成一批測試案例
  • 研究特定技術問題並產出報告
  • 掃描程式碼庫找特定模式

不適合子代理的任務(反模式):

  • 需要持續對話和互動的任務
  • 高度依賴主對話上下文的任務
  • 非常短的任務(委派開銷大於效益)
  • 需要頻繁修改方向的任務

🏗️ 設計可靠子代理的關鍵原則

1. 結構化輸出

告訴子代理輸出的格式:

請用以下 JSON 格式回傳結果:
{
  "status": "completed" | "blocked",
  "summary": "完成事項摘要",
  "changes": ["變更1", "變更2"],
  "blockers": ["障礙1"](如有)
}

2. 障礙報告

讓子代理在遇到障礙時立即回報,而不是自行猜測:

如果你遇到任何不確定如何處理的情況,
請立即停止並在 "blockers" 欄位中說明。
不要自行做超出指示範圍的決策。

3. 工具限制

限制子代理只能使用必要的工具:

你只能使用 read 和 bash 工具。
不要修改任何檔案。

⚖️ 子代理 vs. 其他方案

方案適用場景
主對話直接處理短任務、需要持續互動
子代理獨立、可分析的中等複雜任務
Skills重複性任務的可重用指令模板
MCP Server需要外部工具或服務整合

💡 學習建議

搭配學習:

實作練習:

  1. 找一個你的程式碼庫中的中等複雜任務,試著用子代理完成它
  2. 設計一個「程式碼審查子代理」,負責審查特定目錄的所有 Python 檔案
  3. 建立一個「文件生成子代理」,根據程式碼自動生成 README

🔗 相關課程

本網站為非官方中文學習指南,內容整理自 Anthropic Academy