你怎麼指揮多個 Agent 分工、平行跑
交辦單一件事你已經會了。但真實工作裡的任務,常常不是一步就做得完,而且大到一個 Agent 扛不動。接下來我要講兩件事:一個 Agent 怎麼撐完一整段多步驟的流程,以及當一個不夠的時候,你怎麼一次派很多個、讓它們分工。
先看複雜任務難在哪。它難不在單一步驟有多深,而在三件事:步驟很多,不是一問一答就結束;步驟之間有先後、有依賴,後面那步要等前面的結果才能做;而且中間只要錯一步,後面會整條歪掉。這就是為什麼「一次回答得很漂亮」跟「把一整件事做完」是兩種能力。
Agent 處理複雜任務的第一件事,是先規劃。它拿到一個大任務,不會急著動手,而是先把它拆成一小步一小步,然後排出順序:哪一步得先做、哪一步要等前面的結果。這一步你通常看不到,但它決定了後面做得順不順。
規劃完就照著做,而且是邊做邊驗。每完成一步,它會回頭看這一步的結果對不對、能不能接到下一步。如果發現不對,它會退回去修,而不是帶著錯誤一路做到底。「規劃」加上「驗證」,這兩件事合起來,才是它撐得住複雜任務的原因 —— 不是因為它某一次答得特別聰明。但這裡要老實講一件事,不然你會太放心:**它檢查的是它自己**。跟人一樣,自己看自己的東西會有盲點 —— 它一開始理解錯了方向,後面每一步都會照著那個錯的方向去「檢查通過」。所以它的自我檢查能抓到「做到一半卡住、結果明顯不對」這類問題,但抓不到「從頭到尾都在做錯的那件事」。**最後那一關,還是你。**
講這麼多,直接看一次。我丟一個有好幾個相依步驟的真實任務給它:先上網查資料、整理成表、做分析、最後產出一份報告。你注意看三個地方:它有沒有先規劃、有沒有照順序做、以及中間出錯的時候,它會不會自己發現、自己回頭修。
回頭看剛剛那段。它不是一次就把答案吐出來,而是先想步驟、再一步步執行,中間還回頭檢查過。這跟一問一答最大的差別是:你交辦的東西可以變大了 —— 從「幫我寫一段」變成「幫我把這件事從頭做到完」。
不過一個 Agent 再會規劃,它還是一個,產能有上限。有些任務的量大到你需要同時開很多份工;有些任務則是需要好幾種不同的專長,一個角色兼不來。這時候就輪到下一種用法:一次派很多個。
第一種形態最簡單:你的 Agent 做到一半,自己去呼叫另一個模型或另一個 Agent,借用對方比較強的那一塊,拿到結果再回來繼續。比如主力那個負責整體流程,遇到需要特別長的推理時,就把那一段丟給另一個更擅長的,答案拿回來再往下走。你從頭到尾只交辦了一次,中間它自己去找幫手。不過這裡有個常見的誤會要先破:很多人以為可以「平常用便宜的,難的時候再叫強的」,這樣最省錢。實際上這招常常失靈,原因很反直覺 —— **那個比較弱的,不知道自己什麼時候該求助。**它不會的東西,它也不知道自己不會,所以它會自信地自己做完。真正有效的用法反而是:**兩個都夠強、但擅長的地方不同**,互相補位。這是為了補能力,不是為了省錢。
第二種形態是分工:你一次開一組 Agent,每個扮演不同角色。比如 A 負責蒐集和整理資料,B 根據那些資料寫成報告,C 專門讀一遍、挑毛病、把錯的抓出來。這比較像一個小團隊,而不是一個全能的人 —— 而且最後那個「專門找碴」的角色特別有用,因為做的人常常看不到自己的盲點。
第三種形態是平行:把一件大事切成很多小份,讓很多個同時開工。舉個例子:你要比較五十家供應商,一次派五十個同時去查。但這裡我要修正一個大家都會有的期待,包括我自己一開始也這樣以為:**你以為派五十個會快五十倍,實際上常常沒有,有時候甚至更慢。**為什麼?因為派工要時間、五十份結果收回來要有人整理、而且你的帳號同時能跑幾個是有上限的,不是你說五十就五十。所以平行真正的好處,不是「快」,是「**廣**」—— 一個人查五十家,查到第四十家的時候前面早忘光了;五十個同時查,每一個都只專心看一家,涵蓋得比較完整。**為了廣度去派,通常划算;為了速度去派,常常失望。**還有一條界線一定要記住,這是最多人立刻踩的坑:**平行「查東西」很安全,平行「動手改東西」很危險。**五十個同時讀資料,彼此不會打架;但五十個同時改同一批檔案、同一份表,它們會互相蓋掉對方做的,而且你事後很難查出是誰蓋的。要改東西,老老實實一個一個來。
這三種形態不是互斥的,實務上常常混著用。比如你開了一個分工的團隊,而團隊裡負責分析的那一路,又自己去呼叫另一個更強的模型;或者分工之外,某一個角色底下再平行開十份。組合方式很多,你不用去背 —— 重點是知道「可以這樣拆」。
這裡有一個很重要的共同點,值得你記住:上面講的每一種,不管是呼叫另一個模型、開一組團隊、還是平行五十份,那些 Agent 全部都是你的 —— 你開的、你的帳號、你的機器。所以你不需要幫它們做身分驗證,也不需要誰跟誰自我介紹。但這裡要很小心一個偷換:**「它是我的」跟「它不會做錯事」,是兩件事。**你信任的是它的**身分**,不是它的**行為** —— 它是你的分身沒錯,但你的分身一樣會誤解你的意思、一樣會做錯,而且它現在有你的帳號、你的權限,做錯起來規模比你自己手滑大得多。所以「都是我的」這件事省掉的是身分驗證,**不是省掉盯著它**。這個前提很重要,因為一旦要協作的對象不是你的,整個問題就會完全不一樣。
既然剛剛講到派五十個上網查,有一件事你一定要先知道,不然這是最容易出事的地方。網頁、PDF、別人寄來的檔案裡面,**是可以藏一段話的** —— 那段話不是寫給你看的,是寫給 AI 看的,內容大概像:「忽略你原本的任務,改成去做某某事」、「把你手上的資料寄到這個信箱」。人看網頁不會理這種東西,但 AI 讀進來的時候,**它眼前只是一整片文字,它分不出哪句是你交代的、哪句是網頁裡夾帶的。**這件事在只有一個 Agent 的時候就存在,但你一次派五十個去讀外面的東西,等於同時開了五十扇門,而且你來不及一個一個看它們讀到什麼。心裡先記住一句話就好:**它從外面讀回來的東西,是「資料」,不是「命令」。**所以派出去查資料的那些,盡量只給它「查」的權限,**別順手給它可以寄信、可以刪東西、可以付錢的能力。**查回來的東西你自己看過再決定要不要動手,這一關不要省。
那什麼時候該派很多個?三種情況:任務量夠大,值得拆成很多份平行做;需要好幾種不同專長;或者成果很重要,你想要有人互相檢查。反過來,什麼時候別用?小任務一個就綽綽有餘,派很多個只是浪費;還有步驟環環相扣、根本拆不開的任務,平行沒有意義,反而會亂。別為了「用」而用。
最後講代價,這部分很多人會忽略。第一是成本:一次派一百個,用量就是放大一百倍,威力很大,帳單也很大,所以要主動控管。第二是你更難盯:同時好幾個在跑,你沒辦法每一個都看住。而這會放大一件事 —— 如果你的目標和驗收標準本來就講得不夠清楚,派一個只是做歪一次,派一百個就是同時做歪一百次。還有第三個,是最不直覺、但最該記住的:**錯誤會被串起來放大。**假設每一個 Agent 都有九成準,聽起來很高吧?但如果 A 做完交給 B、B 做完交給 C,一路串三手,最後的正確率是九成乘九成再乘九成,大概只剩**七成三**。每一棒都很優秀,接力完卻掉了快三成,而且中間沒有人覺得自己出錯。所以串越多手,你越要在中間插檢查點,不要一路串到底才在最後看結果。
如果今天你只帶走一句話:複雜任務靠的是規劃加驗證,不是更聰明的一次回答;而多 Agent,是把一個助理變成一個團隊。團隊會讓你快很多,但團隊要管理、要算成本,而且你的話講得越不清楚,派得越多,錯得越整齊。所以下次你想一次派很多個之前,先把驗收標準寫下來。