告別直覺驅動:一項實驗揭示AI開發時代JavaScript框架的真實表現
在很長一段時間裡,Web開發領域很大程度上依賴直覺和市場炒作,而非具體資料來驅動決策。技術選型往往被宣稱為“快如閃電”或“對開發者極其友好”,但這些斷言通常缺乏實證支援。
批評者將這一持續多年的階段形容為膚淺的流行文化現象,以及前端工程領域“迷失的十年”——技術決策由主觀感受主導,事後才被編造出各種理由來合理化。這種對實證的排斥,部分源於對開發者體驗最最佳化的追求,比如在React中編寫JSX帶來的愉悅感。
然而,行業如今已進入一個“代理時代”,即軟體主要由自動化智慧體而非人工編碼完成。儘管人類開發者不再逐行敲程式碼,但憑感覺做決策的習慣依然根深蒂固。
開發者們現在又開始力挺特定框架,理由無非是這些框架“更適合AI代理”,聲稱用它們生成的應用載入更快、錯誤更少——依然拿不出任何實際基準測試資料。由於缺乏經驗證據,一位開發者決定設計一個受控實驗,來測量不同JavaScript框架在由AI代理部署時的實際表現。
測試方法圍繞構建一個雖小但功能完整的Pokémon應用展開,利用PokéAPI提供資料。這個應用類似於維基百科這類內容驅動型網站,包含寶可夢列表及其屬性、技能和遊戲資料,並配有搜尋與篩選功能。
實驗中,AI代理被指示使用多種JavaScript及元框架(如Next.js、Nuxt和SvelteKit)構建該應用。
每個框架都啟用了官方模型上下文協議(MCP)或指定的技能集,以確保公平表現,並反駁那些關於“訓練資料不足”的說辭。架構和渲染策略(如服務端渲染與客戶端渲染)未作硬性規定,所用模型為Opus 5.
5,並採用高努力度執行。生成的應用通過多項指標進行評估,包括開發時長、Token消耗量、程式碼總行數,以及在Lighthouse中獲得的效能與可訪問性最終得分。
為防止代理繞過需求,輸出結果需通過嚴格的規格一致性測試套件驗證。此外,可訪問性評估依據的是無障礙樹而非原始DOM,成功相容了使用影子DOM和Web元件的框架。
最終,實驗揭示了高度的隨機性行為。由於大語言模型本質上就是隨機詞生成器,結果可能因偶然因素而大相逕庭——當代理在開發過程中遇到糟糕的軌跡時,偶爾會生成質量較低的應用。
來源: Hacker News