跳到主要內容
AI 與工具

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 角色。

就已經足夠。

分享這篇