AI 相關紀錄 v8|Agent / Subagent:什麼時候真的需要分工?
整理 Agent、Subagent 與 Custom Agent 的用途,說明何時適合分工,以及它們和 Rules、Skills 的差異。
W
前面整理過 Skill。
可以先簡單理解:
Skill
↓
告訴 AI「這件事情怎麼做」
而 Agent / Subagent 比較像:
Agent / Subagent
↓
把某一部分工作交給另一個 AI 處理
例如主 Agent 正在處理一個功能,但中途需要:
搜尋大量程式碼
分析測試失敗
檢查某一塊問題
這些工作可以交給 Subagent 處理。
完成後,再把結果交回主 Agent。
不一定要自己建立 Agent
這點我一開始也很容易誤會。
看到 Agent / Subagent 之後,很容易想成:
Code Review
→ 建立 Reviewer Agent
Debug
→ 建立 Debugger Agent
Test
→ 建立 Tester Agent
Documentation
→ 建立 Documentation Agent
但其實不用。
一般開發時,主 Agent 本身就可以處理很多工作。
Claude Code 也已經內建一些 Subagent,例如:
Explore
Plan
General-purpose
它會在適合的情況下協助搜尋程式碼、分析專案或處理較複雜的工作。
所以 Custom Agent 比較像:
真的有固定的特殊分工需求時,再另外建立。
Subagent 有什麼不同?
Subagent 會有自己的 Context。
可以先想成:
主 Agent
↓
目前主要工作
↓ 委派某個任務
Subagent
↓
在自己的 Context 中
搜尋 / 分析 / 執行工作
↓
整理結果
↓
回傳主 Agent
例如主 Agent正在修改功能,但需要調查大量程式碼:
主 Agent
↓
「我要修改這個功能」
Explore Subagent
↓
搜尋相關檔案
了解目前架構
整理重要資訊
↓
回傳摘要
主 Agent
↓
繼續實作
這樣大量搜尋過程就不一定全部塞進主要對話的 Context。
什麼時候才需要 Custom Agent?
我目前會先把它理解成:
當某一類工作需要一個固定角色,而且這個角色會重複使用時,再考慮建立。
例如:
只允許讀取、不允許修改的 Reviewer
或者:
專門分析大量 Log 的 Debugger
又或者:
只能使用特定工具的 Agent
這時 Custom Agent 才開始比較有意義。
如果只是:
幫我修 Bug
通常不需要特別建立:
debugger agent
直接讓目前的 Agent 處理即可。
Claude Code 的 Custom Subagent
如果真的需要自訂 Subagent,Claude Code 的專案 Agent 可以放在:
my-project/
└─ .claude/
└─ agents/
└─ reviewer.md
使用者自己的跨專案 Agent 則可以放在:
~/.claude/
└─ agents/
└─ reviewer.md
可以先記:
.claude/agents/
↓
目前專案使用
~/.claude/agents/
↓
自己的多個專案都可以使用
Claude Code 的 Subagent 可以設定:
工作說明
可以使用哪些 Tools
使用哪個 Model
Permission
其他 Agent 行為
但剛開始其實不用先研究這些細節。
不知道怎麼建立,也可以直接讓 Claude 幫忙
Claude Code 本身有:
/agents
可以管理 Subagents。
如果真的發現某類工作很適合獨立成 Agent,可以直接進入 /agents,再讓 Claude 幫忙產生設定。
例如描述:
我想建立一個只負責檢查程式碼的 Agent。
它可以讀取與搜尋程式,
但不要直接修改檔案。
完成後整理發現的問題交回主 Agent。
再讓 Claude 協助產生即可。
所以不需要先自己研究完整 Agent 檔案格式。
一個簡單的分工概念
假設真的建立一個 Reviewer:
主 Agent
↓
負責功能開發
↓
Reviewer
↓
只負責檢查問題
↓
回傳 Review 結果
↓
主 Agent
↓
決定怎麼修改
這時 Reviewer 的價值在於:
它有一個很明確、固定的工作角色。
而不是單純為了:
多建立一個 AI。
Skill 和 Agent 有什麼不同?
這兩個很容易混在一起。
可以先簡單記:
Skill
↓
一套工作方法
Agent
↓
負責工作的角色
例如:
Security Review Skill
↓
定義 Security Review 要檢查什麼
而:
Security Reviewer Agent
↓
負責執行 Security Review 的角色
兩者也可以搭配。
例如:
Reviewer Agent
↓
使用 Review Skill
↓
執行固定檢查流程
但也不是所有 Skill 都需要搭配 Agent。
很多情況:
主 Agent
+
Skill
就已經足夠。
Rules / Skill / Agent 怎麼分?
可以先這樣整理:
Rules
↓
平常工作必須遵守什麼
Skill
↓
某件事情應該怎麼做
Agent
↓
誰負責去做某一部分工作
例如:
Rule
↓
新增 Dependency 前需要確認
Skill
↓
Release 時有哪些固定步驟
Agent
↓
把某個獨立調查任務交給另一個工作者
我覺得先記住這個差異,就已經很夠用了。
Codex 的 Multi-agent
Codex 也有 Multi-agent 的工作方式,可以讓多個 Agent 平行處理不同任務。
但 Codex 與 Claude Code 的 Agent 結構與管理方式並不完全一樣。
所以不要直接把:
.claude/agents/
套用到 Codex。
這篇先只理解:
主 Agent
↓
將部分工作委派出去
↓
其他 Agent 處理
↓
結果再回到主要工作
這個概念即可。
真的開始使用 Codex 的 Multi-agent 工作流時,再另外研究它目前的設定方式。
什麼時候不用 Agent?
其實大部分簡單工作都不用。
例如:
修改一個 Component
修一個 Bug
補一個 API
更新一份文件
執行測試
通常:
目前的主 Agent
就可以處理。
就算是固定流程,也可以先考慮:
Skill
而不是馬上建立新的 Agent。
可以先這樣判斷:
只是固定流程?
↓
先考慮 Skill
只是一般任務?
↓
主 Agent 直接做
真的需要獨立 Context
或固定角色 / Tool 限制?
↓
再考慮 Agent
不知道需不需要 Agent,也可以問 AI
跟 Rules、Skills 一樣,不一定要自己先判斷。
例如可以問:
請檢查目前的工作流程。
哪些工作主 Agent 直接處理就好?
哪些適合做成 Skill?
有沒有真的值得獨立成 Subagent 的工作?
先提出建議,不要直接建立 Agent。
AI 分析後,也可能得到:
目前完全不需要自訂 Agent
這也是很正常的結果。
最後簡單整理
可以先把前面的功能整理成:
CLAUDE.md / AGENTS.md
↓
專案基本規則
Rules
↓
規則變多後再分類
Commands
↓
快速控制 CLI / Session
Skills
↓
保存重複工作流程
Agent / Subagent
↓
真的有分工需求時
再把部分工作交給另一個 AI
Agent 並不是:
每一種工作
↓
都建立一個 Agent
比較自然的方式反而是:
先讓主 Agent 工作
↓
真的遇到需要分工的情況
↓
再考慮 Subagent
↓
同一種角色一直重複使用
↓
才考慮建立 Custom Agent
對我來說,先知道:
Agent / Subagent 是用來分工,而不是每個專案都必須準備很多 AI 角色。
就已經足夠。