Vercel vgpu 是什麼?Agent-first WebGPU 函式庫、功能與安裝教學

Vercel 開源 vgpu,讓 WebGPU Shader 能跨瀏覽器、Node.js 與 CI 執行,並提供 Coding Agent 需要的文件與工具。

Share
Vercel vgpu 官方主視覺以三稜鏡呈現 WebGPU 函式庫與 Agent 設計概念
vgpu 是 Vercel 開源的 WebGPU 函式庫,主打瀏覽器、Node.js 與 AI Coding Agent 工作流程。 圖片來源:Vercel Labs vgpu GitHub(https://github.com/vercel-labs/vgpu/blob/main/apps/docs/public/hero/og.webp),MIT License。

Vercel 在 2026 年 8 月 27 日宣布開源 vgpu。這套工具原本用來製作 vercel.com 上的 Shader,現在任何人都能從 GitHub 取得原始碼,或透過 npm 安裝使用。

先釐清最容易誤會的地方:vgpu 不是 Vercel 新推出的雲端 GPU 服務。 它是一套 TypeScript 函式庫,協助開發者使用 WebGPU 製作網站特效、3D 畫面與 GPU 運算,並讓同一套程式能在瀏覽器、沒有畫面的 Node.js,以及自動測試環境中執行。

它真正特別的地方,也不只是少寫幾行 GPU 程式碼。vgpu 把文件搜尋、範例下載、Shader 檢查與 MCP 介面一起做進工具鏈,讓 Codex、Claude Code 等 AI Coding Agent 更容易找到正確範例並驗證輸出。

我的判斷是中性偏多。如果團隊正要製作 WebGPU 特效、需要在伺服器產圖,或想把 Shader 納入自動測試,vgpu 值得用小型功能試驗。不過它仍是早期版本,也無法消除 WebGPU 的瀏覽器相容性與效能差異,一般網站沒有必要為了「Agent-first」標籤全面改寫前端。

0:00
/0:00

Vercel 官方影片展示 vgpu 網站、互動 Shader 範例、文件與 Agent 工具。 影片來源:Vercel 官方 X 公告

vgpu 是什麼?先理解 WebGPU 與 Shader

WebGPU 是讓網頁程式使用裝置圖形處理器的 Web API,也就是瀏覽器提供給程式呼叫 GPU 功能的介面。GPU 除了顯示 3D 遊戲,也適合大量平行處理像素、粒子、影像濾鏡與部分機器學習運算。

Shader 則是交給 GPU 執行的小型程式。它可以決定畫面上每個頂點的位置、每個像素的顏色,或執行不直接顯示畫面的平行計算。WebGPU 使用的 Shader 語言叫做 WGSL(WebGPU Shading Language)。

直接使用原生 WebGPU 時,開發者要處理裝置初始化、Canvas 設定、資源配置、Pipeline、Binding 與指令提交。這些步驟給了開發者很高的控制力,代價是初始程式碼多,資料結構也容易對不上。

vgpu 的角色,是在原生 WebGPU 上提供較小、較一致的 TypeScript API。它不把底層 GPU 完全藏起來,而是把常用流程整理成 initeffectdrawsurfacetargetframe 等函式。需要進階控制時,開發者仍能透過 vgpu/core 存取較低階能力。

這種定位很重要。vgpu 比直接寫原生 WebGPU 更容易開始,但它不是一個替你處理所有場景、模型、物理與燈光的完整遊戲引擎。

vgpu 解決了哪些開發問題?

1. 同一套 API 可以跨瀏覽器與 Node.js

瀏覽器裡的 Shader 通常畫到 <canvas>;伺服器與自動測試環境卻沒有一般網頁畫面。vgpu 讓兩邊使用相近的 API:瀏覽器輸出到 Canvas,Node.js 則透過 Dawn 把畫面算進離線 Target,再讀回像素或存成圖片。

Dawn 是 WebGPU 的原生實作。白話來說,它讓 Node.js 程式也能呼叫 WebGPU,而不必先開一個可見的瀏覽器視窗。

這對需要批次產圖、建立縮圖、驗證圖形結果或在 CI 截圖的團隊最有價值。CI(Continuous Integration)是每次程式變更後自動建置與測試的流程。當 Shader 能進入 CI,畫面錯誤就不必完全依賴工程師逐頁目測。

vgpu 官方 Depth Estimation 範例將原始室內影像轉換成灰階深度圖
vgpu 的 Depth Estimation 範例同時呈現原始影像與推論後的深度圖,說明 WebGPU 不只用於視覺特效,也能處理機器學習輸出。 圖片來源:Vercel Labs vgpu GitHub,MIT License。

2. .wgsl 可以像 TypeScript 模組一樣拆分

複雜 Shader 常會重複使用雜訊、顏色轉換、取樣與數學函式。原生 WGSL 沒有像 JavaScript 那樣直接提供一般模組系統,專案很容易把大量函式塞進同一個檔案,或靠自製字串拼接維護。

vgpu 允許 .wgsl 檔案使用 import 與 export,並在建置時解析相依關係。它也提供 @vgpu/wgsl-std 標準模組,包含色彩、Hash、Perlin Noise、Simplex Noise 等常用函式。

對團隊來說,這代表 Shader 比較能被拆成可重用的小單位。對 AI Coding Agent 來說,改動範圍也更清楚,不必每次重寫一大段混在一起的圖形程式。

vgpu 官方 WebGPU 黑洞 Shader 範例
vgpu 官方黑洞範例展示自訂 Shader 能製作的視覺效果。 圖片來源:Vercel Labs vgpu GitHub,MIT License。

3. 瀏覽器、真實 GPU 測試與 Mock 可以分開

vgpu 提供三種常見執行方式:

執行方式 用途 適合情境
vgpu 在瀏覽器以 WebGPU 畫到 Canvas 網站特效、互動視覺、3D 畫面
vgpu/node 在 Node.js 透過 Dawn 實際渲染 伺服器產圖、像素測試、離線工作
vgpu/mock 用純 JavaScript 模擬資源與指令 不需要真實 GPU 的快速單元測試

Mock 是用可預期的假實作取代真實裝置。它不能證明最終像素一定正確,但適合檢查程式有沒有建立錯誤資源、傳入錯誤資料或漏掉釋放流程。真正要驗證畫面時,再交給 vgpu/node 或瀏覽器測試。

這個分工比「所有測試都硬開 GPU」更實際。快速邏輯檢查用 Mock,像素與相容性才使用真實 WebGPU,能降低 CI 建置時間與環境維護成本。

4. 文件與範例直接做給 AI Coding Agent 使用

vgpu 把自己稱為 agent-first 函式庫,意思不是只有 AI 能使用,而是它把機器讀取與自動驗證放進第一層產品設計。

官方目前提供:

  • npx vgpu docs:從已安裝版本搜尋與閱讀對應文件。
  • npx vgpu examples:搜尋範例並把完整程式複製到專案。
  • npx vgpu check:檢查 WGSL Shader。
  • agents.mdllms.txt:讓 Agent 快速理解產品與文件結構。
  • 唯讀 MCP Server:讓支援 MCP 的 AI 工具搜尋文件與已驗證範例。

MCP(Model Context Protocol)是一套讓 AI 工具連接外部文件與功能的協定。vgpu 的公開 MCP 不需要登入,提供唯讀文件與範例查詢;若要讓 Agent 下載檔案到本機,則必須另外啟動本機 MCP,並指定允許寫入的資料夾。

這種設計比單純丟一份很長的 API 文件更適合 Agent。模型可以先搜尋任務需要的頁面,再取得與目前套件版本一致的程式碼,降低使用過期介面的機率。

vgpu 官方 Agent Radiance Cascades 光線傳播範例
Agent Radiance Cascades 範例呈現 Agent 依 vgpu 文件與工具製作的即時光線傳播效果。 圖片來源:Vercel Labs vgpu GitHub,MIT License。

vgpu 跟 Three.js 有什麼不同?

很多人看到 WebGPU 與 3D,第一個問題會是:已經有 Three.js,為什麼還需要 vgpu?

兩者處理的抽象層級不同。Three.js 提供場景、攝影機、材質、燈光、模型載入與動畫等完整 3D 工具;vgpu 更接近小型 WebGPU 渲染工具箱,讓開發者明確控制 Effect、Draw、Target、Frame 與 GPU 資源。

比較項目 vgpu Three.js
主要定位 輕量、明確的 WebGPU API 與跨環境工具鏈 完整 3D 場景與渲染生態
適合工作 Shader 特效、GPU 運算、離線渲染、自動測試 3D 網站、模型、材質、燈光與互動場景
Node.js 與 CI 官方設計重點之一 可做到,但通常需要另外組合環境與工具
Agent 支援 內建 CLI、Skill、MCP 與機器可讀文件 生態大、資料多,但不是以同一套 Agent 工具為核心
學習需求 仍需理解 WebGPU、WGSL 與資源生命週期 先學場景與物件抽象,進階時仍要理解圖形概念

如果需求是載入人物模型、加燈光、控制攝影機並建立完整 3D 場景,我仍會先選 Three.js。若核心工作是自訂 Shader、精確控制渲染流程,還要讓同一段程式在 Node.js 與 CI 驗證,vgpu 的方向更吻合。

因此,vgpu 並不是「新版 Three.js」。把工具選在正確抽象層,比比較誰的功能列表更長重要。

vgpu 安裝教學:先在瀏覽器畫出第一個效果

vgpu 已發布到 npm。截至 2026 年 8 月 29 日,vgpu 最新正式版為 0.3.1,原始碼採 MIT License。

先在既有 TypeScript 或 JavaScript 專案安裝套件:

npm install vgpu

接著準備一個 Canvas:

<canvas id="gpu-canvas"></canvas>

建立 gradient.wgsl。下面的 Fragment Shader 會依像素位置產生漸層:

@fragment fn fs_main(@location(0) uv: vec2f) -> @location(0) vec4f {
  return vec4f(uv, 0.4, 1.0);
}

再從 TypeScript 初始化 GPU、連接 Canvas 並畫出效果:

import { init, effect, surface } from "vgpu";
import gradientSource from "./gradient.wgsl";

const gpu = await init();
const canvas = document.querySelector<HTMLCanvasElement>("#gpu-canvas");

if (!canvas) {
  throw new Error("找不到 #gpu-canvas");
}

const output = surface(gpu, canvas);
const gradient = effect(gpu, gradientSource);

gradient.draw(output);

Next.js 與 Vite 還需要設定 WGSL Loader,把 .wgsl 轉成 JavaScript 能匯入的模組。官方已提供 Turbopack、webpack 與 Vite 的設定範例,照 Web 快速開始 選擇目前專案使用的建置工具即可。

這個範例的價值不是漸層本身,而是先確認四件事:瀏覽器支援 WebGPU、專案能載入 WGSL、Canvas 能取得輸出,以及正式建置沒有漏掉 Loader。四項都通過後,再加入動畫、圖片或多階段 Shader,比一次搬入大型範例更容易除錯。

如何讓 Coding Agent 協助使用 vgpu?

最簡單的起點,是在已安裝 vgpu 的專案裡執行:

npx vgpu

這個指令會列出與目前套件版本配套的文件、範例與檢查方式。也可以先讓 Agent 搜尋官方範例:

npx vgpu examples search "gradient"

如果使用支援 Skill 的 Coding Agent,可以安裝官方 Skill:

npx skills add vercel-labs/vgpu

若只需要遠端查文件與範例,也能加入官方唯讀 MCP:

npx -y add-mcp https://vgpu.sh/api/mcp -g

實際下 Prompt 時,不要只說「幫我做一個很酷的 Shader」。比較可靠的寫法,是把環境、畫面、效能與驗收條件說清楚:

請在現有 Vite 專案加入 vgpu,製作一個深色背景的柔和漸層 Shader。

需求:
1. 使用獨立的 .wgsl 檔案,不要把 Shader 寫進 TypeScript 字串。
2. 手機版降低動畫速度,並支援 prefers-reduced-motion。
3. 不要覆寫現有首頁內容,效果只放在 Hero 背景。
4. 完成後執行 build 與 vgpu check。
5. 回報修改檔案、瀏覽器相容性風險與驗證結果。

prefers-reduced-motion 是瀏覽器用來讀取使用者「減少動態效果」設定的方式。把它寫進需求,可以避免視覺特效讓部分使用者不舒服,也能為效能較弱的裝置保留較安靜的畫面。

vgpu 目前有哪些限制?

WebGPU 還不是所有瀏覽器都能無條件使用

MDN 目前仍把 WebGPU 標示為 Limited availability,代表它沒有在所有主要瀏覽器與裝置組合上達到一致支援。瀏覽器端也需要 HTTPS 等安全環境才能使用。

這不代表 WebGPU 不能上線,而是產品不能假設每位訪客都有相同 GPU、Driver 與瀏覽器版本。正式網站應做功能偵測,並準備靜態圖片、CSS 背景或較低階效果作為替代方案。

0.3.1 仍是早期版本

截至 2026 年 8 月 29 日,npm 最新正式版是 0.3.1。版本號不能單獨證明品質,但它提醒團隊:API 還可能快速調整,教學與範例也可能跟著改變。

如果要放進商業專案,應鎖定套件版本、保存可重複的視覺測試,並先觀察升級差異。這也是 vgpu 自帶版本化文件與 CI 工具真正有用的地方。

Agent-ready 不等於結果自動正確

Skill、MCP 與範例能降低 Agent 找錯 API 的機率,卻不能保證畫面正確、效能良好或符合設計需求。Shader 的錯誤常不是程式直接報錯,而是顏色偏差、動畫抖動、特定裝置掉幀,或只在某個解析度出現問題。

因此,Agent 產生程式後仍要執行 Shader 檢查、正式建置、像素測試與真實裝置預覽。若產品只驗收「成功編譯」,等於漏掉使用者真正看見的結果。

Node.js 的跨環境能力仍有安裝成本

Node.js 端需要 Dawn 或軟體渲染器。vgpu 提供 npx vgpu doctor 診斷環境,也能安裝 CPU 軟體渲染器,但不同作業系統、CPU 架構與 CI 映像仍可能需要額外處理。

對只想在瀏覽器放一個簡單背景的團隊,這套 Node 工具不一定帶來直接收益。只有真的需要伺服器產圖、視覺回歸測試或 GPU 工作自動化時,跨環境能力才值得增加維護成本。

vgpu 值得使用嗎?

我對 vgpu 的判斷是中性偏多,但適合族群很明確。

以下情境值得先做小型試驗:

  • 網站需要自訂 WebGPU Shader,而不是完整 3D 遊戲引擎。
  • 同一套效果要在瀏覽器、Node.js 與 CI 重複執行。
  • 團隊已使用 Codex、Claude Code 等 Coding Agent,希望文件與範例能被工具直接搜尋。
  • 需要把 Shader 拆成可重用 WGSL 模組,並建立自動檢查。
  • 想在無實體 GPU 的環境做可預期的單元測試或 CPU 渲染。

以下情境不必急著導入:

  • 網站只需要 CSS 動畫、影片背景或一個靜態視覺。
  • 專案已用 Three.js 穩定完成大型 3D 場景,沒有跨 Node 渲染需求。
  • 團隊無法安排瀏覽器相容性、真實裝置效能與替代畫面測試。
  • 只是因為 Vercel 開源就想重寫既有架構,卻沒有可衡量的問題。

最實際的做法,是選一個獨立 Hero Shader 或一張伺服器產圖,花一個短週期驗證整合時間、Bundle 大小、手機效能與 CI 穩定性。通過後再擴大,而不是一開始就把整個 3D 前端搬到新工具。

如果 vgpu 後續走向穩定 API、累積更多正式專案,並持續降低 Node.js 環境差異,我會提高評價。反過來說,若版本升級經常破壞相容性,或 Agent 工具沒有明顯降低除錯時間,它就比較像設計精巧的早期工具,而不是值得團隊長期押注的基礎建設。

Vercel vgpu 常見問題

vgpu 是 Vercel 的雲端 GPU 服務嗎?

不是。vgpu 是開源 TypeScript 函式庫,協助程式使用 WebGPU。瀏覽器通常使用訪客裝置的 GPU,Node.js 則透過 Dawn 或另外安裝的 CPU 軟體渲染器執行。它不代表 Vercel 帳號自動取得一台雲端 GPU。

vgpu 可以在 Vercel 以外的平台使用嗎?

可以。官方以 npm 套件與 MIT License 發布,文件也提供瀏覽器與 Node.js 的一般安裝方式。Vercel 表示它原本用於 vercel.com,但沒有把函式庫限定在 Vercel Hosting。

不會寫 WGSL,也能請 AI Agent 完成嗎?

Agent 可以從官方文件與範例建立起點,但使用者仍要提供畫面、效能與替代方案的驗收條件。若完全不理解 Shader,至少要保留瀏覽器預覽、像素差異與真實裝置測試,不能只相信 Agent 回報成功。

vgpu 可以取代 Three.js 嗎?

不適合直接視為替代品。Three.js 是較完整的 3D 場景工具,vgpu 更著重小型 WebGPU API、Shader、跨瀏覽器與 Node.js 執行,以及 Agent 工具鏈。選擇應取決於專案需要完整 3D 生態,還是更明確的低階渲染控制。

vgpu 可以商用嗎?

vgpu 原始碼採 MIT License,可在遵守授權條件下修改與商業使用。專案中另外使用的模型、圖片、字型與範例素材仍要分別檢查授權,不能只看函式庫本身的 License。

vgpu 是免費的嗎?

函式庫原始碼與 npm 套件可免費使用。實際成本仍可能包括開發時間、CI 運算、伺服器資源,以及部署平台費用。使用 vgpu 不等於自動獲得免費 GPU 運算。

結論:vgpu 的重點不是少寫程式,而是讓 Shader 可以被驗證

vgpu 把 WebGPU 常用流程整理成較小的 TypeScript API,讓同一套程式能在瀏覽器顯示、在 Node.js 離線渲染,也能進入 CI 做自動檢查。再加上版本化文件、範例搜尋、Skill 與 MCP,它確實比一般圖形函式庫更早把 AI Coding Agent 納入開發流程。

但 Agent-first 只是工具設計,不是品質保證。真正決定 vgpu 是否有價值的,是團隊能不能用它縮短 Shader 開發,同時保留瀏覽器相容性、像素結果與手機效能的驗收。

我的建議是先做一個可獨立移除的 MVP。若它能讓瀏覽器效果、Node.js 產圖與 CI 測試共用程式,而且 Agent 真的少走錯路,再逐步擴大。若需求只是簡單動畫或成熟 3D 場景,沿用現有工具通常更省維護成本。

想直接查看效果,可先前往 vgpu 官方範例;準備導入專案時,再搭配 Web 快速開始GitHub 原始碼核對目前版本。

資料來源