Vibe Coder
多代理架構設計:讓多個 AI 分工合作
當任務需要不同專業、可以並行處理、或超過單一 Agent 的 context window 時,就該用多 Agent 架構。常見的四種模式是 Orchestrator-Worker、Pipeline、Parallel、Debate,各自適合不同場景,選對模式能讓系統更準確也更快。
多代理架構設計:讓多個 AI 分工合作
讓一個 Agent 同時搜尋資料、寫程式、寄 Email,品質遠不如三個各自專注的 Agent。這一篇帶你看懂為什麼需要多 Agent、四種常見架構模式,以及怎麼用 Python 實作一個真的會並行工作的 Orchestrator。
你將學到什麼
為什麼需要多 Agent
單一 Agent 在哪些情況會表現變差,看三個真實理由。
四種常見模式
Orchestrator-Worker、Pipeline、Parallel、Debate 怎麼選。
任務拆解四原則
獨立、邊界清楚、粒度合適、失敗能重試。
動手實作並行 Agent
用 ThreadPoolExecutor 讓多個 Subagent 同時工作。
為什麼需要多 Agent
單一 Agent 在這些情況表現會變差:
- 任務需要不同的專業:同時需要搜尋能力、程式能力、寫作能力,單一 Agent 什麼都做,什麼都做得普通。
- 任務可以並行:研究三個不同主題的報告,單 Agent 依序做要三倍時間,三個 Subagent 並行只要最長的那份時間。
- 任務超過 context window:分析一萬行程式碼超過 context limit,拆成小塊分給多個 Subagent 分析後整合。
常見的四種多 Agent 模式
| 模式 | 結構 | 適用場景 |
|---|---|---|
| Orchestrator-Worker | 一個 Orchestrator 指揮多個 Worker(Subagent) | 任務可以拆解成獨立子任務,例如研究報告 |
| Pipeline(流水線) | Agent A 的輸出是 Agent B 的輸入,依序執行 | 有明確前後依賴,例如搜尋整理再撰寫 |
| Parallel(並行) | 多個 Agent 同時執行不相依的子任務 | 需要加速的獨立任務,例如同時分析多個市場 |
| Debate(辯論) | 多個 Agent 給出不同觀點,再由一個 Agent 綜合 | 需要多角度評估,例如商業決策、風險分析 |
任務拆解的原則
- 子任務要獨立:每個 Subagent 不需要等待其他 Subagent 才能開始(除非是 Pipeline 模式)。
- 邊界要清楚:Subagent 的輸入和輸出格式要明確定義,Orchestrator 知道每個 Subagent 能做什麼、會給什麼。
- 粒度要合適:子任務不要太大(單一 Agent 做不完)也不要太小(拆解本身的開銷超過收益)。
- 失敗要能重試:設計讓單個 Subagent 失敗後 Orchestrator 能重試或改用備用策略,整個系統不因一個子任務失敗而崩潰。
用 Anthropic API 實作多 Agent
以下是一個 Orchestrator-Worker 的完整實作,三個 Subagent 並行分析後,由 Orchestrator 用強模型整合結論:
import anthropic
from concurrent.futures import ThreadPoolExecutor
client = anthropic.Anthropic()
def run_subagent(task: str, system: str) -> str:
"""執行一個 Subagent,回傳結果"""
r = client.messages.create(
model="claude-haiku-4-5-20251001", # 子任務用便宜模型
max_tokens=1000,
system=system,
messages=[{"role": "user", "content": task}]
)
return r.content[0].text
def orchestrate(main_task: str) -> str:
# Orchestrator 拆解任務
subtasks = [
("分析優點", "你是商業分析師,專注分析優點"),
("分析風險", "你是風險評估師,專注識別風險"),
("市場調查", "你是市場研究員,專注市場數據"),
]
# 並行執行所有子任務
with ThreadPoolExecutor() as pool:
results = list(pool.map(
lambda t: run_subagent(f"{main_task}: {t[0]}", t[1]),
subtasks
))
# Orchestrator 整合結果(用強模型)
summary = run_subagent(
f"整合這些分析:{results}",
"你是策略顧問,整合多方分析給出結論"
)
return summary
多 Agent 的常見問題
| 問題 | 原因 | 解法 |
|---|---|---|
| Subagent 輸出格式不一致 | 沒有規定輸出格式 | 在 system prompt 裡規定輸出為 JSON,用 Pydantic 驗證 |
| 整合結果前後矛盾 | Subagent 各自獨立沒有共識 | 提供相同的背景資訊給所有 Subagent,或用 Debate 模式讓它們辯論 |
| 費用比單 Agent 高很多 | Orchestrator 的整合步驟用了強模型 | Subagent 用輕量模型,只有最終整合用強模型 |
| 一個 Subagent 失敗整個崩潰 | 沒有錯誤處理 | 每個 Subagent 有例外處理,失敗回傳錯誤訊息讓 Orchestrator 決定要重試還是跳過 |
| 並行結果有競態問題 | Subagent 共享了可變的狀態 | 設計成每個 Subagent 輸入輸出獨立,不共享中間狀態 |
多 Agent 設計檢查清單每個 Subagent 只做一件事,有清楚的輸入輸出格式;Subagent 用輕量模型,整合和推理用強模型;每個 Subagent 有錯誤處理,失敗不會讓整個系統崩潰;並行的 Subagent 之間沒有共享的可變狀態;有最大迴圈次數和超時設定,防止無限執行。
延伸學習
HE301|Harness Engineering Architecture(12 小時)
兩天十二小時的架構課,處理的是「第一百次仍然成功」。從能力設計出發,逐層拆解知識、脈絡、記憶、規則、工具、工作流、評估與多代理八種架構,每一種都給治理方式與真實案例。12 章 114 課圖文講義、52 張對照表,附兩天的學員講義與投影片 PDF。課程於 2026 年 8 月 30 日實體開課,完整錄影將於課後上傳。
NT$ 12,999
AI Native 工作法
四小時完整實錄。工作已經不是以前的工作了 ── 這門課拆解 AI Native 的四個核心能力,帶你把自己的工作做成一份可執行的 AI Native Blueprint,從「會用 AI 的人」變成「工作本身就長在 AI 上的人」。
NT$ 2,599
常見問答
什麼情況該改用多 Agent 架構?
任務需要不同專業(例如同時要搜尋、程式、寫作能力)、任務可以並行處理、或任務超過單一 Agent 的 context window 限制,這三種情況用多 Agent 效果會明顯更好。
四種多 Agent 模式怎麼選?
獨立子任務用 Parallel 最快;有明確前後依賴的任務序列用 Pipeline;需要指揮多個獨立子任務用 Orchestrator-Worker;需要多角度評估的決策用 Debate 模式。
多 Agent 架構費用會不會爆炸?
會比單 Agent 高,但可以用模型分層控制:Subagent 用便宜的輕量模型(例如 claude-haiku)處理子任務,只有最終整合步驟用強模型,在品質和費用之間取得平衡。
並行執行的 Subagent 之間會不會互相干擾?
只要每個 Subagent 的輸入輸出完全獨立、不共享中間狀態,就能避免競態問題。設計時讓 Subagent 之間彼此不依賴,是並行架構能安全運作的關鍵。

