Web 開發(fā) AI 就選它?V0復(fù)合架構(gòu)無錯誤率 93.87% 遠(yuǎn)超 Claude 4 Opus 單體!
Vercel 最近在 v0.dev 和 API 里都上了新的 AI 模型:v0-1.5-md、v0-1.5-lg 和 v0-1.0-md。
今天,他們把 v0 模型背后的"復(fù)合模型架構(gòu)"給扒了。
簡單說,這套架構(gòu)就是把 RAG (檢索增強生成) 的專業(yè)知識、SOTA 大模型的推理能力、再加上一個定制的流式后處理模型來修 bug,給縫合到了一起。
Vercel 說,這么搞能讓 v0 生成代碼的質(zhì)量高出一大截。而且,以后基礎(chǔ)大模型升級了,他們也能快速換上最新的,其他部分保持穩(wěn)定。
?? v0 為啥要搞這么一套"復(fù)合模型架構(gòu)"?不直接用現(xiàn)成大模型嗎?
現(xiàn)在市面上的 AI 模型,基本就兩種:要么是頭部廠商的閉源大模型,要么是第三方托管的開源模型。
Vercel 在做 v0 和 AI SDK 這些產(chǎn)品時發(fā)現(xiàn),這兩種路子都有坑:
- 模型知識過時快:特別是對那些快速迭代的技術(shù),大模型很快就跟不上了。
- 當(dāng)然以前也聊過一些解決方法:
???AI 寫代碼總是翻車?Upstash 創(chuàng)始人怒推 Context7:給 LLM 喂上最新鮮的官方文檔。???
???DeepWiki MCP:免費、遠(yuǎn)程、一行命令,Agent即刻擁有Github代碼庫知識!?? - 頭部廠商不care特定場景:人家沒那么多精力也沒那心思去專門優(yōu)化"寫 Web 應(yīng)用"這種具體場景。
v0 是專門搞快速、漂亮的全棧 Web 應(yīng)用的。這就得用上 React、Next.js 這些 不斷 進(jìn)化的框架。閉源大模型幾乎是一出來就落后于框架更新了。
開源模型微調(diào)倒是靈活點,但目前來看,在 v0 關(guān)心的任務(wù)上 (尤其是帶多模態(tài)輸入的代碼生成),閉源大模型還是吊打開源模型。
而且,頭部大模型也沒啥動力去專門優(yōu)化像"自動修 bug"、"快速編輯代碼"這種 Web 應(yīng)用開發(fā)特有的需求。結(jié)果就是,就算改個小地方,你也得把需求仔仔細(xì)細(xì)地喂給它。
Vercel 這套"復(fù)合模型架構(gòu)",就是要把這些活兒從基礎(chǔ)模型里拆出來。
他們能把一個 SOTA 基礎(chǔ)模型,跟專門的數(shù)據(jù)檢索、優(yōu)化的快速編輯流程、還有定制的 AutoFix 模型組合起來,提升輸出質(zhì)量。
這樣一來,就算基礎(chǔ)大模型換代了,他們也能無縫升級,不用把整個流程推倒重來。用戶通過 API 用 v0 模型,實際上就是在用這整套流水線。
(v0 復(fù)合模型架構(gòu)圖)
?? v0 的"復(fù)合模型"具體咋工作的?
1. 預(yù)處理 (Pre-processing)
你給 v0 發(fā)消息后,它會先做好幾步準(zhǔn)備工作:
- 系統(tǒng)提示 (System Prompt):定義 v0 的響應(yīng)格式和能力范圍。
- 上下文維護(hù):把最近的聊天記錄帶上,保證對話連貫。老的聊天記錄會做個總結(jié),優(yōu)化上下文窗口。
- RAG 檢索:根據(jù)你的問題,從 Vercel 自己的數(shù)據(jù)集里撈相關(guān)信息 (文檔、UI 示例、你上傳的項目代碼、內(nèi)部知識庫等等) 來增強輸出。
2. SOTA 基礎(chǔ)模型 (State of the art base models)
新內(nèi)容生成或者大改動,就靠基礎(chǔ)模型了。這一般是從當(dāng)前最頂尖的那波大模型里挑一個,具體用哪個看你選的 v0 模型型號。
小修小改,比如改文字、修語法錯誤、調(diào)整組件順序,會交給專門優(yōu)化過速度的 Quick Edit 模型 處理。
因為是復(fù)合架構(gòu),基礎(chǔ)模型可以隨時升級替換,整個流程不用重構(gòu)。比如,v0-1.0-md 現(xiàn)在用的是 Anthropic 的 Sonnet 3.7,而 v0-1.5-md 用的是 Sonnet 4。
3. 定制 AutoFix 模型 (Custom AutoFix model)
基礎(chǔ)模型輸出代碼的時候,v0 會實時檢查有沒有錯誤、不一致或者不符合最佳實踐的地方。Vercel 定制的 AutoFix 模型 會在輸出過程中就把很多這類問題給修了,進(jìn)一步提升質(zhì)量。
等模型輸出完了,還會再過一遍,把之前沒發(fā)現(xiàn)的問題也給逮出來。最后還會跑個 linter,修復(fù)風(fēng)格不一致和小錯誤。
?? v0 模型表現(xiàn)到底怎么樣?
Vercel 主要看模型生成代碼的出錯率。他們搞了套針對常見 Web 開發(fā)任務(wù)的評估集,測下來,v0 模型比它們用的那些基礎(chǔ)模型出錯率低得多。
(模型錯誤率對比)
v0-1.5-lg 雖然比 v0-1.5-md 模型更大,但有時候犯錯會更多點,這是 AI 模型規(guī)模化常見的取舍。
不過,雖然它倆錯誤率差不多,但 Vercel 發(fā)現(xiàn) v0-1.5-lg 在處理一些超專業(yè)領(lǐng)域 (比如 three.js 里的物理引擎) 和多步驟任務(wù) (比如數(shù)據(jù)庫遷移) 時,推理能力更強。而且 v0-1.5-lg 支持的上下文窗口也大得多。
?? 訓(xùn)練自己的 AutoFix 模型
大模型都有些自己的小毛病,有的喜歡過度用 Markdown 格式化,有的會搞錯文件位置或者引入一些隱蔽的 bug。Vercel 用一套全面的評估集,加上 v0.dev 用戶的反饋,來追蹤這些問題,找到輸出需要改進(jìn)的地方。
所以他們搞了個流水線,把確定性規(guī)則和基于 AI 的修正結(jié)合起來,在生成過程中就修復(fù)常見錯誤。早期這套流水線用的是 Gemini Flash 2.0。
為了速度和可靠性,他們跟 Fireworks AI 一起,用強化微調(diào) (RFT) 的方法,訓(xùn)練了自家的定制 AutoFix 模型:vercel-autofixer-01。經(jīng)過多輪迭代優(yōu)化,這個模型在各種錯誤類型上的出錯率都降到了最低。
(AutoFix 模型訓(xùn)練迭代過程中的性能優(yōu)化)
vercel-autofixer-01 的設(shè)計目標(biāo)就是快速修復(fù)錯誤,同時降低整體出錯率。在錯誤發(fā)生率評估中,它的表現(xiàn)跟 gpt-4o-mini 和 gemini-2.5-flash 差不多,但速度快了 10 到 40 倍。
(AutoFix 模型與其他模型性能對比)
?? 下一步呢?
v0 模型家族現(xiàn)在可以通過 API 和 v0.dev 使用。你可以把 v0 模型用到你喜歡的編輯器里,或者構(gòu)建自定義工作流。比如,用 v0 寫自動化代碼遷移腳本。
Vercel 表示,他們會繼續(xù)改進(jìn)模型輸出,未來幾個月還會發(fā)布新的模型類別。
本文轉(zhuǎn)載自????AI進(jìn)修生????,作者:Aitrainee
