AI News HubLIVE
站內改寫1 分鐘閱讀

我的AI用Rust構建的PHP引擎通過了17%的PHP源碼測試併成功渲染WordPress頁面

一位不懂Rust的作者藉助AI從頭開始用Rust編寫了一個PHP解釋器Phargo,目前通過了PHP官方測試套件17.4%的測試,並能渲染WordPress頁面。該項目依賴22,000個測試作為客觀評估,避免了AI自我評估的偏差。

來源Hacker News AI作者: ekinertac

作者自稱完全不懂Rust,也沒有編寫過詞法分析器,卻利用AI構建了一個全新的PHP解釋器Phargo。該項目完全用Rust編寫,不包含任何PHP的原始源碼。目前,Phargo已經通過了PHP官方測試套件22,037個測試中的3,844個,通過率17.4%。考慮到測試套件中部分測試涉及C擴展(如GD、cURL、SOAP等),實際可行上限約為40-45%。

Phargo的獨特之處在於其開發流程:AI根據失敗直方圖找出最大的失敗集羣並實現修復,然後運行整個測試套件(約7分鐘),如果通過率上升則提交代碼,下降則回滾。作者將測試套件視為不可賄賂的Oracle,確保評估的公正性。

在開發過程中,項目曾因行尾符(CRLF vs LF)導致數百個測試虛假失敗,修復後通過率大幅提升。此外,測試套件中還發現了一些隱藏的bug:clone操作返回NULL、unset無效、trim忽略字符列表、可變變量和靜態變量不存在,以及catch(\Throwable)無法捕獲異常等。這些bug在演示或人工審查中難以發現,但測試套件無情地暴露了它們。

最終,Phargo成功運行了WordPress安裝程序,渲染了前端頁面和管理面板。然而,性能方面Phargo比原生PHP慢約55倍(7.1秒 vs 126毫秒)。不過,作者聲稱新的字節碼虛擬機已經使微基準測試達到PHP 8.5的1-3倍性能,正在努力優化。

該項目驗證了一個核心觀點:即使不懂代碼的人,也可以通過大量外部測試來保證項目的正確性。作者強調,22,000個測試比任何人工審查都更嚴格。目前Phargo仍在持續開發中,目標是通過WASM在瀏覽器中運行WordPress。代碼已開源在github.com/ekinertac/Phargo。