![]()
作者|Tina
采訪嘉賓|黃東旭、徐昊、滕昱(按文中出場順序)
“我現在陷入到一種巨大的虛無主義里,AI 什么都能寫。”
PingCAP 聯合創始人兼 CTO 黃東旭在完成 db9 項目后這樣說。
做 db9 之前,他心里預設過一個終點:復雜到某個階段,AI 總該做不下去。結果是,每次系統看起來要撞墻,調整 harness、任務拆分和 agent 協作方式之后,它又繼續往前走。三個月后,一兩個人參與、100 多萬行代碼的數據庫項目跑了出來。最后,他發現自己沒有等到那個邊界。
“我做 db9 過程中,最大的體會就是,我沒看到邊界。這已經是我能想到最復雜的軟件了,但還是沒有看到邊界。”
那些讓我們爭得頭破血流的東西,都沒了
“沒看到邊界”的第一層含義,是過去很多被視為長期鎖定的東西,開始松動了。
語言、框架、數據庫選型,曾經都是軟件工程里最重的決策。一個系統寫進某種語言、某個框架、某個數據庫以后,技術棧會慢慢長成組織結構。招聘按它來,測試體系按它來,部署方式按它來,線上事故的處理經驗按它來,工程師的身份認同也按它來。時間越久,這個選型越不像一個技術選擇,而更像一條公司命運線。
所以選型是一個漫長、謹慎、充滿驗證成本的過程。用 Rust 還是 Go?React 還是 Vue?MySQL 還是 Postgres?每有更換技術棧的事情,社區里都會為是否值得吵上好一陣。而且類似的遷移在過去往往是以“年”為單位的工程。Meta 從 Java 遷到 Kotlin,哪怕高度依賴自動化工具,也跑了整整 4.5 年;微軟把 TypeScript 編譯器用 Go 重寫,也花了約 14 個月。
但 Bun 從 Zig 遷移到 Rust,用了 6 天。
Ghostty 作者、HashiCorp 聯合創始人 Mitchell Hashimoto 說:“編程語言過去意味著鎖定,但現在越來越不是這樣了。Rust 并不重要,Bun 已經證明,他們幾乎可以在一兩周內用任何他們想要的語言寫代碼。”
Simon Willison 記錄過一個應用層的類似案例。一家中型企業用 coding agent 將他們歷史悠久、頗具代表性的遺留 App,包括 iPhone 和 Android 兩個原生版本,都重寫成了 React Native。他問這家技術負責人為什么要換框架,對方的回答是:“即使后來證明這個決策是錯的,未來也可以再用 Agent 遷回原生。”
框架選型不再像過去那樣是一條單行道,它開始變成一個隨時可以撤回、可以重做的工程決策。
數據庫也一樣。,從 Agent 的視角看,MySQL 和 Postgres 之間,只是語法差異,就像方言問題,不是世界觀問題。因為兩者背后是同一個心智模型——SQL。這個模型極其穩定,在 LLM 的訓練語料里到處都是。Agent 早就懂了。
Agent 沒有偏好,“它不會在乎語法優不優雅,也不會在乎社區文化,更不會糾結‘哪一個更像正統’。只要接口是穩定的、語義是清楚的,生態是完備的,網上能找到豐富的文檔,它就可以很快適配”。
那些讓人類吵得頭破血流的品味之爭,在 Agent 這里,都不存在了。
“什么都能寫”
如果語言、框架、數據庫都不再構成不可動搖的長期鎖定,那么接下來真正被打開的,就是軟件實現本身。
黃東旭說,“AI 基本上可以用任何方案、任何工具、任何手段去寫任何東西。”
db9 就是一個復雜度足夠的例子。,完整的 Postgres 語法支持、具備向量檢索 / 全文檢索能力、TypeScript Serverless 函數、極致多租戶。三個月內,從第一行代碼到上線,代碼量超過 100 萬行 Rust。0 行由人類手寫,0 行由人類 review。上線后,服務了超過 10,000 個數據庫實例。
成本方面,峰值時一天會消耗約 10 億 token;一個月下來,大約是 2000 美金級別的 token 成本。這個成本相對比最終產出,基本可以忽略不計。對比來看,過去做出同樣規模的東西,至少需要幾十個人的團隊干上一年。“現在相當于我一個人一個月就干出來了,”他說,“所以還是很夸張的,當時我自己也非常震驚。”
這個項目始于感恩節假期的一個小實驗,一開始就是想試試看它的邊界在哪里。“我心里預想的是,應該做到某個階段,它就做不下去了。”但每次到了做不下去的時候,就看看是什么地方出錯了,然后跟它一起調整自己寫的 harness 產品,不斷優化人和 AI 協同的方式。結果發現它和它的團隊越干越好,一直往前走。
“到某個點之后,我發現它已經超出了我能掌握或者說我能看的邊界,我就不看了,因為看不過來。它的產出效率太高了。到今天,我已經不太關心代碼細節了。至于開發過程,它肯定干得比我好。”
AI 做事太快,反饋鏈路太短。過去這段時間,黃東旭以前攢下的所有 idea,以前想做的但沒時間做的所有東西,現在用 AI 一個不落地的都實現出來了。基本上每天做一個,每天做一個,到后來,他產生 idea 的速度已經跟不上 AI 做出來的速度了,這讓他非常難受。
黃東旭本身技術能力足夠強。當一個技術很強的人把 AI 握在手里,效果被放大無數倍,結果會很可怕:“我現在的狀態是:至少生產軟件這個過程已經沒有什么意義了。你不會再覺得一個東西很難,或者覺得它是高科技。軟件本身作為護城河,這件事已經沒有了。我可以復制我看到的任何東西。但復制也沒什么意義,因為人家已經做了。”
我們問他:那到底什么軟件能寫?是否需要一些特別的原始條件?
他回答:“沒有什么原始條件。沒有。所以我現在陷入到一種巨大的虛無主義里,什么都能寫。”
“重寫”格局小了
從“什么都能寫”走向“什么都能重寫”,可能是這輪變化里更值得關注的行業趨勢。
AI 不只是降低了軟件生產門檻,更在改變軟件演進的方式。過去,“重寫”往往意味著高風險:舊系統不能停、兼容性不能丟、業務邏輯不能錯,所以很多老系統,只能繼續運行下去,沒人敢真正替換它們。
先是那些邊界清楚的軟件開始被重寫,接著連沒有源碼的系統也開始被還原和重建。
這半年里,有大量的重寫案例。
今年 2 月,Cloudflare 的工程師 Steve Faulkner 發現 Next.js 很難部署到無服務器平臺,于是用 AI 在一個周末里重寫了它,做出 Vinext——一個基于 Vite 的替代實現,Token 成本約 1100 美元,已跑進生產環境。
今年 3 月,一個叫 chardet 的 Python 庫——requests 的依賴,很可能藏在你的項目里——它的維護者在維護了十二年后,用 Claude 重寫了整個庫,并把許可證從 LGPL 換成了 MIT。引發的爭議至今沒停。
更極端的是沒有源碼的重寫。
總有一些沒人愿意觸碰、又人人依賴的系統,特別是在運行了幾十年的大型企業核心系統里。它們構建于早已無人問津的技術棧,困在過時的數據庫、老舊的操作系統、脆弱的虛擬機中。維護人員流失,文檔缺失脫節,甚至連源代碼都找不到了。
Thoughtworks 做過一個典型案例。一套企業系統,源代碼完全丟失,只有二進制文件還在。數據庫有 650 張表、1200 個存儲過程,應用層是 45 個 DLL 文件。團隊用 LLM 輔助反向還原:觀察 UI 變化,追蹤數據庫寫入,分析存儲過程,反編譯匯編代碼,再由人做驗證、校準和交叉確認。幾周時間產出了足以驅動重寫的規格。傳統方式需要 20 人花 6 個月。
![]()
還有一個更戲劇化的個人項目。1992 年,Jon Radoff 開發了一款 MUD 游戲,獲得了 1993 年《計算機游戲世界》雜志的藝術卓越獎,2000 年停運,源代碼全部丟失,只剩下一些腳本、手冊和游戲錄像。他把這些材料丟給 Claude Code,說“自己搞明白”。Claude Code 逆向還原了他 30 年前設計的自定義腳本語言,然后從零重建了整個游戲引擎和完整世界。原版是 90 年代他花幾個月寫出來的 C 代碼,這次變成了一個周末項目。
“一種我三十年前設計的語言,沒有正式規范,只有一本 GM 手冊和一堆示例腳本,被一個從未見過它的 AI agent 完整重建了。”
也就是說,就算沒有源代碼的軟件系統,在大模型面前也能被重寫、被復活。
代碼不重要,知識才重要
徐昊把這類實踐歸為“知識工程”。他認為,真正有用的不是代碼本身,而是文檔、遺留下來的規則、業務邏輯、系統行為這些沉淀在軟件里的知識。就像 Thoughtworks 的黑盒案例,背后其實也是通過反向工程去反推 specification,因為真正有用的是把這些知識還原回來。
徐昊在匯豐銀行也用了很多類似 specification driven 的方法。面對遺留系統,先讓 AI 生成一版 specification,講清楚這個系統在做什么;人去讀、修正,讓 specification 變正確;再根據 specification 生成測試,用測試驗證系統行為。之后基于這份 specification 做改造和遷移。
“這比你拿到一段代碼,直接讓 AI 去遷移,要重要得多。”因為“真正要反向出來的,不是代碼,是 specification。”
這就回到了他一直在強調的那個判斷:軟件本身只是載體,真正的產品是軟件中的知識。
如果知識已經留存下來,載體發生變化,這件事用交叉編譯來理解更清楚——同一份代碼以前要跑在不同芯片上,通過編譯生成對應平臺的可執行代碼,你不會說“編譯器幫我重寫了軟件”。因為 specification 是存在的,“編譯器”只是幫它換了個載體。現在,通用大模型成了那個編譯器,在不同技術棧之間做遷移和轉換。
就像一本故事書,書本身不是產品,里面的人物、故事線、情節才是。至于是紙質書、電子書還是播客,差別不大。放到軟件里,用 Rust 寫、用 C++ 寫,或者換一個框架,本質上都是載體變化。
徐昊說,他在行業里嚷嚷快 10 年了:軟件不是產品,軟件中的知識才重要,應該更加注重軟件中的知識管理。現在 AI 終于讓它變成了顯學。
只談“重寫”,視角太狹隘了
如果從行業和社區的變化往前看,用 AI 來“重寫軟件”這個視角本身也窄了。
“重寫”默認有一個邊界清楚的軟件:Photoshop、ERP、數據庫、框架、編譯器。先有固定對象,再討論要不要換技術棧重新實現。但徐昊覺得,這個前提正在松動。未來很多軟件可能不再以固定邊界存在。
微軟和英偉達正在準備把 agent 做進操作系統內核。Agent 一旦進入操作系統,軟件入口就變了:過去是人打開應用、尋找功能;未來可能是人直接提出需求,系統現場生成能力。Hermes 這類系統已經在往這個方向走。很多 skill 不再來自下載,而是根據任務現場生成。這意味著,“應用程序”和“有固定邊界的程序”可能會徹底消亡。
而我們今天討論的“重寫”,前提是“有一個固定邊界的軟件需要被重寫”。如果這個前提本身正在瓦解,那“重寫”這個話題的格局就小了。
徐昊舉了 Photoshop 的例子。今天你說要重寫它,因為 4000 個功能需要復刻。但未來,它可能只需要最核心的圖像處理能力——你告訴 agent 要 P 圖還是創作,它當場給你生成幾個功能就夠了。
軟件的存在方式正在被重寫,而“重寫”這個概念本身,可能也只是一個過渡。
AI 能寫一切,但“老登”說了算
既然什么都能寫、什么都能重寫,那人的價值會發生什么變化呢?
二三十年 IT 經驗的滕昱說,AI 會給行業帶來極大變化,90% 到 95% 的程序員會受到影響。但“老登們(老工程師們)”還有希望——那些真正能做判斷、能掌舵的人。
滕昱最近兩個月寫了大量代碼,但不是直接寫。“誰還手搓代碼呢?只需要 review,做判斷。”
在他看來,Agent 寫代碼的能力已經超過絕大多數人,“所有還在學習中的新人、十年經驗以內的人,都沒 Agent 做得好。”
人寫代碼往往是 happy path 寫完,頂多再加幾條異常路徑,出了問題再補。但 Agent 不一樣,它不會偷懶,一寫就是三五千行,把所有路徑都堵上,在受過訓練的領域里,這是它的強項。但問題是,它不能掌握方向。
因為 AI 只有討好型人格,它是被一個沒有痛苦反饋的系統訓練出來的。面對一個復雜問題,它說不出口“我做不了,我不會”。相反,它會編答案,會忽悠你。你讓它改到第三遍還不對,它還會繼續給你一個看上去像那么回事的東西。如果沒經驗,你很容易被它忽悠,連測試它都能造假。
所以,做好的前提是有人掌舵。方向要自己定,設計要自己做——至少要給 AI 一個小設計,它才能做下去。那誰來掌舵?“老登”——只有那些踩過坑、做過決策、知道路通向哪里的老工程師,才知道該往哪個方向指。
黃東旭印證了這一點。他說,“我的觀點就是,它確實什么都能干,但人要負責判斷。”
因為它什么都能干、什么都能寫,知道的東西又非常多,所以人的判斷反而變得更重要。如果什么 input 都不給,讓它自己干,剛開始很快,幾萬行代碼的雛形一下就出來了。但越往后越推進不下去。這邊改好一點,那邊就崩了;那邊改好一點,這邊又崩了。甩手掌柜式的開發,做不了特別復雜的項目。
尤其是特別長、特別大的復雜模塊,就會考驗人的技術選型品位、經驗和判斷水平。
比如做數據庫內核設計,你得告訴 AI:parser、優化器、執行器這三大組件怎么拆,不能把所有代碼堆在一個大文件里;如果采用 volcano model,優化器該考慮哪些 metrics,什么算法最合適,參考哪篇論文、哪種實現——這些不能從書里抄來,得做了很多年內核才能知道。
另一類 Input 是軟件工程層面的代碼風格和技術選型:模塊不能嵌套太深,文件超過 2000 行就得拆,做網站用 Vercel、不要用別的,用 Postgres、不要用 MySQL。AI 可能全都知道,但它不知道“應該用哪個”。這些約束來自經驗,來自對“哪條路后面會省很多事”的判斷。
徐昊從另一個角度解釋了這件事。他說,敏捷軟件開發里早就講過一件事:開發過程中 80% 的工作是溝通、定義需求、定義驗收條件。寫代碼只是剩下那 20%。現在流行的 harness engineering,本質上做的是同一件事——定架構規范、編碼規范、架構分層,這叫前饋控制;后面寫驗收條件、寫測試,這叫反饋控制。這些本來就是工程實踐里該有的東西。
所以,程序員的工作從來就不是“寫代碼”。寫代碼是手段,不是目的。程序員的工作是寫正確的代碼,寫 ROI 最高的代碼,寫優先級最高的功能,為客戶交付價值。
如果一個人認為自己的工作就是寫代碼,徐昊說,“那這個人早就該被行業淘汰了,都不需要等到今天 AI 出現。”AI 只是把這件事變得不能再被忽視。
工具變了,但價值來源沒有變。開發者真正值錢的地方,始終是為客戶交付了什么,而不在于親手完成了什么動作。
唯一還值得吵的事:企業軟件維護
過去一年,軟件工程里的老規矩一條條在斷。技術棧鎖不住了。重寫沒那么可怕了。代碼也不值錢了。行業變了,開發者的價值也變了。軟件的護城河也變了——用 AI 把 Salesforce 重寫一遍自己用,聽起來好像也不離譜。
黃東旭反而說,這是創業最好的時候。寫代碼本身不再稀缺,真正知道自己要解決什么現實問題、能帶來什么業務價值的人,反而浮出來了。過去需要 1000 人解決的問題,今天兩三個人經驗豐富的人就可能搞定。所以對真正有 know-how、真正能解決實際問題的人來說,這是最好的創業時機。
徐昊的判斷也類似。他不覺得這是一個很爛的時代,反而覺得這是最好的時代。過去企業買標準軟件,常常要削足適履——上了 ERP,組織流程要遷就軟件;不上,規模大了又管不過來。SaaS 把流程做短了,但根本矛盾還在:每家企業都有自己獨特的運營模式,為什么一定要所有人適配同一套軟件?大模型把這個問題重新打開了。企業可以用更低成本做出真正適合自己運營方式的軟件。市場當然會洗牌,但沒有永恒的業務模式。
然而,新世界正在降臨,舊世界里的東西還沒消失。
新軟件可以重寫,但企業內部那些跑了十幾年、二十幾年的系統,不會因為一句“AI 什么都能寫”就消失。它們還在生產環境里,還在客戶機房里,還在承擔真實業務,還需要繼續維護。這也是很多老一代技術人沒那么樂觀的原因——、、 這些人擔心的,不是 AI 寫不出新代碼,而是它會把已有代碼庫變得更亂。
于是,兩種判斷在這里分岔: 一部分人看到的是未來,另一部分人看到的是現實。
徐昊屬于前者。他認為“維護”這個概念本身就非常“人類”——它的前提是“我要在現有代碼上修改”。但如果重寫的速度足夠快,為什么還要維護?他舉了編譯器的例子。以前程序員寫匯編,編譯完還要自己手動改。后來編譯器水平提高了,沒人再去改編譯器生成的匯編了。如今,也不會有人說要去維護編譯器生成的東西——想改,重新編譯一遍就行。
同理,那我們為什么還要去維護 AI 自動生成的代碼?“只要控制好上下文,把它置于 harness engineering 的框架之下,在每一個具體上下文里,生成的代碼行為都是可控、可驗證的。需要什么功能,重新生成就好了。”
他甚至認為,現在的 Agent 工具已經可以直接接管一個代碼倉庫。人只需做知識標注、補充業務上下文,Agent 就能圍繞倉庫中的文件進行閱讀、理解和索引,快速定位這些文件,并在上面直接修改。
只要一個已有代碼倉具備充分的上下文標注,并托管給 Agent,它就能像人一樣進行修改。
“現在絕大多數情況——至少據我所知,大部分企業——會逐步從手工寫代碼過渡到 Agent 托管。”新功能或新特性完全交由 AI 完成,這種情況確實存在。但更常見的工作形態是:以 Agent 托管為主,AI 改一部分,人則提供更強的 harness 或反饋。
直到有一天,AI 的理解能力足夠強大,能在代碼倉庫里完全獨立完成開發。到那時,就不再需要人類干預了,編程將完全由 AI 托管。至于這個代碼倉最初是人寫的還是 AI 寫的,已經不重要了。
滕昱的視角更貼近當下的現實。他說企業軟件很多都是屎山代碼,前后不一致的判斷太多,Agent 進去會精神分裂。Agent 確實能寫代碼,在本地當然也能讓代碼整體跑起來,可現在最大的問題是,一旦部署到客戶環境,出了問題,不能甩手不管,還是得自己登錄客戶環境去處理。
他也提到,前一陣和朋友聊天,對方同樣反映,AI 代碼上線后,bug 數量明顯增多,問題成堆。說白了這就是雙刃劍,最終責任還得由人來承擔。
問題在于,重寫和遷移的成本下降是有前提的——得是在基本完成同樣功能的前提下,基礎的編程語言和 framework 基本能做到 1 對 1 mapping 時才能成立。
可現實中,很多細微的語言級別和行為細節上,但凡不能做到 100% 兼容,都會出現看起來很美、跑起來崩潰的情況。這一點在代碼歷史包袱重的企業軟件上尤其突出:一旦有人把一個巨大重寫的 PR merge 進來,基本上當前這個 release 就要面臨延期的風險。
再比如,你讓 AI 重寫一個模塊,語法能編譯,單元測試能過,但一上線流量來了就崩。拿 JDK 升級來說,很多大版本升級都有語義差異,Java 的語義在不同版本間并不一樣,比如 virtual thread 這類特性。語法上可以編譯,剛跑起來也沒問題,流量一上來行為就不可控,出了事連 debug 都沒法做。
“今年下半年企業開發里一定會看到很多這種例子,”滕昱說道,“越是那種半懂不懂的人,反而越容易相信 AI,那就等著看笑話吧。”
聲明:本文為 InfoQ 原創,不代表平臺觀點,也不構成投資建議,未經許可禁止轉載。
會議推薦
2027 年,企業級 AI Agent 市場將達 655 億元。要想讓 Agent 跑起來,得先把 Infra 這條路鋪好。騰訊云最新白皮書出爐,深度拆解 Agent Infra 落地路徑,從趨勢、能力到案例,一站式解決企業 Agent 落地痛點。點擊【閱讀原文】或掃碼下載,一鍵獲取干貨
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
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.