尚未安裝 OpenClaw?點此查看一鍵安裝指令
curl -fsSL https://openclaw.ai/install.sh | bashiwr -useb https://openclaw.ai/install.ps1 | iexcurl -fsSL https://openclaw.ai/install.cmd -o install.cmd && install.cmd && del install.cmd- 子代理(Subagent)是 OpenClaw 多代理系統的核心單元——主代理負責理解意圖與任務分解,子代理負責專業化執行,兩者透過結構化訊息協定通訊
- 透過
openclaw agents add指令與agents.md設定檔,開發者可在五分鐘內完成子代理的新增、角色定義與技能綁定 - 平行子代理執行模式(Parallel Subagents)可將多步驟任務的總延遲壓低 40–60%,同時透過資源限制避免 Token 超支[1]
- 每個子代理擁有獨立的 context window、系統提示與模型選擇,實現真正的認知隔離與專業化分工
- 本文以研究子代理、程式開發子代理、瀏覽器子代理三個實戰案例,示範從設定到部署的完整流程
隨著 OpenClaw 在 2026 年初成為 GitHub 上增長最快的開源 AI 代理專案[5],越來越多開發者開始嘗試讓 AI 代理處理更複雜的任務。然而,當任務涉及多個領域的專業知識——例如同時需要網路搜尋、資料分析與程式碼撰寫——單一代理往往力不從心。這正是 子代理(Subagent) 機制的設計初衷。[4]
本文是 OpenClaw 系列的子代理專題,將從基本概念出發,逐步拆解子代理的設定方法、通訊協定與效能優化策略,並提供三個可直接上手的實戰範例。無論你是剛接觸 OpenClaw 的新手,還是已經在生產環境中使用 Agent Teams 的進階用戶,本文都能幫助你更有效地運用子代理機制。
一、什麼是子代理:主代理與子代理的分工邏輯
1.1 主代理(Primary Agent)的角色
在 OpenClaw 的多代理架構中,主代理扮演的是「專案經理」的角色。它負責三件事:接收使用者的指令、將複雜任務分解為可管理的子任務,以及將這些子任務委派給適合的子代理執行。主代理本身不直接執行具體的技術性工作,而是專注於高層次的意圖理解與任務編排。[1]
這種設計的核心哲學與 Gartner 所提出的 AI 代理生態系統趨勢一致——複雜任務的完成不依賴單一超級代理,而是依賴多個專業化代理的有效協作。[6]
1.2 子代理(Subagent)的本質
子代理是由主代理動態生成或預先設定的專業化代理實例。每個子代理具備以下獨立屬性:
- 獨立的系統提示(System Prompt):定義子代理的角色、行為邊界與輸出格式
- 獨立的 Context Window:子代理的對話歷史與主代理隔離,避免上下文污染
- 獨立的模型選擇:可依任務複雜度選用不同模型(例如路由任務用輕量模型,推理任務用高階模型)
- 專屬的技能集合(Skills):每個子代理只掛載所需的技能,遵循最小權限原則
這種設計讓子代理成為真正意義上的「專家」——研究子代理只懂搜尋與彙整,程式開發子代理只懂讀寫程式碼,彼此的認知範圍嚴格隔離。學術研究也證實,在多代理系統中為代理設定明確的角色邊界,能顯著提升任務完成品質。[7]
二、任務委派機制:子代理如何被呼叫
2.1 任務分解的三階段流程
當使用者向主代理下達一個複雜指令時,任務委派依循以下流程:
階段一:意圖解析。主代理分析使用者的指令,識別出其中包含的不同子任務。例如「幫我研究三家競爭對手,然後寫一份分析報告」會被拆解為「資料搜集」與「報告撰寫」兩個子任務。
階段二:代理路由。主代理根據 agents.md 中定義的子代理角色描述,將每個子任務分配給最適合的子代理。如果沒有匹配的子代理,主代理會自行處理或回報無法完成。
階段三:結果彙整。所有子代理完成任務後,將結果回傳給主代理。主代理負責整合、校驗並向使用者呈現最終輸出。
2.2 委派指令的結構
在 OpenClaw 的內部通訊中,主代理向子代理發送的委派訊息遵循結構化格式:
{
"task": "搜尋並彙整 Company X 過去 12 個月的融資新聞",
"context": "用戶正在準備競爭對手分析報告",
"constraints": {
"max_tokens": 4000,
"timeout_seconds": 120,
"output_format": "structured_summary"
},
"return_to": "primary_agent"
}
這種結構化的委派格式確保子代理能精確理解任務邊界,避免範圍蔓延(scope creep)。[3]
三、設定子代理:agents add 與 agents.md
3.1 使用 agents add 快速新增子代理
OpenClaw 提供了 CLI 指令 openclaw agents add 來快速建立子代理。以下是新增一個研究子代理的範例:[2]
# 新增一個名為 researcher 的子代理
openclaw agents add researcher \
--model claude-sonnet-4 \
--description "負責網路搜尋、資料彙整與事實查核" \
--skills web-search,summarize,fact-check
# 新增一個程式開發子代理
openclaw agents add coder \
--model claude-sonnet-4 \
--description "負責程式碼撰寫、除錯與重構" \
--skills code-write,code-review,terminal
# 新增一個瀏覽器自動化子代理
openclaw agents add browser \
--model claude-sonnet-4 \
--description "負責瀏覽器操作、截圖與表單填寫" \
--skills browser-navigate,browser-screenshot,browser-form
執行上述指令後,OpenClaw 會自動在專案目錄下的 .openclaw/ 資料夾中生成對應的設定檔。
3.2 agents.md 角色定義檔
agents.md 是子代理系統的核心設定檔,它以宣告式的方式定義每個子代理的角色、行為規範與互動方式。以下是一個完整的 agents.md 範例:
# Agent Teams Configuration
## researcher
- role: "資深研究分析師"
- model: claude-sonnet-4
- system_prompt: |
你是一位專業的研究分析師。你的職責是:
1. 使用 web-search 技能搜尋相關資訊
2. 交叉比對多個來源以確保事實準確性
3. 以結構化格式輸出研究結果
你只負責資料搜集與分析,不撰寫最終報告。
- skills:
- web-search
- summarize
- fact-check
- max_tokens: 8000
- timeout: 180s
## coder
- role: "全端工程師"
- model: claude-sonnet-4
- system_prompt: |
你是一位經驗豐富的全端工程師。你的職責是:
1. 根據需求撰寫高品質的程式碼
2. 遵循專案既有的程式碼風格
3. 為關鍵邏輯撰寫單元測試
你不負責部署或基礎設施設定。
- skills:
- code-write
- code-review
- terminal
- max_tokens: 16000
- timeout: 300s
## browser
- role: "瀏覽器自動化專員"
- model: claude-sonnet-4
- system_prompt: |
你是一位瀏覽器自動化專員。你的職責是:
1. 導航至指定網頁並擷取內容
2. 填寫表單與執行點擊操作
3. 截取網頁截圖作為執行證據
每次操作前先截圖確認頁面狀態。
- skills:
- browser-navigate
- browser-screenshot
- browser-form
- max_tokens: 4000
- timeout: 120s
這份設定檔清晰定義了三個子代理的職責邊界。值得注意的是,每個子代理的 system_prompt 中都明確標註了「不負責什麼」——這是避免子代理越權行動的關鍵設計模式。[1]
3.3 驗證與列出現有子代理
# 列出所有已設定的子代理
openclaw agents list
# 輸出範例:
# NAME MODEL SKILLS STATUS
# researcher claude-sonnet-4 web-search, summarize, fact... active
# coder claude-sonnet-4 code-write, code-review, te... active
# browser claude-sonnet-4 browser-navigate, browser-s... active
# 測試特定子代理的連線狀態
openclaw agents ping researcher
# 移除子代理
openclaw agents remove browser
四、子代理通訊協定
4.1 訊息傳遞架構
OpenClaw 子代理之間的通訊依賴三種機制,開發者可依任務特性選擇最適合的方式:
結構化訊息傳遞(Structured Message Passing):主代理與子代理之間的預設通訊方式。每條訊息包含 task、context、constraints 三個欄位,確保子代理精確理解任務需求。適用於大多數委派場景。
共享記憶體(Shared Memory):多個子代理可讀寫同一塊記憶體空間,適用於需要即時資料共享的場景。例如,研究子代理將搜尋結果寫入共享記憶體,撰寫子代理即時讀取並整合為報告。
事件佇列(Event Queue):子代理可透過 Hooks 事件系統 發送與監聽事件,適用於非同步工作流程。例如,當程式開發子代理完成程式碼後觸發 code.complete 事件,測試子代理自動接手執行測試。
4.2 通訊設定範例
# 在 agents.md 中設定通訊模式
## communication
- mode: structured_message # 預設模式
- shared_memory:
enabled: true
namespace: "project_research"
max_size: 50MB
- event_queue:
enabled: true
topics:
- "task.complete"
- "task.error"
- "data.ready"
五、實戰範例:三種子代理的應用場景
5.1 研究子代理:自動化競爭對手分析
以下範例展示如何使用研究子代理自動搜集競爭對手資訊:
# 向主代理下達指令
openclaw run "分析 Acme Corp、Beta Inc、Gamma Ltd 三家競爭對手的
產品定價策略,各自搜尋最新的公開資訊並彙整為比較表格"
# 主代理自動將任務拆解並委派給 researcher 子代理
# 三個 researcher 實例同時啟動,分別處理一家公司
# 最終主代理整合三份研究結果為統一的比較報告
在此場景中,主代理會生成三個 researcher 子代理實例,各自負責一家公司的資料搜集。由於三個任務彼此獨立,OpenClaw 會以平行模式同步執行,大幅縮短整體處理時間。
5.2 程式開發子代理:自動化 Pull Request 流程
# agents.md 中的 PR 自動化團隊設定
## pr_coder
- role: "功能開發工程師"
- model: claude-sonnet-4
- system_prompt: "根據 Issue 描述撰寫功能程式碼,遵循既有程式碼風格。"
- skills: [code-write, terminal, git]
## pr_reviewer
- role: "程式碼審查員"
- model: claude-opus-4
- system_prompt: "審查 pr_coder 提交的程式碼,檢查邏輯錯誤、安全漏洞與效能問題。"
- skills: [code-review, terminal]
## pr_tester
- role: "測試工程師"
- model: claude-sonnet-4
- system_prompt: "為新增功能撰寫單元測試與整合測試,確保測試覆蓋率達 80% 以上。"
- skills: [code-write, terminal, test-runner]
執行時,主代理會依序啟動三個子代理:pr_coder 先撰寫程式碼,完成後 pr_reviewer 進行審查,通過後 pr_tester 撰寫測試。若審查未通過,主代理會將修改意見回傳給 pr_coder,形成閉環迭代。
5.3 瀏覽器子代理:自動化資料擷取
# 向主代理下達瀏覽器自動化任務
openclaw run "到三個競爭對手的官網截取定價頁面截圖,
並將價格資訊整理為 CSV 檔案"
# 主代理委派 browser 子代理:
# 1. 導航至各競爭對手的定價頁面
# 2. 截取完整頁面截圖
# 3. 擷取價格數據
# 主代理最終整合數據並輸出 CSV
六、效能優化:平行執行與資源控制
6.1 平行子代理設定
當多個子任務彼此獨立時,開啟平行執行可大幅提升效率:
# agents.md 中的平行執行設定
## execution
- parallel:
enabled: true
max_concurrent: 5 # 最多同時運行 5 個子代理
queue_overflow: wait # 超過上限時排隊等待
## resource_limits
- per_agent:
max_tokens: 8000 # 單次呼叫的 Token 上限
max_cost_usd: 0.50 # 單個子代理的成本上限
timeout: 180s # 超時強制終止
- total:
max_tokens: 50000 # 所有子代理的 Token 總額上限
max_cost_usd: 5.00 # 整體任務的成本上限
max_duration: 600s # 整體任務的時間上限
6.2 模型選配策略
降低整體 Token 成本的關鍵在於為不同任務選擇適當的模型:
- 路由與分類任務:使用輕量模型(如 claude-haiku),成本僅為高階模型的 1/10
- 搜尋與資料處理:使用中階模型(如 claude-sonnet-4),平衡品質與成本
- 推理與撰寫任務:使用高階模型(如 claude-opus-4),確保輸出品質
根據實測,這種分層選配策略可將同等任務的 Token 成本降低約 35%,同時維持輸出品質。[1]
七、常見問題與故障排除
Q1:子代理沒有被呼叫,主代理自己處理了所有任務?
最常見的原因是 agents.md 中的角色描述不夠明確。主代理需要根據角色描述判斷哪個子代理適合處理哪個子任務。確保 description 欄位清楚描述子代理的專長,並用 openclaw agents list 確認子代理狀態為 active。[3]
Q2:子代理之間出現重複工作?
這通常是角色邊界定義不清所致。在每個子代理的 system_prompt 中明確標註「你負責什麼」和「你不負責什麼」,可有效避免職責重疊。參考上述 agents.md 範例中的寫法。
Q3:平行執行時某個子代理超時,導致整體任務失敗?
在 agents.md 的 execution 區塊中加入容錯設定:
## execution
- parallel:
enabled: true
failure_mode: partial # 單個子代理失敗不影響其他
retry:
max_attempts: 2 # 失敗時最多重試 2 次
backoff: exponential # 指數退避策略
Q4:如何監控子代理的 Token 用量與成本?
# 查看各子代理的即時用量
openclaw agents stats
# 輸出範例:
# AGENT CALLS TOKENS_IN TOKENS_OUT COST_USD AVG_LATENCY
# researcher 12 45,200 18,300 $0.42 3.2s
# coder 5 32,100 28,700 $0.89 8.7s
# browser 8 12,400 6,200 $0.15 5.1s
Q5:子代理可以呼叫其他子代理嗎?
OpenClaw 目前支援兩層委派架構:主代理可以呼叫子代理,但子代理預設不能再呼叫其他子代理。若需要更深層的委派,可在 agents.md 中設定 allow_delegation: true,但建議限制最大委派深度為 2–3 層,避免失控的遞迴呼叫。[1]
結論:子代理是多代理系統的基礎單元
子代理機制是 OpenClaw 多代理系統的基石。透過合理的角色定義、明確的職責邊界與恰當的模型選配,開發者可以組建高效的 AI 代理團隊,處理遠超單一代理能力範圍的複雜任務。
關鍵要點回顧:使用 openclaw agents add 快速新增子代理;在 agents.md 中定義精確的角色邊界;善用平行執行縮短處理時間;設定資源限制控制成本。
如果你剛開始接觸 OpenClaw 的多代理功能,建議先從單一子代理開始實驗(例如研究子代理),待流程穩定後再逐步增加子代理數量。關於 OpenClaw 的基礎安裝與設定,請參考我們的完整教學指南;關於更進階的多代理架構設計,請參閱多代理系統架構設計一文。[2]
- ^ OpenClaw Documentation. (2026). Agent Teams — OpenClaw Official Docs. docs.openclaw.ai
- ^ OpenClaw Documentation. (2026). Getting Started — OpenClaw Official Docs. docs.openclaw.ai
- ^ OpenClaw Documentation. (2026). Agents Configuration — OpenClaw Official Docs. docs.openclaw.ai
- ^ Scientific American. (2026). OpenClaw is an open-source AI agent that runs your computer. scientificamerican.com
- ^ CNBC. (2026). From Clawdbot to Moltbot to OpenClaw. CNBC Technology. cnbc.com
- ^ Gartner. (2025). Top Strategic Technology Trends 2026. gartner.com
- ^ Wu, Q., et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. arXiv:2308.08155. arxiv.org


