国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

一個(gè)周末 + 1100 美元,干完 5 人 6 個(gè)月的活:Cloudflare 用 AI“復(fù)刻”Next.js,已跑進(jìn)生產(chǎn)環(huán)境

0
分享至


編譯|宇琪

策劃 | Tina

編輯 | 蔡芳芳

在 AI Coding 狂飆突進(jìn)的 2026 年,一個(gè)原本聽(tīng)上去近乎荒誕的問(wèn)題,突然變得現(xiàn)實(shí)起來(lái):如果工程師不再一行一行手寫(xiě)代碼,復(fù)雜框架還能不能被“重做”一遍?

Cloudflare Workers 工程負(fù)責(zé)人 Steve Faulkner,給出了一個(gè)足夠激進(jìn)的回答。他借助 AI,在一個(gè)周末里“復(fù)刻”了整個(gè) Next.js,并把它遷移到了 Vite 之上,做出了 Vinext。整個(gè)項(xiàng)目的 Token 成本僅約 1100 美元,但換來(lái)的結(jié)果卻相當(dāng)驚人:它已經(jīng)能作為 Next.js 的即插即用替代方案,一條命令即可部署到 Cloudflare Workers;在初步基準(zhǔn)測(cè)試中,生產(chǎn)環(huán)境應(yīng)用的構(gòu)建速度最高提升 4 倍,客戶端打包體積最高縮小 57%;更關(guān)鍵的是,它已經(jīng)被客戶正式跑進(jìn)了生產(chǎn)環(huán)境。

這也是為什么,Vinext 會(huì)迅速引爆開(kāi)發(fā)者社區(qū)。真正讓人震動(dòng)的,并不只是“AI 又寫(xiě)了多少代碼”,而是它開(kāi)始逼近一個(gè)過(guò)去默認(rèn)只能靠資深工程團(tuán)隊(duì)、長(zhǎng)周期投入才能完成的任務(wù):重構(gòu)一個(gè)擁有數(shù)百萬(wàn)用戶的主流前端框架。更微妙的是,這個(gè)項(xiàng)目瞄準(zhǔn)的還不是邊緣玩具,而是 Next.js 這樣一個(gè)長(zhǎng)期深度綁定 Node.js、Vercel 與定制化構(gòu)建鏈路的復(fù)雜系統(tǒng)。換句話說(shuō),這不只是一次 AI Coding 炫技,而是在試圖回答一個(gè)更現(xiàn)實(shí)的問(wèn)題:當(dāng)現(xiàn)有框架在跨運(yùn)行時(shí)、跨平臺(tái)部署上越來(lái)越別扭時(shí),AI 能不能直接把它“重寫(xiě)一遍”?

近日,Steve Faulkner 在播客節(jié)目中,與主持人 Wes Bos 和 Scott Tolinski 詳細(xì)講述了這個(gè) slop fork 項(xiàng)目的來(lái)龍去脈。他們還圍繞 AI 編碼工作流、Agent 瀏覽器、代碼質(zhì)量、測(cè)試驅(qū)動(dòng)開(kāi)發(fā),以及 AI 優(yōu)先時(shí)代的軟件工具究竟應(yīng)該長(zhǎng)成什么樣,展開(kāi)了深入討論?;谠摬タ鸵曨l,InfoQ 對(duì)內(nèi)容進(jìn)行了整理與部分刪改。

核心觀點(diǎn)如下:

  • 人類(lèi)依然需要負(fù)責(zé)制定方向,AI 只是執(zhí)行和加速的工具;

  • 目標(biāo)不是寫(xiě)“優(yōu)雅代碼”,而是實(shí)現(xiàn)兼容性、通過(guò)測(cè)試,并驗(yàn)證這條路徑是否可行;

  • 一個(gè)理想的 AI 原生語(yǔ)言,可能是兼具 Rust 的約束能力與 Go 的簡(jiǎn)潔風(fēng)格;

  • Agent 的開(kāi)發(fā)體驗(yàn)與人類(lèi)不同,它不需要界面美觀,但必須具備清晰結(jié)構(gòu),使其能夠理解操作路徑,這種“面向 agent 的 DX”將成為未來(lái)的重要方向;

  • 醫(yī)療很可能是下一個(gè)重點(diǎn)行業(yè),其發(fā)展路徑可能類(lèi)似編程領(lǐng)域:AI 能夠處理大量基礎(chǔ)工作,但仍需要經(jīng)驗(yàn)豐富的醫(yī)生進(jìn)行決策和引導(dǎo)。

“slop fork”

Wes:請(qǐng)先簡(jiǎn)單介紹一下你自己以及你的工作內(nèi)容。

Steve:我目前是 Cloudflare Workers 的工程總監(jiān),整體負(fù)責(zé) Workers 相關(guān)業(yè)務(wù),包括 agents 產(chǎn)品、容器以及 Wrangler CLI 等項(xiàng)目,團(tuán)隊(duì)規(guī)模大約在 80 人左右。我加入 Cloudflare 已有幾年時(shí)間。需要澄清的是,我的日常工作并不是編寫(xiě)代碼。很多人看了這個(gè)項(xiàng)目和博客后,稱(chēng)我為“100 倍 工程師”,但我認(rèn)為更準(zhǔn)確的說(shuō)法應(yīng)該是“100 倍 工程經(jīng)理”。

Scott:在當(dāng)下 AI 的發(fā)展階段,這是不是正成為趨勢(shì)?真正擁有“超能力”的,其實(shí)是這些“100 倍工程經(jīng)理”?

Steve:確實(shí)如此。我認(rèn)為 AI 本質(zhì)上是一種放大器。如果你清楚自己要做什么,它可以幫助你更快、更好地完成任務(wù);但如果方向本身就是錯(cuò)誤的,它同樣會(huì)放大這種錯(cuò)誤。因此,人類(lèi)依然需要負(fù)責(zé)制定方向,AI 只是執(zhí)行和加速的工具。

Scott:最近大家在討論一個(gè)詞——“slop fork”,因?yàn)檫@次是用 AI 寫(xiě)的代碼。你怎么看這個(gè)說(shuō)法?

Steve:我覺(jué)得這個(gè)說(shuō)法很有趣,也已經(jīng)接受了,甚至我現(xiàn)在會(huì)說(shuō)“我要去 slop fork 某個(gè)東西”。有人還開(kāi)玩笑說(shuō):“我們應(yīng)該 slop fork Kubernetes,然后用 Rust 重寫(xiě)。”我覺(jué)得類(lèi)似“Vibe Coding”或“Clanker”等新詞不斷涌現(xiàn),我更多是以一種輕松的態(tài)度看待,并不會(huì)覺(jué)得被冒犯。(注:“slop fork”可直譯為“垃圾分支”,但在此處帶有自嘲與網(wǎng)絡(luò)梗色彩,雙關(guān)地表達(dá)用 AI“糊弄式”地把一個(gè)現(xiàn)有項(xiàng)目“叉走”并改寫(xiě)。)

Wes:為什么你要 fork Next.js 并讓它運(yùn)行在 Vite 上?

Steve:一年前,我們?cè)谒伎既绾胃玫刂С?Next.js 在 Cloudflare 上運(yùn)行。Next.js 在托管方面確實(shí)存在一些問(wèn)題,尤其是在非 Vercel 或非 Node 的運(yùn)行環(huán)境中。一些功能對(duì) Node 和 Vercel 有較強(qiáng)依賴(lài),因此雖然理論上可以部署在很多地方,但在邊界場(chǎng)景下會(huì)出現(xiàn)兼容性問(wèn)題。

當(dāng)時(shí)我們?cè)紤]自行實(shí)現(xiàn)一套兼容 Next API 的編譯器,但評(píng)估后發(fā)現(xiàn)這需要約 5 名工程師投入 6 個(gè)月時(shí)間,成本過(guò)高,不現(xiàn)實(shí)。于是我們轉(zhuǎn)向了 OpenNext 項(xiàng)目,并且至今仍在持續(xù)投入。ps:如果你需要穩(wěn)定、經(jīng)過(guò)生產(chǎn)驗(yàn)證的方案,應(yīng)該優(yōu)先使用 OpenNext。后來(lái)我們還嘗試過(guò)一次,讓一位實(shí)習(xí)生實(shí)現(xiàn) pages router,但也沒(méi)有成功。

真正的轉(zhuǎn)折點(diǎn)出現(xiàn)在去年 12 月到今年 1 月,模型能力突然有了質(zhì)的提升,一切才發(fā)生變化。當(dāng)時(shí)我主要是用 AI 做管理相關(guān)的工作,比如總結(jié)會(huì)議紀(jì)要、跟蹤 Jira、匯總內(nèi)部信息等。我逐漸意識(shí)到,這些模型已經(jīng)足夠強(qiáng)大,于是開(kāi)始嘗試寫(xiě)一些代碼項(xiàng)目。我注意到 Next.js 有一套非常完善的測(cè)試體系,于是想到:能不能直接用測(cè)試來(lái)驅(qū)動(dòng)實(shí)現(xiàn)?于是就在一個(gè)周五下午開(kāi)始了這個(gè)項(xiàng)目。

我先花了幾個(gè)小時(shí)做規(guī)劃,然后和模型反復(fù)交互。第二天早上,我在 app router 的 demo 里測(cè)試時(shí)發(fā)現(xiàn),它居然已經(jīng)能跑起來(lái)了。雖然還不完美,但已經(jīng)足以說(shuō)明這條路是可行的。

Wes:如果讓你從零開(kāi)始,將 Next.js 實(shí)現(xiàn)到 Vite 上,你會(huì)如何制定計(jì)劃?這個(gè)過(guò)程有多少依賴(lài)你對(duì)軟件工程本身的理解?

Steve:我確實(shí)具備一定優(yōu)勢(shì),因?yàn)槲沂煜?Next.js,同時(shí)團(tuán)隊(duì)內(nèi)部也在其他框架中使用 Vite,因此我清楚整體架構(gòu)形態(tài)。制定初始方案大約花費(fèi)數(shù)小時(shí),并通過(guò) OpenCode 與模型不斷迭代。

我大量使用語(yǔ)音轉(zhuǎn)文本工具進(jìn)行“思維傾倒”,并不依賴(lài)復(fù)雜的 prompt 技巧,而是不斷修正模型輸出,例如明確指出某些建議不在項(xiàng)目范圍內(nèi),如移除 React。這個(gè)過(guò)程更像人與 AI 的持續(xù)協(xié)作,而非一次性指令。

Scott:在規(guī)劃階段,你主要通過(guò) Markdown 來(lái)組織信息嗎?有沒(méi)有特別有效的方法?

Steve:全部使用 Markdown。目前來(lái)看,這是最有效的工具,盡管我認(rèn)為它只是階段性最優(yōu)解。未來(lái)兩到三年內(nèi),我們可能會(huì)看到更原生適配 LLM 的工作方式。

我維護(hù)了一個(gè)主計(jì)劃文檔,以及一個(gè)專(zhuān)門(mén)用于測(cè)試的文檔。Next.js 的測(cè)試集非常龐大(約 8000 個(gè)測(cè)試),其中很多并不是我第一階段需要支持的功能。因此,我花了很多時(shí)間去篩選和指導(dǎo)模型選擇哪些測(cè)試。一個(gè)關(guān)鍵的突破是:我沒(méi)有嘗試直接運(yùn)行原始測(cè)試套件,而是讓模型逐個(gè)“遷移”測(cè)試。這意味著把測(cè)試遷移到自己的測(cè)試環(huán)境中,并逐步實(shí)現(xiàn)對(duì)應(yīng)功能,同時(shí)用文檔追蹤每一個(gè)測(cè)試的進(jìn)度。

Wes:所謂“遷移測(cè)試”,是指轉(zhuǎn)移到 Vitest,還是同時(shí)實(shí)現(xiàn)對(duì)應(yīng)功能?

Steve:兩者兼而有之。一方面將測(cè)試遷移到 Vitest 和 Playwright,另一方面實(shí)現(xiàn)對(duì)應(yīng)功能邏輯。

Wes:這個(gè)過(guò)程是持續(xù)交互,還是可以長(zhǎng)時(shí)間自動(dòng)運(yùn)行?

Steve:我曾讓 OpenCode 分析整個(gè)過(guò)程。結(jié)果顯示,我的 token 使用峰值出現(xiàn)在凌晨 3 點(diǎn),但我那時(shí)候肯定在睡覺(jué),說(shuō)明我確實(shí)在夜間安排了大量任務(wù)。我的方式不是寫(xiě)復(fù)雜的自動(dòng)循環(huán),而是給它一個(gè)任務(wù)文檔,比如“完成這 10 件事”,然后讓它持續(xù)執(zhí)行。它偶爾會(huì)卡住,但整體表現(xiàn)相當(dāng)不錯(cuò)。

分析還顯示,我的工作模式是“啞鈴型”:要么是幾分鐘的短操作,要么是持續(xù)一到兩小時(shí)的深度工作。這與我的實(shí)際節(jié)奏一致——我有兩個(gè)孩子,開(kāi)發(fā)是在生活間隙中進(jìn)行的,例如帶孩子去公園玩,回家之后趕緊跑回電腦前,踢一腳模型,然后再回去陪孩子。

尋找可靠的 AI 工作流

Scott:你剛才提到這些數(shù)據(jù),是怎么統(tǒng)計(jì)的?

Steve:都是從 OpenCode 的會(huì)話數(shù)據(jù)里來(lái)的。它會(huì)把所有信息存儲(chǔ)在 SQLite 里,我直接讓模型去分析這些數(shù)據(jù)。

Scott:你使用的是哪個(gè)模型?

Steve:主要使用 Opus 4.5 和 4.6,約 99% 的代碼由其生成,后期我開(kāi)始更多做代碼評(píng)審,有時(shí)也會(huì)用 Codex 作為輔助。

Scott:你覺(jué)得不同模型之間差別大嗎?

Steve:很多人說(shuō)“Opus 寫(xiě)代碼、Codex 做評(píng)審”,我一開(kāi)始也這么做,但后來(lái)發(fā)現(xiàn)差別沒(méi)有想象中那么大。很多時(shí)候讓同一個(gè)模型自我評(píng)審就足夠了。我甚至?xí)屗M(jìn)入一個(gè)循環(huán):先評(píng)審代碼,再修復(fù)問(wèn)題,然后再評(píng)審自己,如此迭代兩三次,直到?jīng)]有明顯問(wèn)題為止。

Wes:你的 OpenCode 實(shí)際配置是怎樣的?是否使用插件、Agent 或 MCP?——你有沒(méi)有像那些整天調(diào)參數(shù)的人一樣瘋狂調(diào)試?

Steve:我就是那種“調(diào)參黨”。我最近開(kāi)始玩 pi,簡(jiǎn)直是一通狂調(diào)。不過(guò)我這次項(xiàng)目的整體配置非常簡(jiǎn)潔。我主要使用桌面應(yīng)用和 VS Code,很少使用終端界面,MCP 或復(fù)雜 agent 也沒(méi)用多少。不過(guò)我們現(xiàn)在確實(shí)有一個(gè)針對(duì) Vinext 的 agent,用來(lái)處理倉(cāng)庫(kù)里的一些審查工作。我們發(fā)現(xiàn),給 agent 豐富的上下文,它會(huì)更好用。那個(gè) agent 的 MD 文件甚至就是它在項(xiàng)目開(kāi)始時(shí)自己生成的。過(guò)程中我會(huì)告訴它:記得更新 agent.md,確保里面需要的東西都有。

倒是有兩個(gè) MCP 服務(wù)用了比不用好:一個(gè)是 Context7,提供開(kāi)源庫(kù)索引,另一個(gè)是 Exa 搜索。這兩者大約帶來(lái) 20% 的體驗(yàn)提升,但也不是那種“質(zhì)變”級(jí)別的提升。

Wes:在測(cè)試過(guò)程中,AI 是否會(huì)自動(dòng)操作瀏覽器?

Steve:會(huì)的。我在博客里提到過(guò)一個(gè)工具——Agent Browser,本質(zhì)上是對(duì) Playwright 的封裝,提供了一個(gè)很好用的 CLI 接口。我在這個(gè)項(xiàng)目中用得很多。

我會(huì)讓它同時(shí)操作兩個(gè)環(huán)境:一個(gè)是生產(chǎn)環(huán)境中的 app router playground,另一個(gè)是 Vinext 的實(shí)現(xiàn)版本,然后給它指令去復(fù)現(xiàn)問(wèn)題、對(duì)比行為、定位差異。這在調(diào)試過(guò)程中非常有幫助,比如有一次我說(shuō)“滾動(dòng)不夠流暢”,這種描述其實(shí)很模糊,但模型竟然能自己識(shí)別問(wèn)題,并給出解決方案,這讓我非常震驚。

Scott:我用 Agent Browser 時(shí)遇到一個(gè)問(wèn)題:Opus 模型經(jīng)常處理不了截圖,說(shuō)“截圖太大”,然后整個(gè) session 就崩掉了。你有遇到嗎?

Steve:遇到過(guò),而且確實(shí)很?chē)?yán)重。在 OpenCode 里,這種情況會(huì)直接污染整個(gè)會(huì)話,只能重開(kāi)。問(wèn)題在于,有些會(huì)話本身非常有價(jià)值,所以我有時(shí)候會(huì)讓模型把當(dāng)前上下文壓縮成一個(gè) markdown 文件保存下來(lái),方便之后恢復(fù)或復(fù)用。

Scott:你會(huì)密切監(jiān)控上下文嗎?比如使用子 agent 來(lái)管理?

Steve:沒(méi)有特別系統(tǒng)地做這件事,也確實(shí)不是完美的。有時(shí)候上下文壓縮后,模型會(huì)“跑偏”,需要重新引導(dǎo)。不過(guò)我注意到,OpenCode 在這方面近期已有明顯改進(jìn)。

此外,我還維護(hù)了一個(gè)名為 discoveries.md 的文件,用于記錄過(guò)程中發(fā)現(xiàn)的各種問(wèn)題,例如某些 React 或 Webpack 版本和 Vite 的兼容問(wèn)題。每當(dāng)遇到問(wèn)題,就記錄下來(lái),這樣模型可以基于這些“已知結(jié)論”繼續(xù)推進(jìn),而不是反復(fù)踩坑。

Wes:我最近在一個(gè)項(xiàng)目中也遇到類(lèi)似問(wèn)題:模型不斷重復(fù)同一錯(cuò)誤,例如錯(cuò)誤地將服務(wù)端代碼引入客戶端模塊,進(jìn)而陷入循環(huán)修復(fù)。我最終只能將解決方案寫(xiě)入 agents.md 或外部文檔,以強(qiáng)制約束其行為。

Steve:基于這個(gè)現(xiàn)象,我的一個(gè)重要體會(huì)是:agent 對(duì)反饋(feedback)的響應(yīng)能力極強(qiáng)。相比之下,人類(lèi)并不擅長(zhǎng)快速吸收并迭代反饋。如果你告訴一個(gè)人“這不對(duì),重寫(xiě)一遍”,效果未必明顯,但對(duì)模型來(lái)說(shuō),提供新的上下文后,它往往能顯著改進(jìn)。

很多人剛接觸 AI 時(shí),會(huì)因?yàn)榈谝淮谓Y(jié)果不好就否定它。但實(shí)際上,只要多迭代幾輪,到第四五次時(shí),它往往就能做對(duì)。這種“快速糾偏能力”是關(guān)鍵。

Scott:確實(shí),有些人只試一次就覺(jué)得工具不行。

Steve:這是因?yàn)槌绦騿T的思維習(xí)慣。傳統(tǒng)程序是確定性的,如果代碼錯(cuò)了,每次運(yùn)行都會(huì)錯(cuò)。但 LLM 處在一個(gè)“非確定性”的中間地帶,這種不確定性反而是一種特性。它可能第一次輸出很糟糕,但你可以糾正它,它下一次就不會(huì)再犯同樣的錯(cuò)誤。當(dāng)然,這也意味著風(fēng)險(xiǎn)。比如它可能生成錯(cuò)誤的 Terraform 配置,甚至破壞生產(chǎn)環(huán)境。但如果你及時(shí)糾正,它大概率不會(huì)再犯。我自己也不是 AI 的極端樂(lè)觀主義者,我既對(duì)它的潛力感到興奮,也對(duì)其中的風(fēng)險(xiǎn)感到擔(dān)憂。

Wes:AI 生成的代碼質(zhì)量整體表現(xiàn)如何?是否存在明顯“跑偏”的情況?

Steve:當(dāng)然有。我每次看代碼時(shí),其實(shí)都不太滿意。代碼通常比較冗長(zhǎng),也不是我會(huì)寫(xiě)的風(fēng)格。這個(gè)項(xiàng)目讓我必須接受一點(diǎn):目標(biāo)不是寫(xiě)“優(yōu)雅代碼”,而是實(shí)現(xiàn)兼容性、通過(guò)測(cè)試,并驗(yàn)證這條路徑是否可行。這是一個(gè)實(shí)驗(yàn),核心是探索 AI 的邊界,而不是追求完美工程實(shí)踐。如果代碼質(zhì)量以后成為問(wèn)題,可以再優(yōu)化。

舉個(gè)例子,目前 Vinext 的一部分代碼是通過(guò)模板字符串生成的,也就是說(shuō)代碼是“拼接出來(lái)的”,沒(méi)有類(lèi)型檢查、沒(méi)有 lint,只能通過(guò)端到端測(cè)試驗(yàn)證。這種方式我其實(shí)很不喜歡,也不利于維護(hù)。所以現(xiàn)在我們正在逐步重構(gòu),把這些生成代碼拆出來(lái),變成可類(lèi)型檢查、可 lint 的正常代碼結(jié)構(gòu),這也是一個(gè)從“AI 生成”到“工程化”的回收過(guò)程。

Scott:我最近在構(gòu)建 AI 工作流時(shí),會(huì)為每個(gè)功能設(shè)計(jì)多個(gè)處理階段,例如 lint、樣式、UI、可訪問(wèn)性等,但感覺(jué)成本很高。

Steve:這正是我認(rèn)為“約束”(guardrails)重要的原因。測(cè)試、lint、格式化這些都是必要的約束,但同時(shí)也不能完全限制模型。理想的方式是:大部分時(shí)間把任務(wù)拆成小塊,并加上明確約束;但在某些時(shí)刻,也要允許模型“自由發(fā)揮”,比如讓它重新設(shè)計(jì)某個(gè)模塊,提出不同思路。

Scott:我也會(huì)定期讓模型進(jìn)行審計(jì)分析,從中獲得一些我自己未曾考慮到的優(yōu)化點(diǎn)。

Wes:像這種用 AI 寫(xiě)出來(lái)的系統(tǒng),安全方面怎么保證?我聽(tīng)說(shuō) Vercel 甚至把漏洞提交到了 Cloudflare 的漏洞賞金項(xiàng)目里,這是真的嗎?他們拿到獎(jiǎng)金了嗎?

Steve:相關(guān)流程仍在進(jìn)行中。我們確實(shí)收到了包括 Vercel 在內(nèi)的多方安全報(bào)告,我對(duì)此非常感謝。老實(shí)說(shuō),有人將此舉解讀為刻意找茬,但我認(rèn)為,該項(xiàng)目?jī)H發(fā)布一周,存在安全漏洞是十分正常的情況。我反而希望大家多提交問(wèn)題,這樣我們可以把這些漏洞反饋給 AI,讓它參與修復(fù)。

整個(gè)過(guò)程其實(shí)非常有意思——我們正在用 AI 來(lái)處理 AI 產(chǎn)生的問(wèn)題。AI 在幫我們分類(lèi)漏洞、修復(fù)漏洞、驗(yàn)證漏洞,甚至參與與安全研究者的溝通。我們還在做一些暫時(shí)不能公開(kāi)的工作,比如構(gòu)建自己的 AI agent,用來(lái)主動(dòng)發(fā)現(xiàn)安全漏洞。

我們看到一些外部提交的漏洞后,意識(shí)到這些問(wèn)題其實(shí)具有某種模式,于是就嘗試用 AI 自己去找類(lèi)似問(wèn)題。結(jié)果不僅找到了當(dāng)前項(xiàng)目的漏洞,還能在其他項(xiàng)目中發(fā)現(xiàn)問(wèn)題,這讓我們意識(shí)到這個(gè)方向非常有潛力。目前我們把這當(dāng)作一個(gè)學(xué)習(xí)機(jī)會(huì):如何用 AI 構(gòu)建一整套安全體系。從現(xiàn)在的實(shí)踐來(lái)看,AI 在安全領(lǐng)域同樣表現(xiàn)得相當(dāng)不錯(cuò)。

項(xiàng)目上線約兩周以來(lái),我們已發(fā)布 26 至 27 個(gè)版本,持續(xù)進(jìn)行漏洞修復(fù)與項(xiàng)目維護(hù)。我也在思考如何推動(dòng)該項(xiàng)目從實(shí)驗(yàn)階段邁向更穩(wěn)定的階段,例如移除實(shí)驗(yàn)標(biāo)簽,將其調(diào)整為穩(wěn)定版或測(cè)試版,讓用戶能夠放心地將其應(yīng)用于生產(chǎn)環(huán)境。

Wes:最終目標(biāo)是把它變成一個(gè)可以正式使用的產(chǎn)品?

Steve:其實(shí)已經(jīng)有人在用了。我們會(huì)明確告訴用戶它的限制和風(fēng)險(xiǎn)。很多用戶對(duì) Next.js 的使用其實(shí)比較簡(jiǎn)單,比如主要是靜態(tài)頁(yè)面,只有少量 API 或部分動(dòng)態(tài)頁(yè)面。在這種“功能使用范圍較窄”的場(chǎng)景下,目前體驗(yàn)其實(shí)已經(jīng)不錯(cuò)了。

Wes:從根本上來(lái)說(shuō),是把整個(gè)框架遷移過(guò)來(lái)更合理,還是干脆讓 AI 幫你遷移到另一個(gè)框架?

Steve:我一直對(duì)客戶說(shuō):如果你喜歡 Next.js,那這個(gè)方案很適合你;但如果你本身就不喜歡 Next.js,那完全沒(méi)必要折騰,花 10 美元的 token,就可以遷移到其他框架。現(xiàn)在的選擇非常多,比如 Astro、TanStack、SolidJS 等等。借助 AI,只要你有一套完善的端到端測(cè)試,遷移成本已經(jīng)變得非常低。

我做這個(gè)項(xiàng)目并不是因?yàn)槲姨貏e熱愛(ài) Next.js,而是因?yàn)槲蚁胩剿?AI 的能力邊界。如果你不想用 Next.js,完全可以讓 AI 幫你換掉它。

Wes:我最近也用 AI 將一個(gè) Express 項(xiàng)目遷移到 Hono,幾乎是自動(dòng)完成的,門(mén)檻真的變低了。

Steve:這也讓我在思考:未來(lái)軟件開(kāi)發(fā)的激勵(lì)機(jī)制會(huì)發(fā)生什么變化?抽象層的意義是否會(huì)改變?我沒(méi)有答案,但可以確定的是,這條邊界一定會(huì)發(fā)生變化。

未來(lái)的 AI 原生編程語(yǔ)言

Scott:未來(lái)是否會(huì)出現(xiàn)專(zhuān)為 AI 設(shè)計(jì)的框架或編程語(yǔ)言?

Steve:我認(rèn)為一定會(huì)。甚至不僅是框架,還可能出現(xiàn)“AI 優(yōu)先”的編程語(yǔ)言。當(dāng)然,這些新技術(shù)一開(kāi)始會(huì)面臨“訓(xùn)練數(shù)據(jù)缺失”的問(wèn)題——模型不知道怎么用它們。但我不認(rèn)為這是無(wú)法解決的。未來(lái)一定會(huì)有新的方法,把關(guān)鍵知識(shí)注入模型,使 AI 能夠快速掌握新語(yǔ)言或新框架。

Wes:“AI 原生的編程語(yǔ)言”會(huì)是什么樣?

Steve:我覺(jué)得核心還是“約束”,因此,這樣的語(yǔ)言很可能是強(qiáng)類(lèi)型的。如果觀察現(xiàn)有語(yǔ)言,Rust 雖然較為冗長(zhǎng),但擁有完善的安全機(jī)制,甚至有一種說(shuō)法是“只要能編譯通過(guò),就基本可以運(yùn)行”。但與此同時(shí),我認(rèn)為還需要類(lèi)似 Go 的簡(jiǎn)潔性。Go 的設(shè)計(jì)理念是“少而精”,通常只有一兩種實(shí)現(xiàn)方式。因此,一個(gè)理想的 AI 原生語(yǔ)言,可能是兼具 Rust 的約束能力與 Go 的簡(jiǎn)潔風(fēng)格。

Wes:那語(yǔ)法會(huì)更偏向嚴(yán)格規(guī)范,還是類(lèi)似自然語(yǔ)言?

Steve:我傾向于前者。為了提供清晰的約束邊界,語(yǔ)法仍然需要是嚴(yán)格且有限的。當(dāng)然,我個(gè)人非常喜歡 TypeScript,如果它在 AI 時(shí)代被替代,我會(huì)感到遺憾。

Wes:在你的 OpenCode 環(huán)境中,是否使用了 TypeScript 的 LSP?

Steve:它是默認(rèn)啟用的,因此一直在后臺(tái)運(yùn)行。我不確定它是否帶來(lái)了顯著提升,但也沒(méi)有證據(jù)表明它無(wú)效。不過(guò),LSP 有時(shí)會(huì)出現(xiàn)不同步的問(wèn)題,例如提示錯(cuò)誤,但實(shí)際類(lèi)型檢查已經(jīng)通過(guò),這類(lèi)情況會(huì)導(dǎo)致模型短暫困惑。

Wes:如果未來(lái)類(lèi)型檢查可以在極短時(shí)間內(nèi)完成,是否會(huì)進(jìn)一步提升 AI 效率?

Steve:我們已經(jīng)在使用一些高性能工具,例如 TypeScript Go、Oxlint、OX Format 以及 Vitest。我在項(xiàng)目中優(yōu)先選擇這些高性能工具,因?yàn)榭焖俜答佈h(huán)至關(guān)重要。如果每次編譯都要幾秒鐘,那整個(gè)效率會(huì)被嚴(yán)重拖慢。

Scott:近年來(lái),Cloudflare 在開(kāi)發(fā)者體驗(yàn)(DX)方面似乎有明顯提升,這是否是有意為之?

Steve:這是明確的戰(zhàn)略方向。我加入 Cloudflare 時(shí),核心目標(biāo)之一就是提升開(kāi)發(fā)者體驗(yàn)。我們的重點(diǎn)在于引入具備良好產(chǎn)品判斷力的人才,并賦予他們充分空間去優(yōu)化體驗(yàn)。

作為管理者,我的職責(zé)更像是“決定在哪里建設(shè)消防站”,而不是親自“滅火”。這意味著我要從更長(zhǎng)期的視角去看,比如兩年后團(tuán)隊(duì)是否能產(chǎn)出更好的產(chǎn)品。目前來(lái)看,這些投入已經(jīng)開(kāi)始產(chǎn)生回報(bào),例如新的設(shè)計(jì)工程團(tuán)隊(duì)正在持續(xù)優(yōu)化控制臺(tái)界面。雖然仍有改進(jìn)空間,但相比幾年前已經(jīng)有顯著提升。

我們還有許多尚未公開(kāi)的項(xiàng)目,正在從多個(gè)層面推進(jìn)改進(jìn)。一方面是持續(xù)優(yōu)化現(xiàn)有產(chǎn)品,另一方面也在重新思考平臺(tái)的整體形態(tài),不僅要適合人類(lèi)開(kāi)發(fā)者,也要適配 agent。

Agent 的開(kāi)發(fā)體驗(yàn)與人類(lèi)不同,它不需要界面美觀,但必須具備清晰結(jié)構(gòu),使其能夠理解操作路徑,這種“面向 agent 的 DX”將成為未來(lái)的重要方向。

Wes:在結(jié)束前,你還有什么想補(bǔ)充的嗎?

Steve:我想從一個(gè)更宏觀的角度來(lái)說(shuō):我對(duì)這一切既興奮,又不安。我們正處在一個(gè)可能是巨大技術(shù)變革的時(shí)代,就像印刷術(shù)、蒸汽機(jī)那樣的革命性節(jié)點(diǎn)。

如果要類(lèi)比,我們這一代人經(jīng)歷過(guò)的最接近的可能是移動(dòng)互聯(lián)網(wǎng),甚至是互聯(lián)網(wǎng)本身。但即便是互聯(lián)網(wǎng),它的普及也花了很長(zhǎng)時(shí)間,需要鋪設(shè)基礎(chǔ)設(shè)施。而現(xiàn)在不一樣,一項(xiàng)新能力發(fā)布后,幾乎 24 小時(shí)內(nèi),全世界的人都能用到。

所以,不只是這場(chǎng)變革的“規(guī)?!本薮螅摹八俣取币脖粯O度壓縮了。有時(shí)候我會(huì)覺(jué)得自己已經(jīng)走在很前面,但有時(shí)候看到別人做的事情,又會(huì)意識(shí)到自己其實(shí)還只是剛剛起步。

Wes:你認(rèn)為下一個(gè)被 AI 深刻改變的行業(yè)會(huì)是哪些?

Steve:醫(yī)療很可能是下一個(gè)重點(diǎn)行業(yè),其發(fā)展路徑可能類(lèi)似編程領(lǐng)域:AI 能夠處理大量基礎(chǔ)工作,但仍需要經(jīng)驗(yàn)豐富的醫(yī)生進(jìn)行決策和引導(dǎo)。

實(shí)際上,一些醫(yī)院已經(jīng)在使用 AI,例如語(yǔ)音轉(zhuǎn)錄等技術(shù)。雖然由于監(jiān)管?chē)?yán)格,全面普及還需要時(shí)間,但我認(rèn)為它最終會(huì)徹底改變我們理解和處理病人信息的方式。

Wes:例如將可穿戴設(shè)備數(shù)據(jù)與大規(guī)模病例數(shù)據(jù)結(jié)合,確實(shí)可能帶來(lái)新的突破。

Steve:作為技術(shù)從業(yè)者,我們需要盡力引導(dǎo)技術(shù)向有益方向發(fā)展。正如印刷術(shù)既推動(dòng)文明進(jìn)步,也引發(fā)沖突一樣,AI 同樣會(huì)帶來(lái)正反兩方面影響。我們的責(zé)任是盡可能擴(kuò)大其正面價(jià)值。

訪談視頻原鏈接:

https://www.youtube.com/watch?v=h39oZb2-7Xo&t=1s

聲明:本文為 InfoQ 整理,不代表平臺(tái)觀點(diǎn),未經(jīng)許可禁止轉(zhuǎn)載。

會(huì)議推薦

QCon 全球軟件開(kāi)發(fā)大會(huì)·2026 北京站將于 4 月 16 日 -18 日正式舉辦。本屆大會(huì)以“Agentic AI 時(shí)代的軟件工程重塑”為主題,聚焦 100+ 重磅議題,匯聚來(lái)自阿里、騰訊、字節(jié)跳動(dòng)、小米、百度等一線科技企業(yè)與創(chuàng)新團(tuán)隊(duì)的技術(shù)專(zhuān)家,圍繞 AI 工程化、系統(tǒng)架構(gòu)與研發(fā)模式演進(jìn)展開(kāi)深入探討。更多詳情可掃碼或聯(lián)系票務(wù)經(jīng)理 18514549229 進(jìn)行咨詢。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
乘客買(mǎi)高鐵“08車(chē)01C”座 上車(chē)卻懵了

乘客買(mǎi)高鐵“08車(chē)01C”座 上車(chē)卻懵了

大象新聞
2026-04-27 21:20:08
蔡正元談及蔣介石安葬問(wèn)題:大陸嚴(yán)格遵循墓制不允中山陵同眠

蔡正元談及蔣介石安葬問(wèn)題:大陸嚴(yán)格遵循墓制不允中山陵同眠

今天說(shuō)故事
2026-04-27 17:46:55
李嘉欣現(xiàn)身倫敦街頭被路人偶遇,頂級(jí)骨相美到發(fā)光完全不像55歲

李嘉欣現(xiàn)身倫敦街頭被路人偶遇,頂級(jí)骨相美到發(fā)光完全不像55歲

喜歡歷史的阿繁
2026-04-24 11:57:41
浙江又一家銀行正式解散,年內(nèi)超70家村鎮(zhèn)銀行退出市場(chǎng)

浙江又一家銀行正式解散,年內(nèi)超70家村鎮(zhèn)銀行退出市場(chǎng)

經(jīng)理人雜志
2026-04-27 14:37:45
馬齒莧立功!研究發(fā)現(xiàn):其天然成分4周降脂33%,還能減少血管斑塊

馬齒莧立功!研究發(fā)現(xiàn):其天然成分4周降脂33%,還能減少血管斑塊

思思夜話
2026-04-25 11:16:17
曼城夏窗迎大換血!9人清洗+1.9億引援,中場(chǎng)重構(gòu)成頭號(hào)目標(biāo)!

曼城夏窗迎大換血!9人清洗+1.9億引援,中場(chǎng)重構(gòu)成頭號(hào)目標(biāo)!

田先生籃球
2026-04-27 16:19:57
節(jié)目播半月,馬頔秦昊高情商獲贊,孫丞瀟翻盤(pán),一人遭全網(wǎng)批評(píng)

節(jié)目播半月,馬頔秦昊高情商獲贊,孫丞瀟翻盤(pán),一人遭全網(wǎng)批評(píng)

生命之泉的奧秘
2026-04-28 02:33:07
美國(guó)質(zhì)問(wèn)中國(guó):若中國(guó)真的愛(ài)好和平,為何還要大力發(fā)展軍事?

美國(guó)質(zhì)問(wèn)中國(guó):若中國(guó)真的愛(ài)好和平,為何還要大力發(fā)展軍事?

墨羽怪談
2026-04-21 18:29:25
情人之間,只要發(fā)生了肉體關(guān)系,都逃不出這2種結(jié)局

情人之間,只要發(fā)生了肉體關(guān)系,都逃不出這2種結(jié)局

皓皓情感說(shuō)
2026-04-27 09:28:25
馬蟲(chóng),在韓國(guó),女人如果推著嬰兒車(chē)出門(mén),可能會(huì)遭到幾萬(wàn)人的網(wǎng)暴

馬蟲(chóng),在韓國(guó),女人如果推著嬰兒車(chē)出門(mén),可能會(huì)遭到幾萬(wàn)人的網(wǎng)暴

西樓知趣雜談
2026-04-27 21:20:53
全球首家AI妓院,革了成人行業(yè)的命

全球首家AI妓院,革了成人行業(yè)的命

廣告案例精選
2026-04-02 14:49:22
賀希寧當(dāng)選MVP誰(shuí)最失意?他被全網(wǎng)群嘲 打出生涯最差表現(xiàn)怪誰(shuí)?

賀希寧當(dāng)選MVP誰(shuí)最失意?他被全網(wǎng)群嘲 打出生涯最差表現(xiàn)怪誰(shuí)?

大嘴爵爺侃球
2026-04-27 20:15:21
新婚夜,妻子出上聯(lián):昌是日上日,丈夫的下聯(lián)讓妻子哈哈大笑

新婚夜,妻子出上聯(lián):昌是日上日,丈夫的下聯(lián)讓妻子哈哈大笑

千秋文化
2026-04-27 19:54:14
055大驅(qū)開(kāi)到菲律賓家門(mén)口實(shí)彈射擊!主炮噴火那刻,美菲日安靜了

055大驅(qū)開(kāi)到菲律賓家門(mén)口實(shí)彈射擊!主炮噴火那刻,美菲日安靜了

健身狂人
2026-04-28 01:50:37
廣西欽州遭遇近十年來(lái)最強(qiáng)日降雨,當(dāng)?shù)靥崾尽胺潜匾煌獬觥?>
    </a>
        <h3>
      <a href=澎湃新聞
2026-04-27 11:08:26
4月27日下午中國(guó)男籃:傳來(lái)3大主力消息!徐杰、曾凡博、胡明軒

4月27日下午中國(guó)男籃:傳來(lái)3大主力消息!徐杰、曾凡博、胡明軒

瀲滟晴方DAY
2026-04-28 06:12:18
切爾西放大招!鎖定八冠名帥接任,巴薩傳奇有望空降斯坦福橋

切爾西放大招!鎖定八冠名帥接任,巴薩傳奇有望空降斯坦福橋

奶蓋熊本熊
2026-04-28 05:05:57
從國(guó)米非賣(mài)品到熱刺棄將,只用了3年時(shí)間,齊達(dá)內(nèi)接班人毀于性格

從國(guó)米非賣(mài)品到熱刺棄將,只用了3年時(shí)間,齊達(dá)內(nèi)接班人毀于性格

足籃大世界
2026-04-27 17:27:12
臺(tái)灣女生考上同濟(jì)大學(xué),瞞著家人偷偷來(lái)上海上學(xué),剛下飛機(jī)就落淚

臺(tái)灣女生考上同濟(jì)大學(xué),瞞著家人偷偷來(lái)上海上學(xué),剛下飛機(jī)就落淚

白云故事
2025-07-30 21:25:03
10元換來(lái)632萬(wàn)!廣東這張“露臉”實(shí)票火了,彩民:這選號(hào)太熟悉

10元換來(lái)632萬(wàn)!廣東這張“露臉”實(shí)票火了,彩民:這選號(hào)太熟悉

藍(lán)色海邊
2026-04-28 03:26:06
2026-04-28 06:56:49
InfoQ incentive-icons
InfoQ
有內(nèi)容的技術(shù)社區(qū)媒體
12309文章數(shù) 51863關(guān)注度
往期回顧 全部

科技要聞

DeepSeek V4上線三天,第一批實(shí)測(cè)出來(lái)了

頭條要聞

坐在特朗普身邊親歷槍擊案的女記者 身份非常不一般

頭條要聞

坐在特朗普身邊親歷槍擊案的女記者 身份非常不一般

體育要聞

人類(lèi)馬拉松"破二"新紀(jì)元,一場(chǎng)跑鞋軍備競(jìng)賽

娛樂(lè)要聞

黃楊鈿甜為“耳環(huán)風(fēng)波”出鏡道歉:謠言已澄清

財(cái)經(jīng)要聞

Meta 140億收購(gòu)Manus遭中國(guó)發(fā)改委否決

汽車(chē)要聞

不那么小眾也可以 smart的路會(huì)越走越寬

態(tài)度原創(chuàng)

健康
游戲
藝術(shù)
親子
教育

干細(xì)胞如何讓燒燙傷皮膚"再生"?

PS5最沒(méi)用配件下架!不更新不優(yōu)化純擺爛

藝術(shù)要聞

幸福就是住著小院子,過(guò)著小日子

親子要聞

幼兒園運(yùn)動(dòng)會(huì),小朋友腳踩滾動(dòng)轉(zhuǎn)呼啦圈

教育要聞

教育生態(tài)的悲歌!尖子班幾個(gè)月徹底隕落:數(shù)學(xué)平均分從90多跌到63

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版