軟體開發的速度已永遠改變。透過生成式AI,產品經理可以描述一個功能,並在幾秒內收到一個可運作的React元件。創業者可以在一個周末內搭建出整個MVP,而無需撰寫任何一行程式碼。
在這個嶄新的世界中,軟體工程的傳統產物正受到質疑。如果AI能產生程式碼、部署容器並撰寫測試,我們還需要架構圖嗎?
簡短的答案是是的。長遠的答案是,圖表的用途已根本性地轉變。它不再僅僅是建造的藍圖;它是一張治理的地圖、溝通的合約,並且越來越成為AI自身的提示。
1. 「自我文件化」系統的幻覺
現代開發中普遍存在一種迷思,認為「程式碼就是文件」。在AI輔助編碼的時代,這種迷思極具危險性。
AI模型擅長於局部優化。它們在解決提示中提出的立即問題(例如「建立登入API」)方面表現驚人。然而,它們缺乏全局脈絡。它們並非天生就了解你公司的資料保留政策、雲端成本上限、舊系統整合點,或五年內的可擴展性目標。
當AI構建原型時,它產生的是策略。架構圖代表的是戰略。沒有圖表,你只有一具運作中的引擎,卻沒有車架、方向盤,也沒有你正在駛向何方的地圖。
2. 還有誰需要這張圖?
如果程式碼是由AI生成的,還會有誰在看著那些方框與箭頭?令人驚訝的是,在AI驅動的工作流程中,利益相關者的名單不減反增。
A. 首席技術官與工程領導層(風險與成本)
AI能產生程式碼,但無法管理預算或技術負債。
-
成本治理:AI可能建議一種在100名使用者時成本低廉,但在10萬名使用者時會導致破產的無伺服器架構。架構圖能將成本模型與預期規模進行驗證。
-
自建與外購:領導層需要清楚地看到,自訂的AI生成程式碼如何融入SaaS工具與授權軟體的廣泛生態系統中。
-
退出策略:如果AI供應商調整定價或關閉服務,圖表能顯示耦合點的位置,以及移除它有多困難。
B. 開發運維與SRE團隊(可靠性與流程)
AI撰寫應用程式邏輯,但目前仍由人類負責系統的可用性。
-
資料流程:當系統在凌晨3點發生故障時,SRE不會閱讀程式碼,而是追蹤資料流程。一張圖表能顯示瓶頸所在位置、熔斷器的位置,以及故障如何傳播。
-
依賴管理:AI可能會引入一個循環依賴或單點故障,這在單一檔案中並不明顯,但在系統視圖中卻十分明顯。
C. 安全與合規官員(信任)
這是最重要的利益相關者群組。AI既是攻擊者也是防禦者的強大工具。
-
資料主權:一張圖表明確標示個人識別資訊(PII)的流向。AI可能會無意中將敏感資料記錄至第三方分析服務;架構圖定義了信任的邊界。
-
稽核追蹤:為了符合SOC2、HIPAA或GDPR的要求,你不能僅提交GitHub倉庫。你必須提交顯示加密點與存取控制的系統邊界圖。
D. 新進員工(入職訓練)
在以AI為主的環境中,程式碼變動率更高。功能被快速生成與迭代。
-
背景載入:新工程師可以詢問AI解釋某個函數,但無法詢問AI解釋為什麼系統會以這種方式設計。架構圖記錄了決策,而不僅僅是實作。
-
心智模型:它提供了團隊協作所需的共通語言。
E. AI本身(背景)
這是最新的一位利益相關者。AI需要架構圖才能更好地運作。
-
RAG(檢索增強生成):為了從大型語言模型獲得高品質程式碼,你必須提供上下文。將你的架構圖(或其文字表示)上傳至AI的上下文視窗,可防止它提出違反系統約束的解決方案。
-
提示工程:「撰寫一個微服務」是一個糟糕的提示。而「撰寫一個無狀態服務,使其符合我們附上的架構圖中的『驗證』節點,並使用Redis儲存會話」則是一個極佳的提示。
3. 演變:從靜態PNG圖像到活躍的地圖
支持架構圖的論點並非支持 過時的 圖表。一份2021年的靜態Visio檔案確實毫無用處。在人工智慧時代,圖表必須演進。
| 傳統圖表 | 人工智慧時代圖表 |
|---|---|
| 靜態: 僅繪製一次,從未更新。 | 動態: 自動產生或與程式碼同步。 |
| 對象: 僅限人類。 | 對象: 人類與機器(大型語言模型)。 |
| 重點: 實作細節。 | 重點: 資料流、邊界與限制。 |
| 建立: 手動勞作。 | 建立: 由人工智慧輔助起草。 |
圖表即程式碼
類似 Mermaid.js, Graphviz,或 Structurizr 允許以程式碼定義架構。這表示:
-
版本控制可追蹤架構的變更。
-
AI 可以閱讀文字定義來理解系統。
-
如果程式碼偏離了架構定義,CI/CD 管道可能會導致建構失敗。
「動態」文件
在未來,架構圖將不再是你要繪製的東西在你撰寫程式之前。它將是一個反映系統當前狀態的儀表板,隨著 AI 代理重構程式碼庫而自動更新。人類的角色從繪製者轉變為審查者.
4. 危險區域:高速下的技術債
AI 驅動開發的最大風險是技術債的加速.
如果你允許 AI 在沒有架構防護的情況下建立原型,就會產生「科學怪人系統」。每個組件都能獨立運作,但彼此無法順利整合。
-
協定不匹配:服務 A 使用 gRPC;服務 B 預期使用 REST。
-
資料不一致:服務 A 寫入 JSON;服務 B 預期接收 Protobuf。
-
安全漏洞:五個由 AI 生成的微服務中,驗證機制的實作方式各不相同。
架構圖扮演著系統的系統的模式。它確保即使系統的速度建構速度提升,系統的整合性仍能保持完整。
5. AI 與架構師合作的最佳實務
團隊如何在 AI 的速度與架構完整性之間取得平衡?
-
首先定義約束條件: 在要求 AI 寫程式碼之前,先定義架構邊界。(例如:「前端不得直接存取資料庫」、「所有紀錄必須輸出至 CloudWatch」)
-
使用 AI 產生圖示: 不要手動繪製。使用掃描程式碼庫並生成視覺地圖的工具。使用 AI 對地圖進行評估,以發現潛在瓶頸。
-
架構決策紀錄(ADRs): 保留文字紀錄,記錄 為什麼 做出這些決策的原因。AI 可以總結這些內容,但必須由人類撰寫決策的意圖。
-
「人機互動」審查: AI 可以提出一個組件,但必須由資深工程師確認其符合架構圖後,才能合併。
結論:指南針,而非磚塊
當 AI 建立原型時,它扮演的角色是 磚匠。它快速、不知疲倦且高效。
架構圖則是 城市規劃圖。它確保磚塊組成的是醫院而非監獄,道路彼此連接,且地基能支撐未來的重量。
我們仍然需要這張圖,因為 程式碼告訴你系統如何運作,但架構告訴你系統存在的理由。
在程式碼生成成本低廉的時代, 脈絡才是高價值的貨幣。 架構圖是承載此脈絡的容器。若無此圖,你並非在打造產品,而只是產生雜訊。
關鍵要點: AI 降低了 實作的成本,但卻提升了 意圖的價值。架構圖是意圖的主要產物。不要丟棄它;應該升級它。











