如果AI能跳過編譯器直接生成機(jī)器碼,全球1200萬程序員的工作流將被連根拔起。這不是科幻,是馬斯克在2024年拋出的時(shí)間表——兩年。
他在X上放話:Grok Code的訓(xùn)練邏輯和市面上所有代碼大模型都不一樣。別人教AI寫人看得懂的代碼,他教AI直接寫CPU看得懂的0和1。
Current: Code → Compiler → Binary → Execute
Future: Prompt → AI-generated Binary → Execute
這個(gè)省略號(hào)里刪掉的東西,是程序員花了70年搭建的整個(gè)工程體系。
從插線板到Prompt:人類怎么一步步"偷懶"
作者自稱不是計(jì)算機(jī)科學(xué)家,是個(gè)從Fortran寫到TypeScript的老炮。他的履歷很有意思:本科物理學(xué)位里混過匯編和PLC,碩士論文是用C++寫M68K處理器模擬器——親手用高級(jí)語言翻譯過機(jī)器碼的人,對(duì)"代碼"和"二進(jìn)制"之間的距離有肌肉記憶。
他經(jīng)歷過三代編程范式。第一代是物理操作時(shí)代:插線板、撥動(dòng)開關(guān)、打孔紙帶。程序不是寫出來的,是接出來的。第二代是符號(hào)化時(shí)代:匯編語言出現(xiàn),人類用助記符代替機(jī)器碼,但本質(zhì)上還是一對(duì)一翻譯。第三代是抽象爆炸時(shí)代:Fortran、Pascal、C++、C#層層封裝,每一層都在說"讓程序員關(guān)心更少細(xì)節(jié)"。
高內(nèi)聚低耦合、敏捷宣言、DevOps、可復(fù)用框架——這些全是給人類大腦設(shè)計(jì)的認(rèn)知減負(fù)工具。
諷刺的是,無論你的代碼寫得多么"優(yōu)雅",編譯器最后都會(huì)把它攪成一鍋粥。人類痛恨的"面條代碼",CPU吃起來毫無障礙。作者提到一個(gè)數(shù)據(jù):干凈的源代碼最多帶來25%的編譯優(yōu)化空間,剩下的性能榨取全靠編譯器在混亂中找規(guī)律。
這就引出一個(gè)被忽視的事實(shí):編譯器本身就是AI的前身。它是一種領(lǐng)域特定的專家系統(tǒng),把人類可讀的符號(hào)系統(tǒng)翻譯成機(jī)器可執(zhí)行的狀態(tài)轉(zhuǎn)換。GCC、LLVM、MSVC——這些工具積累了四十年的架構(gòu)知識(shí)、處理器特性、平臺(tái)差異,是軟件工程史上最大規(guī)模的"知識(shí)固化"。
馬斯克想繞過的,是這座固化的冰山。
為什么程序員集體反對(duì):三個(gè)技術(shù)層面的硬骨頭
谷歌"elon musk ai skip code machine code",你會(huì)看到技術(shù)博客的集體應(yīng)激反應(yīng)。作者篩選了幾篇有代表性的批評(píng),把它們的技術(shù)論點(diǎn)攤開來看。
第一塊硬骨頭是可驗(yàn)證性危機(jī)。源代碼存在的最大價(jià)值不是運(yùn)行,是被審查。人類需要讀代碼來理解系統(tǒng)行為,需要diff來追蹤變更,需要靜態(tài)分析來捕捉漏洞。二進(jìn)制是行為的終點(diǎn),卻是認(rèn)知的黑洞。AI直接吐二進(jìn)制,等于在程序員和程序之間豎起一道單向玻璃。
第二塊硬骨頭是優(yōu)化權(quán)重的轉(zhuǎn)移。現(xiàn)代編譯器的優(yōu)化策略是數(shù)學(xué)與工程的雙重結(jié)晶:指令調(diào)度、寄存器分配、向量化、鏈接時(shí)優(yōu)化——這些不是"翻譯",是"再創(chuàng)造"。讓AI承擔(dān)這個(gè)角色,意味著它必須內(nèi)建同等規(guī)模的領(lǐng)域知識(shí),而不是靠概率預(yù)測(cè)蒙對(duì)。
第三塊硬骨頭最隱蔽:可移植性的沉沒成本。編譯器的核心功能之一是"一次編寫,到處編譯"。同一份C代碼可以在x86、ARM、RISC-V上生成不同的最優(yōu)機(jī)器碼。AI直接生成二進(jìn)制,要么鎖定特定架構(gòu)(回到匯編時(shí)代的噩夢(mèng)),要么自己充當(dāng)跨平臺(tái)編譯器(復(fù)雜度爆炸)。
Cloud Soft Solution的技術(shù)分析被作者單獨(dú)拎出來,認(rèn)為代表了"利益相關(guān)方視角"——這家做云解決方案的公司,業(yè)務(wù)根基就是現(xiàn)有開發(fā)工具鏈。他們的反對(duì)有立場(chǎng),但立場(chǎng)不等于錯(cuò)誤。
作者為什么覺得"可行":一個(gè)反直覺的技術(shù)判斷
在滿屏的批評(píng)聲中,作者投了贊成票。他的理由不是商業(yè)愿景,是一個(gè)關(guān)于訓(xùn)練數(shù)據(jù)的觀察。
現(xiàn)有的大模型代碼助手(GitHub Copilot、Cursor、Codeium)都被訓(xùn)練來預(yù)測(cè)"下一個(gè)token",而訓(xùn)練數(shù)據(jù)是人類寫的源代碼。這導(dǎo)致一個(gè)結(jié)構(gòu)性偏見:AI被獎(jiǎng)勵(lì)寫出"看起來像人寫的代碼",而不是"運(yùn)行效率最高的代碼"。
Grok Code如果改變訓(xùn)練目標(biāo),直接以"可執(zhí)行二進(jìn)制"為輸出單元,同時(shí)以"通過測(cè)試、性能達(dá)標(biāo)"為獎(jiǎng)勵(lì)信號(hào),它學(xué)習(xí)的將是機(jī)器行為的有效空間,而非人類代碼的統(tǒng)計(jì)規(guī)律。
這類似于AlphaGo的啟示:人類圍棋選手的定式是經(jīng)驗(yàn)壓縮,但蒙特卡洛樹搜索發(fā)現(xiàn)了很多"違反直覺"的勝招。AI直接操作二進(jìn)制,可能發(fā)現(xiàn)人類編譯器從未到達(dá)的優(yōu)化疆域。
作者沒有回避代價(jià)。他承認(rèn)這意味著放棄人類可讀性,放棄漸進(jìn)式調(diào)試,放棄四十年來積累的工程實(shí)踐。但他說了一個(gè)被主流討論忽略的點(diǎn):這些"放棄"是針對(duì)人類程序員的,不是針對(duì)AI系統(tǒng)的。
如果AI能自主驗(yàn)證(formal verification)、自主測(cè)試(property-based testing)、自主部署(canary release),那么"人類讀不懂"就不再是阻斷條件,只是成本轉(zhuǎn)移。
2026年:一個(gè)被低估的激進(jìn)時(shí)間表
馬斯克的時(shí)間表是2026年。技術(shù)社區(qū)的反應(yīng)是"不可能",但作者注意到一個(gè)細(xì)節(jié):Grok Code的訓(xùn)練基礎(chǔ)設(shè)施是xAI自建的,不受Hugging Face生態(tài)的范式約束。
這意味著他們可以重新定義"代碼"的粒度。不是文件,不是函數(shù),不是token序列,而是二進(jìn)制塊的組合操作。訓(xùn)練數(shù)據(jù)可以是現(xiàn)有編譯器的輸入輸出對(duì)(源代碼→優(yōu)化后的匯編),也可以是動(dòng)態(tài)執(zhí)行軌跡(性能分析器的采樣數(shù)據(jù))。
一個(gè)可能的中間態(tài)是"AI生成中間表示(IR)"。LLVM的IR已經(jīng)是架構(gòu)無關(guān)的,但人類難以直接編寫。AI如果精通IR,就能保留編譯器的后端優(yōu)化能力,同時(shí)跳過前端的人類可讀性負(fù)擔(dān)。
作者提到自己的一個(gè)經(jīng)歷:寫M68K模擬器時(shí),他必須逐條理解機(jī)器碼的語義映射。那段經(jīng)歷讓他相信,機(jī)器碼的"不可讀"是相對(duì)于人類認(rèn)知帶寬的,不是相對(duì)于信息處理系統(tǒng)的。
如果AI的認(rèn)知架構(gòu)和人類不同,"可讀性"本身就是一個(gè)需要被重新審視的變量。
程序員會(huì)失業(yè)嗎:一個(gè)錯(cuò)誤的問題框架
討論AI替代程序員,通常陷入"能力對(duì)比"的陷阱。作者認(rèn)為更準(zhǔn)確的框架是工作流重構(gòu)。
Prompt-to-binary不會(huì)消滅編程,它會(huì)消滅"寫代碼"這個(gè)具體動(dòng)作。但需求分析、系統(tǒng)設(shè)計(jì)、測(cè)試策略、運(yùn)維監(jiān)控——這些活動(dòng)的權(quán)重會(huì)重新分配。程序員可能變成"二進(jìn)制行為的策展人",用自然語言描述意圖,用約束條件劃定邊界,用驗(yàn)收測(cè)試驗(yàn)證結(jié)果。
這類似于攝影的演變:暗房技術(shù)曾經(jīng)是攝影師的核心技能,數(shù)碼后期讓它邊緣化,但"拍什么、怎么拍、為什么拍"的決策權(quán)重反而上升。
作者最后沒有給出預(yù)測(cè)。他只是說,如果2026年真的出現(xiàn)可用的prompt-to-binary系統(tǒng),那將是一個(gè)比"AI寫代碼"更深刻的范式轉(zhuǎn)移——因?yàn)樗魬?zhàn)的不是程序員的手藝,而是人機(jī)分工的底層假設(shè)。
那個(gè)假設(shè)是:人類負(fù)責(zé)意圖,機(jī)器負(fù)責(zé)執(zhí)行,而代碼是兩者之間的契約。如果AI能直接生成執(zhí)行層,契約本身還有存在的必要嗎?
特別聲明:以上內(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.