前段時間,Cursor宣布用AI寫了一個瀏覽器FastRender,被全網嘲笑了。
這個項目號稱使用成百上千個并行 AI 智能體,連續跑了一周,生成了一個Web 瀏覽器,代碼量超過 300?萬行。
但是很多程序員clone以后,卻發現跑不起來,并且項目依賴大量已有的庫,不是真正的從零開始。
更要命的是,代碼質量極爛,很多構建錯誤和警告未解決,被一些人戲稱“AI泔水”。
看到這種情況,有個叫做“embedding-shapes”的程序員非常不爽,他決定自己用AI從頭兒構建一個。
他的目標如下:
![]()
和Cursor不同的是,他決定只用一個AI Agent,充分發揮程序員的能力,指導AI進行編程,看看效果如何。
所以,他并沒有直接說:
請幫我用 Rust 寫一個瀏覽器!
而是精心設計了一組策略和方法:
第一天:先跑起來
第一天他和 AI 做的事只有一件:先讓它跑起來。
實現最基本的功能,能渲染Hello World,然后增加渲染嵌套標簽。
增加了一個截圖功能,把渲染的結果變成圖片,讓AI去觀察,這樣就可以實現回歸測試,保證AI不會破壞已有的功能,不得不說,這個點子真是挺棒的。
第一天,一共生成了7500行代碼,實現了一個極簡的瀏覽器原型。
這個原型沒有利用任何現成的類庫,HTML/CSS渲染框架,真的是一點點從頭而搞起來的,代碼模塊化良好,職責清晰,每個文件<1000行,完全可控。
第二天:建立自動的工作流程
第二天,他改進了resize Windows的問題,兼容性問題和性能問題。
更重要的是建立了一個工作流程:
1.選定一個真實網站,關閉JavaScript,截圖。
2.把截圖發給AI,讓它照著截圖的樣子來渲染。
3.AI需要寫代碼,跑測試,生成新的截圖,然后對比。
大多數時間他都不管事兒,等 AI 跑完來叫他,他只負責看看像不像、順不順。
第三天:收尾+跨平臺
增加滾動條,Back 按鈕 (這是瀏覽器非常重要的功能)
增加對macOS和Windows的支持(這說明抽象做對了,第一天的架構沒有“寫死在Linux上”)
增加更多的回歸測試,提升性能,fix崩潰的問題。(說明軟件已經到了一定復雜度了)
三天后,全部的工作成果是大約兩萬行Rust代碼,沒有任何依賴,編譯起來飛快。
用這個瀏覽器訪問Hacker News:
![]()
訪問著名的Medium:
![]()
訪問知名博客:Simon Willison :
![]()
相比cursor那種幾百個Agent自動干活生成的垃圾瀏覽器,這個瀏覽器功能不多,但是更加清晰、簡潔、工程上更加靠譜。
對于嚴肅的、復雜的項目,程序員有效地指導AI,遠比直接把問題扔過去讓AI解決問題重要得多。
如果不對架構和設計進行控制和約束,則很快就會因為它們的粗糙而失控:
第一天很爽:哇塞,這么快都實現了!
第二天也很爽:出了問題AI馬上就解決了!
第三天麻煩出現:這個Bug給它描述了好幾遍,怎么就是改不了?
第四天:算了,還是重開吧!
相比之下,當你擁有真正的設計和高質量的代碼時,可以保持穩定的開發節奏,每一天都像第一天一樣。
從這三天的實踐可以看出,AI 與人類協作能在特定任務上顯著加速開發,AI是人類程序員的放大器,但是它只能在懂開發的人手里發揮最大的效用,這也是程序員的最大價值。
GitHub :
https://github.com/embedding-shapes/one-agent-one-browser/
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.