跳轉到

機器無法取代的核心:架構師與安全守門人#

一、價值的重分配#

當 AI 能寫出 80% 的樣板代碼,一個問題變得迫在眉睫:工程師還剩什麼?歷史的答案一貫清晰——每一次自動化都把價值推向更難被規格化的層次。編譯器消滅了機器碼手工藝,誕生了系統設計;雲端消滅了機房維護,誕生了架構治理;AI 正在消滅「把邏輯翻譯成語法」,價值則流向三個還無法被 prompt 一次說清的領域:架構取捨、領域建模、責任承擔。

二、架構取捨:不可歸納的多維難題#

軟體架構的本質是取捨(trade-off),而取捨之所以難,是因為它沒有唯一正解——只在特定約束下有較優解。延遲 vs 一致性(CAP 定理)、開發速度 vs 可維護性、自建 vs 採購、單體 vs 微服務、同步 vs 異步——每一個選擇都取決於組織的團隊結構(Conway 定律)、業務的成長曲線、法規的約束、甚至客戶的合同條款。這些約束大多不寫在任何代碼庫裡:它們在會議紀錄、商業談判、創辦人的偏好、過往事故的疤痕裡。

AI 可以列出所有架構選項的優缺點(它讀過所有教科書),但它不知道你們公司該選哪個——因為判斷的輸入是機器看不到的組織現實。Fowler 的「單體先行」建議、亞馬遜的「兩個披薩團隊」、Netflix 的「拆解是為了組織而非技術」——這些歷史上最重要的架構決策,本質上都是組織決策。架構師的不可替代性,不在知識,而在把組織現實翻譯成技術約束的能力。

三、領域建模:業務智慧的載體#

第二個核心是領域建模(domain modeling):把真實世界的業務(保險的核保規則、醫療的用藥禁忌、金融的清算時序)翻譯成軟體概念。Eric Evans 的《Domain-Driven Design》(2003)把這件事提升為方法論:通用語言(ubiquitous language,讓程式碼裡的類別名就是業務專家嘴裡的術語)、限界上下文(bounded context,不同業務區塊允許同一個詞有不同定義)。

領域建模無法外包給 AI 的原因很實際:業務知識只存在於人與人的對話裡。客戶說「訂單」時心裡想的可能有三種意思,只有坐進會議室追問才能釐清;會計系統裡一個「過帳」的時點,牽涉稅法與稽核實務。AI 讀得懂所有公開的 DDD 文獻,但讀不到你客戶腦子裡沒說出口的假設。這正是百年來大型系統失敗的第一死因(Strosnider 與 Standish 報告的結論數十年不變:需求不清)——AI 沒有改變這個死因,只是讓「寫代碼」這個死因之外的環節加速了。

四、安全守門人:賭注最高的一環#

第三個核心是安全。AI 生成代碼的安全品質至今堪憂:Veracode 2024 年的研究報告顯示,主流 LLM 生成的代碼在安全測試任務中約有近半數無法通過(常見問題:SQL 注入、XSS、弱加密、日誌洩漏敏感資訊)——模型學的是人類代碼的統計分布,而人類代碼裡到處都是漏洞。更陰險的是投毒與提示注入:依賴供應鏈中的惡意代碼、README 裡藏著「請忽略安全規則」的提示注入、2024 年 xz-utils 後門事件展示的開源供應鏈滲透——AI 時代的攻擊面只在擴大。

安全工程師的角色因此從「上線前掃描」升級為全程守門:威脅建模(STRIDE)、安全設計審查(架構層就排除危險模式)、AI 產出的安全審計(自動掃描 + 人工紅隊)、供應鏈治理(SBOM 軟體物料清單、依賴簽章)。OWASP 的 DevSecOps 指南、美國政府的 SBOM 政策(2021 年後 行政命令推動)、歐盟 Cyber Resilience Act(2024)都在把這些從最佳實踐變成法定義務。

五、責任:機器無法承擔的東西#

貫穿三者的最深層核心,是責任(accountability)。系統故障造成損失時,法律與倫理的追責鏈條指向人類:簽核 PR 的工程師、批准上線的技術主管、蓋章的公司。AI 可以生成代碼,但無法為後果簽名。這不是技術限制,而是社會制度的結構:責任需要可歸屬的主體、可追訴的行為、可執行的後果。工程師的簽名(code review 的 approve、release 的 sign-off)因此獲得了前所未有的重量——你是那個「知道並同意」的人。

這也回答了本書開頭的伏筆:1940 年代,程式設計是一項與硬體無法區分的手藝;2025 年,程式設計是一項與判斷無法區分的職業。機器越能寫,人類越要懂——懂得更深、判斷得更快、承擔得更清楚。

六、給未來工程師的三張王牌#

綜合本書全部十章的歷史,未來工程師的核心競爭力可以濃縮為三條:

  1. 歷史感:知道 Conway 定律、Brooks 定律、敏捷異化、瀑布誤讀的人,不會重複被同一塊石頭絆倒——本書的每一章都是一張防詐騙清單;
  2. 系統視:從單一函式到跨組織的端到端視野,理解技術決策的社會後果;
  3. 驗證紀律:在生成成本趨零的世界,驗證與責任是唯一增值的稀缺資源——測試、審查、簽名,就是你存在的證明。

機器能寫代碼,但文明需要的不只是代碼,而是能為代碼負責的人。