領域專業知識:代理型 AI 時代最後剩下的護城河

寫軟體的困難之處從來不在於寫作本身。幾十年來,軟體工程的主要挑戰並非語言的語法或框架的架構,而是對所要解決的領域建立嚴謹的心理模型。無論是需要深入理解稅務扣押的薪資系統,還是需要掌握 GTFS feeds 的交通應用程式,程式碼僅僅是對該理解的轉錄。

代理型 AI 從根本上切斷了這種聯繫。我們進入了一個軟體可以被生產出來,而開發者甚至不需要建立完整的領域心理模型的時代。這種轉變打破了一個支撐整個軟體專業領域的核心假設:能夠產出可運行的程式碼是解決領域問題的前置條件。

從「你能否構建它」轉向「你能否驗證它」

在 AI 時代之前,束縛性的限制是執行能力。如果一位領域專家——例如物流調度員或精算師——對某種工具有了絕妙的想法,他們會被學習程式碼的技術障礙所阻礙。相反,一位通才型工程師可以透過花費數月或數年跟隨專家觀察並閱讀規範,來建立領域的心理模型,從而彌補這一差距。

代理型工具縮減了技術路徑,但並未縮減領域路徑。將領域模型轉化為可運行的程式碼的能力現在已成為一種廉價的商品。然而,知道什麼是「正確」的——即地面真理(ground truth)——的能力仍然稀缺。

請考慮這種新格局下的兩種角色:

  1. 領域專家: 一位對其領域的輸入與輸出瞭若指掌,但看不懂 stack trace 的專業人士。有了 AI agent,他們突然獲得了賦能。他們可以立即發現違反勞工法的排程錯誤,或是不可能支付的帳單規則,因為他們在這些限制中生活了十年。agent 提供轉錄;專家則提供確保正確性的「先知(oracle)」功能。
  2. 通才型工程師: 一位技術高超的架構師,可以確保系統可靠且具備擴展性,但缺乏特定的領域知識。雖然他們可以使用 AI 來生成可以編譯並通過基本測試的程式碼,但他們無法驗證輸出在現實世界中是否「正確」。他們可以驗證軟體是否建構良好,但無法驗證它是否準確地解決了問題。

新型進階使用者:雙層驗證者

在這種環境下,最寶貴的專業人士是能夠在兩個層面進行驗證的人:技術層面與領域層面。這個人知道生成的程式碼是穩健的,且它產出的出的結果是真實的。他們可以因為了解規則,而編寫編碼特定法規規則的測試,並且因為理解技術實作,而能確認測試本身是否有意義。

對於工程師而言,戰略性的投注不再是加倍投入機械式的編碼技能。相反,目標是獲取一個真實世界產業、法規制度或物理過程的深度且經過驗證的模型。學習一個領域現在與曾經學習新程式語言一樣關鍵。

反對觀點與技術現實

雖然為領域專家提供「vibe coding」的承諾很誘人,但從業者社群強調了幾個關鍵風險。許多人認為,雖然領域專家可以驗證「輸出」,但他們無法驗證「系統」。

"AI 正在使領域專家能夠在不理解系統應如何組裝的情況下,啟動自己的軟體系統……這些東西大多會同時成為任務關鍵型且損壞的。"

還存在 AI 「奉承(sycophancy)」的風險,即 agent 會直接迎合領域專家的假設,而不是挑戰它們或指出矛盾的要求。領域專家可能可以判斷結果是否錯誤,但他們可能沒有知識來確保系統不會成為一堆技術債的脆弱混亂狀態。

此外,有人認為軟體工程本身就是領域專業知識的一部分。一位優秀的通才工程師並非為了逃避 AI 而跳向隨機的產業,而是正在精通軟體架構與可靠性——這是一項即使在程式碼被生成的時代,依然至關重要的技能組。

結論

隨著產出程式碼的成本趨近於零,那個「先知(oracle)」——即知道真相的人——的價值便會增加。護城河不再是構建的能力,而是判斷的能力。對於那些能夠將資深專業人士的隱性知識與工程師的技術判斷力結合起來的人,建立高影響力且正確的軟體之機會從未有大於以往。

Sources