iT邦幫忙

2026 iThome 鐵人賽

DAY 27
0
Modern Web

Vue 演進驗證 × AI Coding 時代的工程實踐系列 第 27 篇

Day 27:AI 為什麼一直產生重複 UI? 因為 AI 不知道系統邊界!

  • 分享至 

  • xImage
  •  
AI 能 reuse,但前提是它知道系統裡有哪些 Boundary

前面的 Validation Lab,我們一直在追 成本到底在哪一層產生?

幾個 Scenario 分別碰到不同 Boundary:

  • Reactive Chain → State / Dependency Boundary
  • Component Storm → Component Boundary
  • VDOM Stress → Rendering Boundary
  • Composable Explosion → Logic / Reactive Boundary

到了 AI Coding,問題開始往上一層,如果 Component、Composable 甚至整個 UI 都由 AI 協助產生,誰決定新的 Boundary 要不要存在?

每一次 Prompt,AI 都能完成


假設我們連續提出三個需求:

做一個 Dialog
        ↓
UserDialog.vue

做一個刪除確認 Dialog
        ↓
DeleteDialog.vue

做一個儲存成功提示
        ↓
SaveDialog.vue

每一次生成結果都可以正常運作,但從整個專案來看,可能已經出現很多 Component。

Dialog
├─ UserDialog
├─ DeleteDialog
├─ SaveDialog
├─ WarningDialog
└─ ConfirmDialog

這些 Component 可能只有:

  • 標題不同
  • Content 不同
  • Button 不同
  • Icon 或狀態不同

底層 UI Pattern 卻高度相似,單看一次生成,很難發現問題;累積幾十次 Prompt 後,重複結構就會變成維護成本。

AI 解決的是 Local Task


這裡可以把 AI Coding 拆成 Prompt scope 和 System scope,兩個 Scope:

Prompt scope 和 System scope 的差異

但另一個問題是:

這個 Component 是否已經存在?
這個 UI Pattern 是否應該 reuse?
這個需求是否真的需要新的 Boundary?

這些答案通常不會出現在單一 Prompt 裡,因此,AI 即使每一次都完成任務,整個專案仍然可能持續增加重複結構。

真正缺少的是 Boundary


回頭看前面的實驗,其實都在處理類似問題:

責任
  ↓
Boundary
  ↓
成本

Component 決定 Render Responsibility。

Composable 決定 Logic / Reactive Responsibility。

而 Design System 開始處理另一個層次:

UI Pattern
     ↓
Design System Boundary
     ↓
哪些可以直接 Reuse?
哪些需要建立新的 Pattern?

這也是 AI Coding 很容易缺少的一層 Context。

Design System 不只是 Component 清單


如果 Design System 只有:

Button
Input
Dialog
Toast
Dropdown

AI 知道有哪些 Component,卻不知道 什麼情況應該使用它們,為了提升有效的規範需要描述:

AI Boundary Decision

因此 Design System 對 AI 的價值,除了提供 Component API,還需要提供 Boundary Rules,例如:

Dialog
- 優先使用 BaseDialog
- 僅內容不同:使用 slot / props
- 僅操作不同:使用既有 action API
- 不因單一頁面需求建立 XxxDialog
- 新增 UI Pattern 前,必須說明既有 Pattern 為何不足

這類規則才會真正影響 AI 下一次生成的結果。

AI Coding 開始需要工程規範


到這裡,問題已經從 AI 會不會寫 Component,變成:

AI 什麼時候可以建立新的 Component?
AI 什麼時候應該 Reuse?
AI 如何知道既有 Boundary?

這三個問題,單靠 Prompt 裡的一句「請遵循 Design System」解決不了,需要把專案中的 Boundary 變成 AI 可以讀取、判斷、驗證的工程規則。

小結


今天可以先收斂成三件事:

  1. AI 很容易完成 Local Task,但 Local Correctness 不代表 Architecture 一致。
  2. Design System 的價值不只在 Component Catalog,也在於定義 Reuse 與新增 Boundary 的規則。
  3. AI Coding 真正需要補上的,是讓 AI 看得懂專案 Boundary 的工程規範。

接下來的問題就很具體:

我們要怎麼把 Component、Composable、Design System 的 Boundary 寫成 AI 可以執行的規則?

這就是明天要處理的問題。


上一篇
Day 26:AI 避免過度抽象:Composable 不是越拆越好
下一篇
Day 28:怎麼讓 AI 遵守 Vue Architecture?
系列文
Vue 演進驗證 × AI Coding 時代的工程實踐 共 30 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言