Architecture Contracts:讓 AI 在架構規則內寫程式

更新 發佈閱讀 7 分鐘

AI Coding 的下一步:把架構變成 Machine-Readable Rules

在上一篇文章〈AI 寫程式三個月後,它開始忘記你的架構了〉裡,我提到一個很多工程師正在遇到的問題:

在長期專案中,AI 很容易逐漸偏離原本的架構設計。

它可能在 Repository 層加入 HTTP request,

或在 Application Layer 直接呼叫 OS API。

這些修改通常不會立刻造成 bug,但會慢慢侵蝕系統架構。

問題是:

AI 為什麼會違反架構規則?


架構規則其實一直存在

在大多數成熟的專案裡,其實都有一套隱形的架構規則。

例如:

  • 哪些 module 可以依賴哪些 module
  • 哪些 layer 可以呼叫哪些 API
  • 哪些地方不能做 network I/O
  • 哪些函式不能在 interrupt context 執行

這些規則可能存在於:

  • ARCHITECTURE.md
  • 設計文件
  • code review guideline
  • 或資深工程師的經驗

對人類工程師來說,這些規則通常是默契。

但對 AI 來說,情況完全不同。


AI 看不到你的架構規則

AI 在生成程式碼時,主要依賴的是:

  • 當前檔案
  • 附近的程式碼
  • 最近幾輪對話

而不是整個專案的設計文件。

換句話說,AI 的決策邏輯通常是:

Does the code compile?
Does it solve the task?

而不是:

Does this violate architecture?

因此當 AI 在修改某個檔案時,很容易做出「局部正確、整體錯誤」的修改。


一個跨平台專案的典型例子

很多跨平台專案會有這樣的結構:

Application Layer

Platform Abstraction Layer

Windows / macOS / Linux implementation

Application Layer 理論上不應該直接呼叫作業系統 API。

但 AI 為了快速完成任務,很可能寫出類似這樣的程式碼:

#ifdef_WIN32
CreateFile(...)
#endif

功能完成了。

abstraction boundary 被破壞了

這種情況在長期專案裡非常常見。


如果架構規則只是文件,AI 就看不到它

很多團隊會在 README 或設計文件中寫下架構規則。

但問題是:

文件本身不是可執行的。

它只能靠人類在 code review 時手動檢查。

在 AI coding 的時代,這種模式開始出現一個新的問題:

AI 生成 code 的速度遠超人類審查的速度。

如果架構規則只存在於文件裡,那麼違反規則的程式碼就很容易混入系統。

這也是為什麼很多專案在使用 AI 一段時間後,會出現一種感覺:

系統沒有明顯 bug,但架構開始變得混亂。


一個可能的方向:Architecture Contracts

如果問題是:

AI 看不到架構規則

那麼一個自然的想法是:

把架構規則變成 machine-readable。

也就是所謂的 Architecture Contracts

簡單來說,就是把架構設計中的重要約束轉成可以被工具檢查的規則。

例如:

Layer Dependency Rule

Application layer cannot depend on Infrastructure layer

Module Boundary Rule

Repository layer cannot perform network I/O

Driver IRQL Rule

DISPATCH_LEVEL functions cannot call pageable code

Firmware ISR Rule

ISR cannot perform blocking operations

當這些規則變成 machine-readable contracts 時,

AI 在修改程式碼時,就不只是依賴 prompt 或文件。

而是會受到一層 架構治理(architecture governance) 的約束。


這不是限制 AI,而是保護系統

很多人第一次聽到這個概念時會覺得:

這是不是在限制 AI?

但從另一個角度看,Architecture Contracts 的目的其實是:

保護系統架構。

AI 仍然可以:

  • 重構程式碼
  • 新增功能
  • 改善實作

但它不能隨意跨越系統邊界。

就像人類工程師也需要遵守架構設計一樣。


為什麼低階系統更需要這件事

在 Web 或 SaaS 專案裡,架構違規通常只是技術債。

但在 Firmware 或 Driver 這類系統裡,情況完全不同。

例如:

  • ISR 裡做 blocking operation
  • 在錯誤 IRQL 呼叫 API
  • Driver 呼叫 pageable memory

這些錯誤往往不是 code smell,而是 production crash

當 AI 開始參與這些系統開發時,

架構規則就不只是設計建議,而是 安全邊界


下一步:讓契約真正運作

Architecture Contracts 本身只是概念。

真正的問題是:

如何讓這些規則在開發流程中真正生效?

在接下來的文章裡,我會介紹我正在做的一個實驗:

AI Governance Framework

它嘗試把 Architecture Contracts 變成一層可執行的開發治理系統。

讓 AI 在寫程式時,不只是依賴 prompt,

而是受到可驗證的架構約束。


小結

AI coding 的下一個問題,也許不是 prompt engineering。

而是:

architecture governance。

如果架構規則只存在於文件裡,

AI 遲早會慢慢侵蝕系統設計。

但如果這些規則能變成 machine-readable contracts,

那麼 AI 就可以在既定邊界內發揮能力,

而不是無意間重寫整個系統架構。


如果你也在做長期 AI 協作開發的專案,我其實很好奇一件事:

你的專案裡,最常被破壞的架構規則是什麼?

  • layer boundary
  • module dependency
  • concurrency rule
  • platform abstraction

歡迎分享你的經驗。

留言
avatar-img
Gavin Wu的沙龍
11會員
35內容數
資深工程師 / 奶爸 / INTJ 習慣用系統化思維,分析生活中的一切。這裡不提供標準答案,只分享一個工程師如何 Debug 自己的倦怠、焦慮與家庭戰場。
Gavin Wu的沙龍的其他內容
2026/03/12
最近一年,AI coding 工具的進步速度非常快。 從 GitHub Copilot、Cursor,到各種 AI coding agent,現在很多工程師的工作流程都已經變成: 用 AI 產生程式 自己 review 再修改 對很多軟體工程師來說,這其實是一個很大的生產力提升。 但在實
2026/03/12
最近一年,AI coding 工具的進步速度非常快。 從 GitHub Copilot、Cursor,到各種 AI coding agent,現在很多工程師的工作流程都已經變成: 用 AI 產生程式 自己 review 再修改 對很多軟體工程師來說,這其實是一個很大的生產力提升。 但在實
2026/03/09
AI Coding 的下一個問題不是 Prompt,而是 Context Governance AI 寫程式已經不再是問題。 現在的 AI(Claude、Cursor、Copilot)可以在幾秒內生成完整功能,甚至幫你重構整個模組。 但當一個專案持續兩個月、三個月之後,一個新的問題開始出現:
2026/03/09
AI Coding 的下一個問題不是 Prompt,而是 Context Governance AI 寫程式已經不再是問題。 現在的 AI(Claude、Cursor、Copilot)可以在幾秒內生成完整功能,甚至幫你重構整個模組。 但當一個專案持續兩個月、三個月之後,一個新的問題開始出現:
2026/03/02
我曾經看不起那些需要靠藥物控制食慾的人。 我以為那只是意志力不夠。 這 42 年來,我靠紀律減掉 15 公斤,靠硬核邏輯在科技業站穩腳步,靠精算的星星制度管理家庭。我引以為傲的「自律」,是我人生的最高管理權限(Admin Rights)。 直到兩週前,我往肚子上扎了第一針猛健樂(Mounjar
2026/03/02
我曾經看不起那些需要靠藥物控制食慾的人。 我以為那只是意志力不夠。 這 42 年來,我靠紀律減掉 15 公斤,靠硬核邏輯在科技業站穩腳步,靠精算的星星制度管理家庭。我引以為傲的「自律」,是我人生的最高管理權限(Admin Rights)。 直到兩週前,我往肚子上扎了第一針猛健樂(Mounjar
看更多
你可能也想看
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
Architecture Render AI supports villa visualization by enhancing design iteration, and storytelling through AI-driven rendering workflows.
Thumbnail
Architecture Render AI supports villa visualization by enhancing design iteration, and storytelling through AI-driven rendering workflows.
Thumbnail
This blog shows the meaning, elements and principles of IA, before diving into the steps for conducting an Information Architecture Audit.
Thumbnail
This blog shows the meaning, elements and principles of IA, before diving into the steps for conducting an Information Architecture Audit.
Thumbnail
這本書如果是剛看完《Clean Architecture》這本書,想要直接看答案怎麼實作,是可以當作一個起始點,但我會比較建議,自己循著書中前幾個章節提到的 principles,思考看看怎麼設計出一個符合大多數 principles 的方案,這會比較有趣。
Thumbnail
這本書如果是剛看完《Clean Architecture》這本書,想要直接看答案怎麼實作,是可以當作一個起始點,但我會比較建議,自己循著書中前幾個章節提到的 principles,思考看看怎麼設計出一個符合大多數 principles 的方案,這會比較有趣。
Thumbnail
GCP Architecture 證照的考試訣竅眉角 ─=≡Σ((( つ•̀ω•́)つ
Thumbnail
GCP Architecture 證照的考試訣竅眉角 ─=≡Σ((( つ•̀ω•́)つ
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News