香蕉在线视频网站,国产视频综合,亚洲综合五月天欧美,成人亚洲综合,日本欧美高清全视频,国产视频黄色,欧美高清在线播放

2024年AI編程有多強(qiáng)?谷歌工程主管揭秘殘酷真相

【新智元導(dǎo)讀】2024年的AI編程到底什么實(shí)力?近日,谷歌的工程主管Addy Osmani,為我們揭示了AI輔助編碼在一線開發(fā)中的真實(shí)情況。

2024年,AI編程已然滲透了各行各業(yè),影響著軟件的整個(gè)生命周期。

那么問題來了,AI coding用過都說好,但我們平時(shí)用的軟件咋感覺沒啥進(jìn)步呢?

近日,Addy Osmani,谷歌的工程主管,同時(shí)也是一位亞馬遜暢銷書作家,為我們揭示了AI輔助編碼在一線開發(fā)中的真實(shí)情況。

碼農(nóng)怎么用AI?

一般來說,團(tuán)隊(duì)利用AI進(jìn)行開發(fā)有兩種不同的模式:「引導(dǎo)程序(bootstrappers)」 和 「迭代器(iterators)」。兩者都在幫助工程師(甚至是非技術(shù)用戶)縮小從想法到執(zhí)行的差距。

Bootstrappers

這一類包括Bolt, v0, 和screenshot-to-code等AI工具,其特點(diǎn)為:

從設(shè)計(jì)或粗略概念開始;

使用AI生成完整的初始代碼庫(kù);

能夠在幾小時(shí)或幾天內(nèi)獲得工作原型;

專注于快速驗(yàn)證和迭代

這樣的工作流令人印象深刻。比如一位獨(dú)立開發(fā)人員可以使用Bolt,在短時(shí)間內(nèi)將Figma設(shè)計(jì)轉(zhuǎn)變?yōu)橛行У腤eb應(yīng)用程序。盡管達(dá)不到生產(chǎn)級(jí)別的要求,但用來獲得初步的用戶反饋綽綽有余。

Iterators

這一類主要負(fù)責(zé)日常開發(fā)工作流程,包括Cursor、Cline、Copilot和WindSurf等工具,效果沒有上面那么浮夸,但更加實(shí)在,比如:

完成代碼、提供建議;

執(zhí)行復(fù)雜的重構(gòu)任務(wù);

生成測(cè)試和文檔;

作為解決問題的「結(jié)對(duì)程序員」

雖然這兩種方法都可以大大加快開發(fā)速度,但「天下沒有免費(fèi)的午餐」。

「AI速度」的隱性成本

高級(jí)工程師使用Cursor或Copilot等AI工具,可以在幾分鐘內(nèi)搭建整個(gè)功能的基架,并完成測(cè)試和文檔,就像變魔術(shù)一樣。

但仔細(xì)觀察就會(huì)發(fā)現(xiàn),在參考AI建議的同時(shí),資深工程師們還會(huì):

將生成的代碼重構(gòu)為更小的模塊;

添加邊緣情況處理;

優(yōu)化類型定義和接口;

添加全面的錯(cuò)誤處理;

甚至是質(zhì)疑AI給出的架構(gòu)

換句話說,他們正在用多年積累的工程智慧,塑造和限制AI的輸出。AI負(fù)責(zé)加速代碼實(shí)現(xiàn),但人類的專業(yè)知識(shí)確保代碼的可維護(hù)性。

而初級(jí)工程師就經(jīng)常錯(cuò)過這些關(guān)鍵步驟。他們更容易接受AI的輸出,從而導(dǎo)致所謂的「紙牌屋代碼(house of cards code)」——看起來很完整,但在現(xiàn)實(shí)世界的壓力下會(huì)崩潰。

知識(shí)悖論

所以實(shí)際上,相比于初學(xué)者,AI反而更能幫助有經(jīng)驗(yàn)的開發(fā)人員,——這多少有點(diǎn)反直覺。

高級(jí)工程師利用AI快速構(gòu)建想法的原型(理解)、生成基本實(shí)現(xiàn)(可改進(jìn))、探索已知問題的替代方法等等;

而初學(xué)者卻經(jīng)常接受不正確或過時(shí)的解決方案、忽略關(guān)鍵的安全性和性能問題、不知道如何調(diào)試AI生成的代碼,最終構(gòu)建了一個(gè)自己不完全理解的脆弱系統(tǒng)。

70% problem

使用AI進(jìn)行編碼的非工程師,經(jīng)常遇到一個(gè)窘境: 他們可以出人意料地迅速完成70%的工作,但最后的30%就相當(dāng)痛苦了。

「70% problem」揭示了AI輔助開發(fā)的現(xiàn)狀,剛開始如有神助,后來被現(xiàn)實(shí)按在地上摩擦。

實(shí)際情況通常是:

嘗試修復(fù)一個(gè)小錯(cuò)誤——>

AI提出了一個(gè)似乎合理的更改——>

這個(gè)更改破壞了其他一些東西——>

要求AI修復(fù)新問題——>

又產(chǎn)生了兩個(gè)新bug——>

無限循環(huán)

這個(gè)循環(huán)對(duì)于非工程師來說尤其痛苦,因?yàn)樗麄內(nèi)狈I(yè)知識(shí)來理解真正出了什么問題。

有經(jīng)驗(yàn)的開發(fā)人員遇到bug時(shí),可以根據(jù)多年的模式識(shí)別來推理潛在原因和解決方案。如果沒有這個(gè)背景,那基本上就是在用自己不完全理解的代碼「打地鼠」。

學(xué)習(xí)悖論

還有一個(gè)更深層次的問題:讓非工程師使用AI編碼工具,實(shí)際上可能會(huì)阻礙學(xué)習(xí)。

代碼生成了、運(yùn)行了,但「開發(fā)者」不了解基本原理,此時(shí),他錯(cuò)過了學(xué)習(xí)基本模式、沒有培養(yǎng)調(diào)試技能、無法對(duì)架構(gòu)決策進(jìn)行推理,而這份代碼又需要維護(hù)和擴(kuò)展。

于是,「開發(fā)者」不斷返回AI來解決問題,而沒有培養(yǎng)自己處理問題的專業(yè)能力。

非工程師使用AI編碼工具的最好方式可能是「混合模式」:

1. 使用AI進(jìn)行快速原型設(shè)計(jì)

2. 花點(diǎn)時(shí)間了解生成的代碼是如何工作的

3. 學(xué)習(xí)基本的編程概念以及AI使用

4. 逐步建立知識(shí)基礎(chǔ)

5. 將AI用作學(xué)習(xí)工具,而不僅僅是代碼生成器

但這需要耐心和奉獻(xiàn)精神,與許多人使用AI工具的目標(biāo)恰恰相反。

「70% problem」表明,當(dāng)前的AI還不是許多人希望的那個(gè)AI。最后30%的工作(使軟件可用于生產(chǎn)、可維護(hù)等),仍然需要真正的工程知識(shí)。

最佳實(shí)踐

Addy Osmani觀察了幾十個(gè)團(tuán)隊(duì),總結(jié)了一些最佳實(shí)踐方式:

「AI初稿」模式

讓 AI 生成基本實(shí)現(xiàn);手動(dòng)審查和模塊化重構(gòu);添加全面的錯(cuò)誤處理;編寫全面的測(cè)試;記錄關(guān)鍵決策。

「持續(xù)對(duì)話」模式

為每個(gè)不同的任務(wù)開始新的AI聊天;保持上下文集中和最??;經(jīng)常查看和提交更改;保持緊密的反饋循環(huán)。

「信任但驗(yàn)證」模式

使用AI生成初始代碼;手動(dòng)審查所有關(guān)鍵路徑;邊緣案例的自動(dòng)測(cè)試;定期安全審計(jì)。

AI的真正前景?

盡管存在這些挑戰(zhàn),但作者對(duì)AI在軟件開發(fā)中的作用持樂觀態(tài)度。關(guān)鍵是要充分利用AI的真正優(yōu)勢(shì):

加速已知AI擅長(zhǎng)幫助實(shí)現(xiàn)我們已經(jīng)了解的模式,就像有一個(gè)無限耐心的結(jié)對(duì)程序員,他可以非??焖俚卮蜃?。

探索可能性AI非常適合快速構(gòu)建想法原型和探索不同的方法,就像一個(gè)沙箱,我們可以在其中快速測(cè)試概念。

自動(dòng)化例程AI大大減少了花在樣板和日常編碼任務(wù)上的時(shí)間,讓我們可以專注于有趣的問題。

如果您剛剛開始AI輔助開發(fā),作者的建議是,先從小處著手。

將AI用于非耦合的、定義明確的任務(wù),查看生成的每一行代碼,逐漸構(gòu)建更大的功能。

過程中保持模塊化:將所有內(nèi)容分解為小的重點(diǎn)文件,在組件之間保持清晰的接口,記錄模塊的邊界。

重要的一點(diǎn)是,相信自己的經(jīng)驗(yàn):AI用來加速而不能取代你的判斷、感覺不對(duì)勁時(shí)要質(zhì)疑、時(shí)刻維護(hù)自己的工程標(biāo)準(zhǔn)。

Agent興起

隨著我們進(jìn)入2025年,AI輔助開發(fā)的格局正在發(fā)生巨大變化。雖然當(dāng)前的工具已經(jīng)改變了原型設(shè)計(jì)和迭代方式,但我們正處于更重要轉(zhuǎn)型的風(fēng)口浪尖:智能體(Agent)軟件工程的興起。

智能體系統(tǒng)不僅可以響應(yīng)提示,還將以越來越高的自主性規(guī)劃、執(zhí)行和迭代解決方案。

比如Anthropic的Claude能夠使用計(jì)算機(jī),或者Cline自動(dòng)啟動(dòng)瀏覽器和運(yùn)行測(cè)試的能力。

在調(diào)試過程中,智能體系統(tǒng)不僅給出修復(fù)bug的建議,還可以:

主動(dòng)識(shí)別潛在問題、啟動(dòng)和運(yùn)行測(cè)試套件、檢查UI元素并捕獲屏幕截圖、提出并實(shí)施修復(fù)、驗(yàn)證解決方案是否有效。

下一代工具將可以無縫集成視覺理解(UI 屏幕截圖、模型、圖表)、口頭語言對(duì)話和環(huán)境交互(瀏覽器、終端、API)。

未來的AI不是取代開發(fā)人員,而是成為一個(gè)越來越有能力的協(xié)作者,既可以采取主動(dòng),又能尊重人類的指導(dǎo)和專業(yè)知識(shí)。


相關(guān)內(nèi)容