newsence

什麼是代理式工程?

Hacker News·21 天前

代理式工程是指利用能夠同時編寫與執行程式碼的編碼代理來開發軟體的實踐,透過循環執行直到達成目標。這種方式讓人類的角色從單純寫程式轉向定義問題、管理工具以及驗證結果,從而處理更具影響力的問題。

背景

科技部落客 Simon Willison 近期提出「代理式工程」(Agentic Engineering)一詞,用以描述開發者利用具備執行能力的 AI 代理(Coding Agents)來輔助軟體開發的實踐過程。這類代理如 Claude Code 或 Gemini CLI,不僅能生成程式碼,還能進入「目標-執行-驗證」的循環中自主運作,引發了 Hacker News 社群對於軟體工程本質與術語定義的熱烈討論。

社群觀點

社群對於「代理式工程」這一新術語的反應呈現兩極化。支持者認為,這個詞精確捕捉了當前開發模式的轉變,將其與過去單純的「提示工程」(Prompt Engineering)區隔開來。過去開發者需要手動複製貼上程式碼,而現在代理能直接在程式庫中運作並執行測試,這種「閉環」的特性讓開發效率產生質變。部分留言指出,這有助於將專業工程師與僅靠直覺開發的「感覺編碼」(Vibe Coding)區分開來,強調了工程實踐中紀律與驗證的重要性。

然而,質疑聲浪也不在少數。反對者認為這只是舊瓶裝新酒,本質上仍屬於軟體工程的範疇,只是自動化程度提高。有人批評這類術語是為了獲取風險投資或社群關注而創造的行銷詞彙,並指出「代理」的概念早在 1970 年代就已存在,現在只是因為大型語言模型的推理能力提升,才讓舊有的架構變得實用。此外,也有人擔心過度依賴代理會導致安全性風險,特別是在黑帽駭客可能更擅長利用這些工具的競爭下,軟體品質的責任歸屬將變得模糊。

在實務應用層面,社群達成了一種共識:代理最擅長處理邊界明確、驗證成本低的任務,如撰寫樣板程式碼或單元測試。但在處理複雜架構或需要發現潛在需求的問題時,人類的判斷力仍不可或缺。有開發者分享,代理徹底改變了原型開發的流程,讓他們能像機械工程進行「破壞性驗證」一樣,快速生成並捨棄多個原型,從而更精準地收斂設計方案。這種從「編碼者」轉向「決策者」與「問責者」的角色轉變,被視為代理式工程最核心的特徵。

延伸閱讀

  • Modern Software Engineering:由 David Farley 撰寫,留言中引用其對軟體工程科學方法的定義。
  • Unix Power Tools:留言者提到代理工具的組合邏輯與 Unix 哲學中小型工具組合的相似性。
  • Agentic Engineering Patterns:Simon Willison 持續更新的線上指南,收錄更多關於此技術的實踐模式。
  • GLM-5 發表公告:智譜 AI(Zhipu AI)在公告中提及此術語,顯示該詞彙已在國際 AI 實驗室間流傳。
https://simonwillison.net/guides/agentic-engineering-patterns/what-is-agentic-engineering/