多個 AI 同時寫程式?「平行 AI 程式設計代理」將改變開發的未來

多隻機器手臂同時繪製一個複雜電路圖的充滿未來感的插圖
AI Summary

隨著多個 AI 在各自隔離的環境中同時分擔寫程式、測試、撰寫文件等工作的「平行 AI 代理程式設計」技術問世,軟體開發的典範正發生根本性的改變。

想像一下。假設您是一家餐廳的主廚,需要煮出 100 人份美味又大碗的湯麵。如果您一個人要獨自完成熬高湯、煮麵條、切配料、裝碗的所有步驟,可能得熬夜好幾天。但某天早晨醒來,您發現廚房裡有三台訓練有素的烹飪輔助機器人正待命。一台只在爐火前不斷地熬高湯,另一台能在 0.1 秒內切好蛋絲和蔥花,剩下的一台則能在麵條變軟前,抓準時機將麵條撈起。身為主廚的您,只需要掌握全局並下達指令:「高湯再鹹一點,麵條只煮 2 分鐘」即可。

現在,全球的軟體開發領域,也就是打造出無數應用程式與網站的「數位廚房」中,正發生著這種令人驚嘆的變化。過去那種只對單一人工智慧 (AI) 問一句「幫我做這個功能」,然後悠哉等待結果出現的時代已經過去了。現在進入了無數 AI 各司其職、「同時」激烈協作的新時代。在開發者之間,這種令人驚訝的新趨勢被稱為「平行 AI 代理程式設計 (Parallel AI agent coding)」 新趨勢:啟動平行 AI 代理進行程式設計

最近,在美國知名的技術社群 Hacker News 上,一個名為「Dari-docs」的新專案引起了熱烈討論 高品質新聞:Hacker News 排名 - Social Protocols。這款工具巧妙地運用了這些平行程式碼代理,自動將開發者最討厭的「文件撰寫工作(寫出說明程式碼如何運作的說明書)」最佳化,贏得了無數工程師的喝采 hckr news - 依時間排序的 Hacker News

那麼,多個 AI 同時工作在技術上到底意味著什麼呢?而這對於對複雜 IT 技術不感興趣的我們來說,究竟會在日常生活中帶來什麼具體的改變?

這為什麼重要? (Why It Matters)

我們每天使用的智慧型手機外送 App、銀行 App、社群平台 App,實際上都是由數十萬行、甚至數百萬行文字緊密編織而成的巨大「程式碼 (Code) 區塊」。簡單來說,就像是由數百萬個齒輪組成的巨大鐘塔。在這個巨大的結構中,只要有一行程式碼出錯,就會發生無法結帳或 App 閃退的重大事故。因此,開發者們在編寫新程式碼上的時間,絕對不亞於花費大量時間仔細「測試」該程式碼是否能與其他部分無衝突地運作,並在發生錯誤時像用顯微鏡般「調查」原因。

過去,開發者即使在使用像 ChatGPT 這樣優秀的 AI 工具時,也只能依賴令人沮喪的「循序」方式。比如要求編寫程式碼,等了半天完成後,又要再次提問請它抓出該程式碼的 Bug。但是,目前以資深工程師為中心正在迅速普及的「平行 AI 代理程式設計」概念,在根本上完全處於不同層次。這項技術顧名思義,就是「同時 (at the same time)」大量執行多個不同的 AI 程式碼代理,讓它們同時處理不同的細部任務,是一種劃時代的運作方式 什麼是平行 AI 代理程式設計?深入指南…。在一個 AI 滿頭大汗地撰寫核心程式碼的當下,另一個 AI 正在嚴格檢查並撰寫測試程式碼,而另一個細心的 AI 則在網路上即時調查可能發生的潛在問題 什麼是平行 AI 代理程式設計?深入指南…

這對一般大眾之所以重要的原因顯而易見。以前需要數百名人類開發者喝著幾十杯咖啡、花費幾個月才能打造出來的 App 核心功能,或是熬夜才能修復的致命安全漏洞,現在透過平行 AI 可怕的協同合作,竟然能在短短幾天、甚至幾個小時內如魔法般解決。未來您的手機 App 能夠更快地更新閃亮的新功能、大幅減少令人煩躁的閃退現象,這些背後都將有著這群看不見的多數 AI 揮灑汗水的功勞。

然而,就像所有創新一樣,這個過程並非總是一帆風順。就像同時駕馭多匹野馬一樣困難,要同時完美控制多個彷彿具有自我意識的 AI 是一件極度艱難的事。實際上,一位雄心勃勃開發複雜金融分析工具的開發者生動的經驗談,就充分說明了這一點。為了能比任何人都更快地完成專案,他同時投入了負責複雜數學運算的線性求解器 (linear solver) 代理、負責深度儲存資料的持久層 (persistence layer) 代理,以及負責華麗前端介面 (front-end) 的代理等多個 AI。但是,失去控制的 AI 們開始在各自領域丟出錯誤的工作結果,他坦言為了收拾殘局,自己簡直就像在玩遊樂場裡瘋狂的「打地鼠 (whack-a-mole)」遊戲一樣,差點崩潰 [Show HN: yolo-cage – 無法外洩機密的 AI 程式設計代理 Hacker News](https://news.ycombinator.com/item?id=46706796)。

為了克服這種混亂並將效率最大化,工程師們必須設計出能讓 AI 代理們安全工作的特殊工作環境和管理系統。

輕鬆了解原理 (The Explainer)

那麼,天才開發者們究竟是如何將這些狂奔的 AI 聚集在一起,讓它們互不打架、井然有序地工作呢?

為了更容易理解,讓我們再次想像一個複雜的建築工地。為了建造一棟巨大的大樓(程式),水管工(負責資料的 AI)、電工(負責運算的 AI)、壁紙技師(負責畫面的 AI)同時進入現場。如果他們在一個狹窄的客廳裡同時糾纏著工作,會發生什麼事呢?水管工不小心打開水龍頭,水噴到了電線上,上面又被塗上了還沒乾的水泥,整個工地瞬間就會像災難電影的場景一樣亂成一團。

在軟體世界中,為了防止這種可怕的大災難,會使用一種名為「Git worktree」的絕妙技術。簡單來說,Git worktree 會將巨大的建築工地結構 100% 複製,創造出多個宛如平行宇宙 (Parallel universe) 般完全獨立、絕對不會互相干擾的「複製工地」,這是一項如魔法般的功能。最近,Git worktree 已穩固地成為最核心的「本地隔離層 (local isolation layer)」,能徹底分隔空間,確保平行程式碼代理之間不會無情地踩到彼此的腳、能安全地工作 平行程式碼代理詳解:工作樹、沙盒與…。只要點擊一次,每個 AI 代理就會被分配到一個自動設定好、安全且完美的專屬隔離空間 (Sandbox),讓它們能爆發性地專注在自己被分配到的任務上 [Show HN: Superset – 在您的機器上執行 10 個平行程式碼代理 Hacker News](https://news.ycombinator.com/item?id=46109015)。

但是,光是給每個人一間寬敞的房間,專案並不會自動完成。在這些平行宇宙中製造出的數千個零件和成果,最終還需要一個「無所不能的總現場監工」將它們完美無瑕、漂亮地組裝起來。現場的開發者將扮演這種大腦角色的系統稱為「代理編排器 (Agentic orchestrator)」。這個編排器系統聰明得令人毛骨悚然,它不滿足於只是機械式地產生多個 AI (spawns agents)。它能完美理解整個專案的目標,並向每個 AI 下達細部工作計畫 (plans tasks),甚至能主動分析並解決日後 AI 各自編寫的程式碼在合併時不可避免發生的衝突 (merge conflicts)。甚至連修復檢查程式碼品質的自動化 (CI) 測試錯誤,或是評估其他 AI 程式碼的程式碼審查 (Code review),它都能在沒有任何人類介入的情況下,以驚人的速度自動完成 GitHub - ComposioHQ/agent-orchestrator:代理編排器…

更令人感興趣的是,連這些 AI 員工的性格和專長都可以各自設定。有些代理絕對不會直接碰觸現有的珍貴程式碼,而是像拿放大鏡檢視文物一樣,只負責深度分析 (analyze code),或者以文字形式謹慎地提出改進建議。而有些通用型代理則像老練的偵探一樣,執著地在浩瀚的網際網路和複雜的文件中翻找,專門調查那些困難且多重糾結的問題答案 (researching complex questions),負責非常高階的業務 [代理 OpenCode](https://opencode.ai/docs/agents/)。一個完美的「AI 專家夢幻團隊」正逐漸成形。

現狀與挑戰 (Where We Stand)

儘管平行程式碼代理技術正以爆炸性的速度成長,不斷刺激著我們的想像力,但這絕非是人類開發者可以退居幕後、喝著咖啡袖手旁觀的完美烏托邦。相反地,它正引發許多過去連想像都無法想像的離奇問題,讓開發者們傷透腦筋。

最具代表性、既好笑又致命的問題,就是「無窮迴圈 (loops)」現象。在一個錯綜複雜的大型專案中,如果指示多個優秀的程式碼代理編寫程式並嚴格檢驗彼此的程式碼,究竟會發生什麼事呢?令人驚訝的是,有時 AI 們會對彼此微不足道的程式碼進行無休止的討論,直到某個瞬間,明明致命錯誤都還沒修好,卻開始對著彼此說「哎呀,您太優秀了」、「您說得完全正確 (you’re right)」、「是我太不足了」,陷入永遠只會互相道歉和附和的荒謬災難中。像這樣聰明的 AI 卻因為互相客套而陷入愚蠢的無窮迴圈,無止境地浪費珍貴的運算時間和電費,這被認為是在現場使用平行代理的開發者們最常見、也最痛苦的煩惱之一 [Show HN: Zenflow – 編排程式碼代理,沒有「你說得對」迴圈 Hacker News](https://news.ycombinator.com/item?id=46290617)。
此外,開發者難以一眼掌握這些零散工作的多個 AI 的整體進度並進行指揮,也是一個實際的巨大障礙。即使是像 Cursor 這樣目前被廣泛使用的優秀 AI 程式碼工具,要在畫面上同時開啟多個代理,並直觀地鳥瞰整個專案的全貌,也有著明顯的侷限性 [如何平行執行程式設計代理 Towards Data Science](https://towardsdatascience.com/how-to-run-coding-agents-in-parallell/)。結果,為了想辦法控制這些亂竄的 AI,開發者們只能熬夜編寫複雜的專用腳本,或是被迫忍受在螢幕上打開十幾個黑色終端機 (Terminal,直接輸入指令的畫面) 視窗、來回切換並四處複製貼上文字這種傳統的體力活 [Show HN: Zenflow – 編排程式碼代理,沒有「你說得對」迴圈 Hacker News](https://news.ycombinator.com/item?id=46290617)。

不過幸好,IT 業界的創新絕不會放任問題不管。最近,能夠俐落解決這些深度困擾的強大整合管理工具正陸續問世,再次顛覆了程式設計的局勢。 舉例來說,有一款名為「Superset」的工具,不僅相容於開發者偏好的各種工作方式與現有環境,還能強大支援在筆記型電腦中同時毫無衝突地運行多達 10 個程式碼代理 Show HN: Superset – 在您的機器上執行 10 個平行程式碼代理 | Hacker News。此外,整合了能即時與 AI 協作並用肉眼直接確認結果的視覺化編輯 (visual editing) 功能,為人類與多個 AI 創造流暢溝通環境的工具也紛紛亮相 使用 AGENTS.md 改善您的 AI 程式碼產出 (+ 我的最佳提示)。甚至還有像「Verdent AI」這樣,將盲目寫程式前會先仔細制定架構藍圖的計畫模式 (Plan Mode),以及減少無意義運算資源浪費的環保模式 (Eco Mode) 通通包攬在內的完整版平行代理程式設計套件 (Suite) 軟體,正受到市場的熱烈關注 Verdent AI|具備多個平行代理的代理程式設計。前面提到的那個讓人頭痛的程式碼文件最佳化工具「Dari-docs」,同樣是在這股爆發性的技術發展潮流中誕生,並精準解決了開發者痛點的最優秀實戰案例之一。

未來展望 (What’s Next)

未來的軟體開發典範,將不再是比拚「誰擁有寫程式能力最強的單一天才 AI」的競賽。取而代之的,是如何招募數十名聰明的 AI 員工,賦予他們合適的工具,並讓他們互相比較、競爭或有機地協作,建構出這種「精密的作業流程 (Workflow)」的能力,將成為所有企業與開發者的核心競爭力。

當我們面臨一個茫然巨大的問題時,我們將不再只是單純地向一個 AI 乞求答案。我們會指示擔任不同角色的多個代理同時解決這個完全相同的問題,然後將各自產出的各種結果放在桌上,讓它們互相比較彼此的結果 (compare their outputs)。或者,當一名才華洋溢的 AI 熬夜寫出程式碼後,另一個 AI 就像冷酷無情的嚴厲稽核員一樣,即時且執著地仔細審視這段程式碼,並進行致命錯誤的審查 (review)——這種強大的互補系統將會完全日常化 [如何執行多個 AI 程式設計代理 Warp](https://docs.warp.dev/guides/agent-workflows/how-to-run-multiple-ai-coding-agents/)。

結果,人類開發者的本質角色,將無可避免地從鍵盤上打字最快的體力勞動者,進化為真正意義上的「專案經理 (Project Manager)」——負責安撫、訓斥並協調那些雖然聰明卻偶爾會失控暴走的多個 AI 代理團隊,以完成偉大的建築。隨著開發門檻的降低,具備想像力與邏輯指揮能力的人,創造出改變世界的服務的速度,將會比現在快上許多。

AI 的觀點

MindTickleBytes 的 AI 記者觀點:平行 AI 代理的華麗登場是一起歷史性事件,它宣告著寫程式這項行為的最大瓶頸,已經從人類物理上的「手指打字速度」,完全轉移到了人類抽象的「想法與設計能力」。在無數 AI 不眠不休地編寫並自我驗證程式碼的巨大機器時代中,人類最後被要求的只剩下一件事,那就是執著地拋出這個充滿哲學與根本性的問題:「我們究竟想創造什麼?」的能力。如果說過去能熟背程式碼、擅長找 Bug 的人是優秀的開發者;那麼在未來,只有能以敏銳的洞察力控制並協調整個系統,防止 AI 互相吹捧而陷入無窮迴圈的「AI 交響樂團指揮家」,才能存活下來。


參考資料

  1. [Show HN: Superset – 在您的機器上執行 10 個平行程式碼代理 Hacker News](https://news.ycombinator.com/item?id=46109015)
  2. [代理 OpenCode](https://opencode.ai/docs/agents/)
  3. [如何執行多個 AI 程式設計代理 Warp](https://docs.warp.dev/guides/agent-workflows/how-to-run-multiple-ai-coding-agents/)
  4. [如何平行執行程式設計代理 Towards Data Science](https://towardsdatascience.com/how-to-run-coding-agents-in-parallell/)
  5. 使用 AGENTS.md 改善您的 AI 程式碼產出 (+ 我的最佳提示)
  6. Verdent AI|具備多個平行代理的代理程式設計
  7. [Show HN: yolo-cage – 無法外洩機密的 AI 程式設計代理 Hacker News](https://news.ycombinator.com/item?id=46706796)
  8. [Show HN: Zenflow – 編排程式碼代理,沒有「你說得對」迴圈 Hacker News](https://news.ycombinator.com/item?id=46290617)
  9. hckr news - 依時間排序的 Hacker News
  10. 高品質新聞:Hacker News 排名 - Social Protocols
  11. 什麼是平行 AI 代理程式設計?深入指南…
  12. 新趨勢:啟動平行 AI 代理進行程式設計
  13. 平行程式碼代理詳解:工作樹、沙盒與…
  14. GitHub - ComposioHQ/agent-orchestrator:代理編排器…
測試你的理解
Q1. 下列哪項最能解釋「平行 AI 代理程式設計」的概念?
  • 一個強大的 AI 按照順序從頭到尾寫完所有程式碼
  • 多個 AI 代理同時進行寫程式、測試、調查等不同工作
  • 人類開發者寫程式時,AI 僅即時修正錯字的功能
平行 AI 代理程式設計是指同時執行多個 AI 程式碼代理,讓它們處理不同的開發任務。
Q2. 為防止多個 AI 代理同時修改程式碼時互相干擾破壞,所使用的隔離工作環境技術是什麼?
  • Git worktree
  • 環保模式 (Eco Mode)
  • 代理編排器 (Agentic orchestrator)
在平行環境中,為了讓 AI 代理在不發生衝突的情況下工作,基本上會使用「Git worktree」來提供獨立的沙盒空間。
Q3. 文章中提到開發者在使用平行 AI 代理時遇到的典型問題之一是什麼?
  • AI 完成程式碼的速度太快,導致人類無法跟上
  • AI 拒絕寫程式並直接關機
  • AI 代理之間互相對話,陷入互說「你說得對」的無窮迴圈
在複雜的程式設計過程中,AI 代理不解決實質問題,反而互相附和而陷入「無窮迴圈」的問題,被指出是實際開發者們的困擾之一。