全靠Claude4!30年FAANG老工程師:AI幫我解決了四年老bug
AI 就像一頭野驢,跑起來就不停。人類花了幾百萬年才走上食物鏈頂端,而大模型只用了不到十年時間,已經(jīng)能把你和劉亦菲 P 進(jìn)一張自拍了。奧!最新進(jìn)展是已經(jīng)能自己生成音畫同步的超真實脫口秀了。
不過等人類回過味來,發(fā)現(xiàn)海的那邊好像是敵人,AI 導(dǎo)致的失業(yè)潮仿佛近在咫尺。還記得七年前(那時候 ChatGPT 都還沒發(fā)布)本科第一次班會上,老師問為什么要選這個專業(yè),有同學(xué)回答因為這是最不容易被 AI 替代的職業(yè)之一(PS. 我學(xué)的是建筑,大家別笑得太大聲)。
不知是不是預(yù)料之內(nèi),AI 最先波及的,竟然是寫程序這件事本身。Anthropic 的創(chuàng)始人、CEO Dario Amodei 就曾預(yù)測,很快 90% 的代碼可能都會由 AI 來編寫。
先不說這個預(yù)言什么時候會實現(xiàn),至少他家的產(chǎn)品確實在往這個方向發(fā)展。請問編程最厲害的大模型是哪個?雖然沒有定論,但 Claude 肯定榜上有名。
BigCodeBench 榜單
上個星期剛發(fā)布的 Claude 4,讓人們的「刻板印象」又加深了一層。
5 月 22 日,Anthropic 推出了全新一代 Claude 4 系列大模型,為代碼生成、高級推理和 AI 智能體樹立了全新標(biāo)準(zhǔn)。其中,Claude Opus 4 是一款全球領(lǐng)先的編碼模型,它在復(fù)雜、長時間運(yùn)行任務(wù)和智能體工作流中擁有持續(xù)的高性能。
Anthropic 展示了 Claude 4 如何無縫融入人們整個工作日。它擁有三大高級功能:通過 Claude 應(yīng)用中自定義集成進(jìn)行深入研究,管理項目,并能在 Claude Code 中獨立解決代碼任務(wù)。
新版本的大模型已經(jīng)上線,立即吸引了大量程序員前去使用,很多人表示效果出奇的好。
昨天,Reddit 上一位擁有 30 多年經(jīng)驗的前 FAANG 高級工程師發(fā)帖表示,他被一個 C++ 的 Bug 困擾了 4 年,花了約 200 小時卻毫無進(jìn)展。而 Claude Opus 4 竟然成功地解決了這個問題,并且是唯一能做到的 AI 智能體。
這篇帖子在 X 和 Reddit 引起了熱烈的討論,Anthropic 工程師 Alex Albert 表示,這樣的故事可能會越來越多。
有人展開了技術(shù)討論。
也有人認(rèn)為,這根本就是個 Claude 推廣軟文。
假如這個故事是真的,我們該如何來看待這件事呢?
大家先別激動,等一等外行的朋友們,我們先來梳理一下要點,這里邀請 Gemini 老師場外援助(因為我也是外行)。
Bug 的來源和難度
這個 Bug 是在四年前一次大規(guī)模的代碼重構(gòu)(Re-architecting refactor)中產(chǎn)生的。
- 代碼重構(gòu):你可以把它想象成對一棟老房子進(jìn)行徹底的重新設(shè)計和裝修。原來的房子可能有很多問題(比如布局不合理、管道老化),裝修后解決了這些問題,但可能因為改變了結(jié)構(gòu),導(dǎo)致某個角落里以前能用的某個特殊電器(比如某個特定型號的燈,只有在特定開關(guān)下才用)現(xiàn)在用不了了。
- 6 萬行代碼:這說明這次「裝修」的規(guī)模非常大,非常復(fù)雜。
- 邊緣案例(Edge case):這指的是一個非常特殊、不常出現(xiàn)的情況。就像上面說的那個特殊電器,平時很少用,只有在特定條件下才會用到。
- 著色器(Shader):這是一種專門處理圖形和視覺效果的代碼。你可以理解為那個「特定型號的燈」。
- 問題所在:在這次大規(guī)模「裝修」后,那個「特定型號的燈」在「特定開關(guān)下」就不亮了。
Bug 的真正原因
AI 發(fā)現(xiàn),這個問題不是因為「裝修」時工人犯了個簡單的錯誤(比如接錯了一根線,這叫邏輯 Bug)。而是因為:
- 那個「特定型號的燈」以前之所以能亮,僅僅是因為老房子舊結(jié)構(gòu)下的一個「巧合」。可能有一根電線無意中搭在了某個地方,正好給它供電了。
- 在重新設(shè)計和裝修(改變了架構(gòu))時,大家并沒有意識到這個「巧合」的存在,也就沒有在新的設(shè)計里考慮進(jìn)去。所以,當(dāng)舊結(jié)構(gòu)消失后,那個「巧合」也消失了,燈自然就不亮了。
- AI 的厲害之處在于,它不僅看懂了新舊兩套復(fù)雜的「圖紙」,還理解了那個「巧合」是怎么回事,并指出了新設(shè)計沒有考慮到這個隱藏的依賴關(guān)系。
很好!那我們現(xiàn)在來分析一下,AI 在這個過程中起到了什么作用呢?
首先,AI 可以輕松地加載、分析和比較新舊兩個版本共計數(shù)萬甚至數(shù)十萬行的代碼。它不會像人類那樣感到疲勞或遺忘細(xì)節(jié),可以同時「看到」整個 picture。
像 Claude Opus 4 這樣的先進(jìn)模型擁有巨大的「上下文窗口」,這意味著它可以一次性考慮非常多的信息,并追蹤它們之間的復(fù)雜關(guān)系。
同時,AI 不會帶有「它應(yīng)該如何工作」的偏見。它只是客觀地分析舊代碼如何運(yùn)行并產(chǎn)生結(jié)果,以及新代碼如何運(yùn)行并產(chǎn)生不同結(jié)果,它能發(fā)現(xiàn)兩者之間最細(xì)微的差異。
別忘了,這個過程還需要人類的指導(dǎo)。程序員通過超過 30 個 prompt 來引導(dǎo) AI。這說明人類的經(jīng)驗和直覺與 AI 強(qiáng)大的分析能力相結(jié)合,才能發(fā)揮最大效果。人類設(shè)定目標(biāo)、提供背景,AI 則執(zhí)行繁重的分析工作。