柴魚Shiba logo 柴魚Shiba·

AI 工作流 · AI Agent

一個全能 AI 不如一支小團隊:AI AGENT分工與記憶分層怎麼設計

一個全能 AI 不如一支小團隊:AI AGENT分工與記憶分層怎麼設計
作者 ·

我的 AI 系統裡有三個員工:一個幕僚長負責接我的需求、判斷這件事該派給誰;一個工程師負責寫程式、除錯、部署;一個史官負責記錄每天的日誌和回顧。

這聽起來像多此一舉,不就是一個 AI 嗎,幹嘛分三個?現在的模型上下文容量很大,單一對話裡切換任務其實很順,問題在於一段長時間的工作對話會不斷累積東西:改程式時塞進來的大量檔案內容、一次次的執行結果、來回的討論。當這些堆到一定量,模型對每一件事的專注會被稀釋。這個現象叫 context rot:模型還沒到容量上限,回答品質就開始下滑,而且越來越容易被對話順序及重複最多的內容帶偏,忽略你早先交代的規則及需求。角色分工就是讓每個角色的上下文保持精簡,只裝它該裝的東西。這篇講清楚 AI 系統的第一層:角色分工層——大家都在設哪些角色、多代理和少代理怎麼選、記憶怎麼分層、有哪些現成工具。重點是搞懂「誰記得什麼、誰負責什麼」。(如果你還沒看過AGENT八大機制,可以先讀系列文不會寫程式,也能讓 AI 自己幹活:Claude Code 與 Codex 的 8 大機制。)

為什麼一個 AI 不夠用?什麼時候該分成多個角色?

AI AGENT分工判斷:上下文累積與專長衝突出現時,就該拆成專職 AGENT

當同一個 AI 要同時裝進不相干的上下文、或需要互相衝突的專長時,就該分角色。

判斷訊號有兩個。第一個是對話累積:一段長對話會塞進大量檔案內容和執行結果,如同前面說的 context rot,模型對關鍵指令的專注會被這些東西稀釋,回答品質在還沒到容量上限前就開始下降。第二個是專長衝突:寫程式要的是嚴謹、不要自作主張;寫文章要的是發散、有觀點。同一個角色很難同時做好這兩件相反的事。

AGENT就是把工作交給一個專職角色,它有自己獨立的上下文和工具權限,做完把結果交回主線。關鍵在「獨立」,工程師在改程式時累積的一堆細節,不會留在史官的記憶裡,主線對話也保持乾淨。我的三個角色連能用的工具都不一樣:工程師能執行命令、動檔案,史官只能讀資料和寫日誌,權限切開,也順便切開了風險。

另外也不要一開始就編一整隊AGENT,我發現現在模型越來越進步之後,AI自主呼叫subagent的能力越來越成熟,這些AGENT都不需要使用者設計,AI會依現有任務去很好的指揮AGENT去執行。

多AGENT和少AGENT差在哪?角色是不是越多越好?

多 AGENT 與少 AGENT 對照:研究型平行任務適合多 AGENT,程式相依任務適合少 AGENT

差在工作能不能切成互不相干的方向執行,而不是AGENT數量越多越好。這件事業界剛好有一場公開的正反辯論,兩邊都拿出了自己的實測。

正方是 Anthropic。他們公開過自家多代理研究系統的成績:一個主代理指揮多個子代理平行查資料,在內部研究型任務的評測上,比單一代理的表現好了 90.2%。原因是研究這種工作天生可以平行執行;像是查三個來源彼此不相干,三個角色同時去查就是比一個角色排隊查快,而且每個角色的上下文也不會互相汙染影響結果。

反方是 Cognition(做 AI 工程師 Devin 的公司)。他們的立場直接寫在標題上:〈Don’t Build Multi-Agents〉。理由是像寫程式這種一步接一步的工作,每一步都得知道前面所有步驟發生了什麼,多個角色各做各的,彼此不知道對方改了哪裡,成品很容易互相矛盾;把脈絡集中在單一AGENT上反而更有效率。

兩邊其實沒有衝突,只是各自站在不同型態的工作上。而且值得注意的是Anthropic 自己也承認,多代理吃的運算量大約是一般對話的 15 倍。

網路上大家都設哪些 AI AGENT?該從哪個開始?

你的第一個AGENT應該來自「你每週重複做的事」。

社群整理的角色合集已經收了上百個角色定義(最大的一份是 awesome-claude-code-subagents,超過 150 個、分十類),其中最常被推薦的是這幾類:程式碼審查員(檢查改動有沒有錯誤和安全問題)、除錯員(遇到報錯專門查原因)、測試員(寫測試、跑測試)、資安查核員文件撰寫員研究員(去查資料、整理回來給主線用)。

一個角色一份說明書檔案,寫清楚它是誰、負責什麼、能用哪些工具、什麼情況該叫它。放在固定資料夾裡,主AGENT看到對得上的任務就自動派工,你也可以點名叫某個角色出來。

但我不建議所有配置都照搬網路上的熱門資源。你會發現我的三個員工根本不在上面那七類裡(幕僚長、工程師、史官),因為我的系統重心是「經營一整套個人系統」,不是純寫程式。非工程師更值得先設的角色反而是:研究員(幫你查證、整理來源)、編輯(照你的寫作標準改稿,而不是照它自己的品味)、記錄員(收工時把今天做了什麼寫成日誌)。

AI 的記憶要分哪幾層?誰記得什麼?

AI 記憶三層架構:常駐記憶每次必讀、動態記憶按需、任務記憶只在本次使用

AI的記憶結構要怎麼運作也可以自己設計,可以分三層:常駐記憶、動態記憶、任務記憶。

放什麼什麼時候讀例子
常駐記憶不管誰來都適用的身份與規則每個角色開工必讀CLAUDE.md/AGENTS.md
動態記憶會變動的偏好、教訓、專案現況按需要載入記憶資料夾+主索引
任務記憶這次任務的細節只活在任務裡子AGENT對話

常駐記憶是 CLAUDE.md(Codex 叫 AGENTS.md,兩者放的東西一樣、作用一樣),放不管哪個角色都適用的身份和規則。你是誰、有哪些慣例、AI權限。這是整套系統的地基,怎麼寫、為什麼要精簡,我另外寫了一整篇CLAUDE.md 怎麼寫?768 行砍到 153 行,AI 從通用助理變懂我的同事,這裡不重複。

動態記憶是可以隨時更新的檔案,會隨著你們使用習慣慢慢完善。我自己的動態記憶分四種:

  1. 偏好與糾正你糾正過它的事,而且每一條都附「為什麼」和「下次怎麼做」。例如我有一條記憶是「同一個任務連續失敗三次就要停下來問我,不要悶頭換方法硬做」。
  2. 專案脈絡每個進行中專案的踩坑紀錄、現況及待辦事項。隔幾天回來繼續做,AI 讀這份文件就能接手,不用我重講一遍背景。
  3. 個人檔案你的目標、正在學什麼、在意什麼。AI 給的建議會貼著你的處境,而不是給「一般人」的通用答案。
  4. 領域慣例某個領域你累積出來的做法標準。例如我有一份寫作標準檔,AI 幫我改任何對外文章前必須先讀它,我每次改稿的偏好也回寫進去。

動態記憶多了會有新問題:全部塞給 AI 等於自己製造 context rot。解法是加一個主索引檔:每則記憶一個小檔案,索引裡每則只佔一行,AI 開工只載入索引,需要哪則才翻開哪份。記憶累積到上百條,開工成本也不會變重。

任務記憶 能幫助AI更有效率且更準確的執行任務,這些記憶只在那個專案時使用,任務結束就消失。另外可以設計一個機制,子AGENT做完後最好把成果寫到一個外部的地方,只回傳一個輕量的參考給主AGENT,而不是把幾千字的產出整包倒回去。這是 Anthropic 自己在多AGENT系統上的做法,主AGENT的對話才不會被子AGENT的輸出撐爆。

不會寫程式,怎麼開始設計 AI 的角色分工?

AI AGENT分工起步流程:先寫常駐記憶、累積動態記憶,遇到瓶頸再啟用內建 AGENT

從寫好一份記憶檔開始,然後忍住「馬上編一支大軍」的衝動。

我一度很興奮地想設計一套完整的多AGENT大軍:一個總指揮加五個專職角色,各自出去做事,我還認真畫了架構圖、寫了流程文。結果動手前一查才發現,Claude Code 早就內建了 Agent Teams,我想自建的那套統籌、通訊、任務協調,官方已經做好了。

所以給非工程師的起步順序很簡單:第一步,把常駐記憶檔寫好,讓 AI 先熟悉使用者的工作習慣;第二步,開始累積動態記憶,用上面那四個做法,讓糾正和教訓留下來;第三步,正常用它,直到你真的感覺到「同一個 AI 塞太多不相干的事」,這時才分出第二個專職AGENT,而且優先用工具內建的subagent、agent teams功能,別自己從零開始建立。

順帶一提,這整套方式在 Claude Code 和 Codex 都能用:Codex 現在也有原生的子AGENT、常駐記憶功能(你明講要分工時才啟動,能讓不同角色用不同的模型設定)。(如果你還沒看過AI AGENT八大機制,可以先讀系列文不會寫程式,也能讓 AI 自己幹活:Claude Code 與 Codex 的 8 大機制,幫助你全盤掌握AI AGENT。)


這是AI AGENT機制系列的第二篇,下一篇我會講能力與工具層:怎麼把你的一套流程封裝成 Skill、怎麼用 MCP 把你的真實工具接進 AI,讓它從「會分工」變成「有東西可以做、有工具可以用」。

常見問題

子代理(subagent)是什麼?跟我自己開好幾個對話視窗有什麼不同?
子代理是主代理在同一個任務裡,把某段工作交給一個專職角色去做,那個角色有自己獨立的脈絡和工具權限,做完把結果交回來。差別在於開好幾個對話視窗是你自己手動切換、彼此完全不知道對方在幹嘛;子代理是主代理自動調度、有分工也有協調,你只對主代理講話,它幫你分派。
AI 角色是多好還是少好?
看工作能不能切成互不相干的塊。查資料、多來源研究這種可以平行做的,多代理明顯更強;寫程式、改文章這種一步接一步、每步都要知道前面發生什麼的,角色少反而穩,因為多個角色彼此不知道對方做了什麼,容易互相矛盾。另外多代理很貴——業界實測吃的運算量是單一對話的十幾倍,所以原則是按脈絡切,不是人多好辦事。
CLAUDE.md 的記憶和子代理的記憶會打架嗎?
不會,因為它們是不同層。CLAUDE.md/AGENTS.md 是常駐記憶,寫的是不管誰來都適用的身份和規則,每個角色開工都會讀到;子代理的脈絡是任務級的,只在那次任務裡活著、任務結束就消失。一個管「我是誰、規則是什麼」,一個管「這次任務的細節」,各司其職。
需要裝專門的記憶 MCP 嗎?
多數人不用。Claude Code 和 Codex 內建的記憶檔(CLAUDE.md/AGENTS.md 加上對話中要求「記下來」)就能覆蓋常駐規則和動態偏好。想跨工具共用記憶、或想讓 AI 自動從對話抽記憶時,才考慮專門工具:想親手讀和改記憶就挑 Markdown 檔案派(如 Basic Memory),只想無感累積就挑自動抽取派(如 Mem0)。
我需要幾個 AI 角色才夠?一開始就要編一整隊嗎?
不用,多數人一個就夠起步。判斷要不要加角色的訊號很單純:當你發現同一個 AI 要同時處理不相干的脈絡(例如又要寫程式又要管你的日誌),或需要互相衝突的專長時,再分出一個專職角色。從一個開始,遇到瓶頸才加下一個。

分享這篇文章