AI Engineer Europe 2026 · 演講 · 2026-06-03 · 17 分
生成式 UI 的三個層次
Beyond Components: Designing Generative UI for MCP Apps · Ruben Casas,Postman
Ruben Casas 把 agent 產生介面的做法分成靜態元件、宣告式、生成式三層,並主張 MCP apps 的沙箱是最後一層的合理載體。
概要
- 模型寫前端已經夠好Ruben 說 2025 年底是轉折點,GPT-5.2 與 Opus 4.5 不只能做長時間任務,也能產出高擬真度的 UI。自己只用一句 prompt 請模型重寫部落格,模型還多做了沒要求的搜尋框。
- 兩個要分開問的問題一個是 UI 跑在哪裡,是每個產品各放一個 chat,還是集中在 ChatGPT、Claude、Gemini 這類 super app;另一個是模型到底在生成什麼。Ruben 這場談的是後者。
- 三種生成方式靜態元件由 agent 只傳 props 與資料;宣告式由 agent 輸出 JSON、YAML 之類的描述檔去對應既有元件;生成式則讓模型在執行時直接寫 HTML、CSS、JavaScript。
- 宣告式的好處是可預期元件仍由開發者定義,設計系統不會跑掉,Ruben 認為這在現階段比較快,也可能比較省 token。
- 生成式需要沙箱不信任第三方程式碼,就不該信任模型產出後直接丟給使用者的程式碼。Ruben 認為 MCP apps 的 iframe 隔離與訊息傳遞,正好是這種 UI 的交付機制。
- 下一步是協作而非元件Ruben 拿電視早期照搬廣播節目的例子,說現在還在想像力不足的階段,並預期未來是人與 agent 在共用畫布上一起改。
原話
▶ 03:45“And we have a super intelligence, but we don't have a mature interface language.”
我們有了超級智慧,卻沒有成熟的介面語言
▶ 10:22“The question is why we don't let them just write that on demand at runtime”
問題是,為什麼不讓模型在執行時直接寫
▶ 12:50“So if Anthropic decided to use MCP apps for their first-party UI, you can ask yourselves, why cannot we do the same?”
Anthropic 既然選了 MCP apps 做自家 UI,我們也該問自己為什麼不能這樣做
▶ 13:55“The first TV shows were radio shows with cameras”
最早的電視節目就是加了攝影機的廣播節目,這個類比是聽來的
延伸
- Ruben 說 super app 與到處放 chat 兩條路可能都只是過渡,哪一種會留下來要看消費者。
- Ruben 認為 Anthropic 本來可以自己做一套渲染架構,最後選 MCP apps,是因為驗證、訊息傳遞與沙箱這些功能開箱就有。
章節
點時碼直接跳到原片的那一段。
- 開場與破題Ruben 說這場要談生成式 UI 接下來會走向哪裡。
- 從複製貼上到 vibe coding2022 年 11 月還要請 ChatGPT 寫元件再手動複製貼上,Ruben 稱之為窮人版的 vibe coding。
- 2025 年底的轉折GPT-5.2 與 Opus 4.5 上線後,高擬真 UI 生成變得又好又快。
- 重寫部落格的經驗單一 prompt 讓模型把部落格重寫,還自己加了有模糊動畫、符合無障礙的搜尋框,Ruben 承認模型的前端寫得比自己好。
- 鋼鐵人式介面在哪既然模型這麼會寫 UI,為什麼還看不到會浮現又消失的視窗,也就是大家一直在講的 Jarvis 時刻。
- 還沒有成熟的介面語言引 Karpathy 的說法,和這台新電腦互動就像對著終端機說話;GUI 還沒被發明,像是只有文字的 1970 年代,超級智慧有了,介面語言還沒成熟。
- chat 到處放,還是 super app一邊是每個 SaaS 都加 chat,一邊是用 MCP apps 在單一 agent 環境裡渲染第三方 UI,Ruben 自己不確定哪個會是最後的樣子。
- 兩個不同的問題把「UI 在哪裡跑」和「模型生成什麼」拆開,接著進入第二個問題。
- 靜態元件agent 當協調者,透過工具呼叫傳參數給開發者預先寫好的元件,舉了 AG-UI 與 Goose Auto Visualizer 為例。
- 宣告式 UIagent 改輸出 JSON、YAML 等描述檔對應既有元件,更動態也更個人化,舉了 Netflix 的伺服器驅動 UI 與 Vercel 的 JSON Render。
- 生成式元件讓模型在執行時直接寫 HTML、CSS、JavaScript,Ruben 在 Postman 做的天氣 agent 實驗一次工具呼叫就產出整個介面。
- 信任與沙箱不信任第三方程式碼,就不該直接信任模型生成的程式碼,所以需要隔離與容器。
- MCP apps 當交付機制MCP 的驗證、UI 與 agent 之間的訊息傳遞,加上預設的雙層 iframe 沙箱;Ruben 也提到 Anthropic 的 visualizer 選擇走 MCP apps。
- 還在廣播時代用早期電視只是加了攝影機的廣播節目,說明現在對新媒介的想像仍然不足。
- 人與 agent 共用畫布Ruben 推薦一個畫圖表的 MCP app,它會建立共享畫布,讓人與 agent 來回修改,並認為生成式 UI 會走向個人化與協作。
名詞
- MCP apps
- 讓 MCP 伺服器在 agent 環境裡渲染 UI 的做法,Ruben 視為第三方甚至第一方 UI 的交付機制
- Generative UI
- 由模型決定並產生介面,這場分成靜態、宣告式、生成式三個層次
- Declarative UI
- agent 輸出 JSON、YAML 或 Python 描述檔,由客戶端對應到預先定義的元件
- AG-UI
- 一套協定與 SDK,可註冊對應到 React 元件的工具,讓工具呼叫的 props 變成畫面
- Goose
- 一個 MCP client,Ruben 提到它的 Auto Visualizer 會把資料配對到預設元件
- JSON Render
- Vercel 做的工具,用 JSON 與 YAML 描述並對應元件
- Karpathy
- Ruben 引用 Karpathy 的說法,把和新電腦互動比作對著終端機說話







