大家好,我是AI學(xué)習(xí)的老章
分享一篇很有見解的文章《 LLMs 實(shí)際上提高了多少現(xiàn)實(shí)世界中的程序員生產(chǎn)力?》
作者:Thane Ruthenis 原文:
https://www.lesswrong.com/posts/tqmQTezvXGFmfSe7f/how-much-are-llms-actually-boosting-real-world-programmer
LLM-based 編碼輔助工具已經(jīng)推出約 2 年了。許多開發(fā)人員報(bào)告稱,這極大地提高了他們的生產(chǎn)力,甚至提高了 5 倍/10 倍。
很明顯,這種倍增效應(yīng)并不是全行業(yè)的。畢竟,沒有相應(yīng)的產(chǎn)出增加。
這是有道理的。如果你在做任何非 trivial 的事情(即,除了在代碼庫中添加次要的樣板功能之外的任何事情),LLM 工具都是麻煩的。現(xiàn)成的解決方案并不能為此目的直接使用。你需要大幅調(diào)整你的工作流程才能利用它們,如果這甚至可能的話。大多數(shù)程序員不知道如何做到這一點(diǎn)/或者不愿意費(fèi)心。
因此,可以合理假設(shè),如果存在 5 倍/10 倍的更大輸出,這種增長(zhǎng)是分布不均的,主要影響的是高級(jí)用戶或特別擅長(zhǎng)使用LLMs的人。
從經(jīng)驗(yàn)來看,我們似乎也沒有生活在一個(gè)整個(gè)軟件行業(yè)突然變得 5-10 倍更高效的世界。這種情況已經(jīng)持續(xù)了 1-2 年,至少我感覺幾乎沒有影響。我沒有看到我使用的軟件中有 5-10 倍更多的有用功能,也沒有看到對(duì)我有用的軟件數(shù)量增加了 5-10 倍,或者我使用的軟件突然變得好用 5-10 倍等。
然而,我也很難在其他地方看到所謂的 5-10 倍增長(zhǎng)。如果高級(jí)用戶確實(shí)經(jīng)歷了如此大的改進(jìn),那么這些改進(jìn)使哪些項(xiàng)目得以實(shí)現(xiàn)?
以前,我以為自己不知道這些是因?yàn)槲疑钤谑鲿r(shí)代。所以我嘗試讓深度研究為我獲取一個(gè)概述,但它……也難以找到任何具體的東西。你自己判斷:一,二。COBOL 重構(gòu)算一個(gè),但也就這樣了。(也許我提示的方式不對(duì)?)
即使是 AGI 實(shí)驗(yàn)室面向客戶的提供物也不是一個(gè)無盡的豐富功能庫,無法以復(fù)雜的方式與他們的 LLMs 交互——盡管你會(huì)認(rèn)為那里會(huì)有不同尋常的高級(jí)用戶集中。你有一個(gè)對(duì)話框,可以上傳 PDF 到其中,僅此而已。你不能讓 LLM 與不斷增長(zhǎng)的任意軟件和數(shù)據(jù)類型列表進(jìn)行交互,也沒有一個(gè)無盡的 QoL 功能列表可以按需開啟/關(guān)閉等。[1]
所以我現(xiàn)在問 LW:實(shí)際影響是什么?現(xiàn)在有哪些項(xiàng)目/進(jìn)展是如果沒有 LLMs 就不會(huì)存在的?如果這些都沒有被公開歸因于 LLMs,那么有哪些項(xiàng)目出現(xiàn)得異常迅速,以至于在冷靜分析后,它們不可能在 LLM 之前的黑暗時(shí)代迅速啟動(dòng)?編程生態(tài)系統(tǒng)中的哪一部分正在經(jīng)歷 10 倍的增長(zhǎng),如果有這樣的部分的話?
如果我們假設(shè)這種情況將會(huì)普及,所有程序員都將獲得與早期采用者現(xiàn)在所經(jīng)歷的相同生產(chǎn)力提升,那么實(shí)際影響會(huì)是什么?
為了澄清,我不要求的是:
- 充滿模糊炒作的報(bào)告,稱生產(chǎn)力提高了 10 倍,但沒有明確說明這種 10 倍的生產(chǎn)力提升是在哪個(gè)項(xiàng)目中實(shí)現(xiàn)的。(Twitter 上有很多這樣的內(nèi)容,但實(shí)際交付的有用東西卻很少。)
- 抽象的經(jīng)濟(jì)指標(biāo)表明生產(chǎn)力提高了 X%。(這可能意味著任何事情,包括基于LLM的泡沫。)
- 類似于“本季度產(chǎn)生的代碼量增加了 Y%”的抽象指標(biāo)。(這可能僅僅表明 AI 生成了更多的代碼垃圾/膨脹。)
- 抽象的經(jīng)濟(jì)指標(biāo)表明 Z%的開發(fā)人員已被裁員/初級(jí)開發(fā)人員再也找不到工作。(這可能主要是回歸到疫情前的正常趨勢(shì)。)
- 無用的玩具示例,如“我使用 ChatGPT 生成了 Snake/這個(gè)網(wǎng)站的第 1000 個(gè)克隆!”。
- 新工具/功能是LLM的包裝器,而不是通過LLM的幫助創(chuàng)建的。(我不是在尋找LLMs-as-a-service,而是在尋找由于LLM的幫助而更快/更好地產(chǎn)生的“平凡”輸出。)
即:我希望有具體的、重要的現(xiàn)實(shí)生活后果。
從我到目前為止沒有觀察到任何這些事實(shí),以及根據(jù) Cunningham 定律的精神,這里是一個(gè)試探性的陰謀論:LLMs 大多實(shí)際上并沒有總體上提高程序員的生產(chǎn)力。相反:
- 程序員通過使用 LLM 生成代碼所節(jié)省的 N 小時(shí),隨后又浪費(fèi)在修復(fù)/解開這些代碼上。
- 在宏觀層面上,這有時(shí)會(huì)導(dǎo)致“爬到無法下來的地方”,即你使用 LLM 生成了一個(gè)龐大的代碼庫,一旦超過了一定的規(guī)模/復(fù)雜性閾值,它就會(huì)變得混亂,然后你不得不從頭開始,因?yàn)?LLM 做出了糟糕/外星的架構(gòu)決策。這同樣幾乎摧毀了所有表面上的生產(chǎn)力提升。
- 盡管 LLMs 實(shí)際上確實(shí)導(dǎo)致人們創(chuàng)建了新的軟件,但大多數(shù)都是一次性的裝飾品/概念驗(yàn)證,最終沒有人使用,而且根本不需要存在。但仍然“感覺”你的生產(chǎn)力飆升了。
- 盡管 LLMs 實(shí)際上增加了進(jìn)入有用應(yīng)用程序的代碼量,但大部分最終都用在了創(chuàng)建不必要的臃腫軟件/服務(wù)上。也就是說,它實(shí)際上使交付的軟件變得更差,因?yàn)榫帉懙酶笱堋?/li>
- 體驗(yàn)到LLMs改進(jìn)工作流程的人大多被要求LLM用自然語言做某事然后立即得到勉強(qiáng)能用的代碼這一神奇效果所愚弄。他們沒有跟蹤在整合和修復(fù)這些代碼上花費(fèi)了多少時(shí)間,也沒有跟蹤這些代碼實(shí)際上被使用了多少。
我并不完全相信這個(gè)陰謀論,感覺它不可能是真的。但突然間它顯得非常有說服力。
我期望 LLMs 在編寫小功能或幫助那些對(duì)編程/特定庫/特定代碼庫不熟悉的人更容易上手和更快學(xué)習(xí)方面肯定很有用。它們?cè)谶@些方面對(duì)我很有幫助。但這可能只是一個(gè)總體上 10-30% 的提升,加上在新領(lǐng)域開始時(shí)和一些罕見的一次性項(xiàng)目(如“進(jìn)行一個(gè)簡(jiǎn)單的重構(gòu)”)中的固定成本減少。
而且這將主要保持不變,除非 AGI 實(shí)驗(yàn)室真正解決了長(zhǎng)期目標(biāo)的代理/創(chuàng)新問題;也就是說,基本上直到真正的 AGI 出現(xiàn)。
證明我是錯(cuò)的吧。
文章評(píng)論區(qū)最高贊也表達(dá)了類似觀點(diǎn):
根據(jù)我的個(gè)人經(jīng)驗(yàn),LLMs 只有在非常特定的情況下才能將我的效率提高 10 倍,而這些情況(一直以來)在我的工作中只占很小的一部分,我懷疑這對(duì)大多數(shù)開發(fā)人員來說也是如此:
- 如果我需要一些小的、獨(dú)立的腳本來做一些相對(duì)簡(jiǎn)單的事情。例如,用于文件操作的 bash 腳本或 Excel VBA 代碼。這些通常可以用幾句話描述,容易驗(yàn)證,我通常對(duì)特定語言的了解不夠深入,無法在不查閱語法的情況下編寫完整的內(nèi)容。更重要的是:由于它們小且獨(dú)立,實(shí)際上不需要過多考慮可維護(hù)性,如單元測(cè)試、模塊化和了解業(yè)務(wù)及大部分環(huán)境上下文。(任何包含正則表達(dá)式的內(nèi)容是這種情況的一個(gè)子集,其中LLMs 是游戲規(guī)則的改變者)
- 如果我需要在一個(gè)我不太熟悉的堆棧上工作,LLMs 可以通過提供工作(或幾乎工作)的示例來大大加快學(xué)習(xí)過程。我只需輸入我需要的內(nèi)容,就可以獲得一個(gè)大致的解決方案,顯示我可以從哪個(gè)庫中使用哪些類和方法,甚至可以提供作為解決方案的一般邏輯/方法。在很多情況下,即使提供的解決方案實(shí)際上并不奏效,僅僅知道如何與庫進(jìn)行交互也是一個(gè)巨大的幫助。
沒有這個(gè)工具,我將不得不花費(fèi)數(shù)小時(shí)或數(shù)天的時(shí)間,要么參加在線課程/閱讀文檔/進(jìn)行實(shí)驗(yàn)。這里的問題是,即使在解決方案奏效的情況下,提供的代碼也不是我可以直接添加到實(shí)際項(xiàng)目中的東西。通常情況下,它必須被拆分,部分可能需要分配到不同的模塊,重構(gòu)為面向?qū)ο蟮拇a,并使用對(duì)特定項(xiàng)目有意義的一致抽象。
基于上述內(nèi)容,我懷疑大多數(shù)報(bào)告軟件開發(fā)效率提高 10 倍的人要么:
- 開發(fā)知識(shí)水平非常低,因此 10 倍的標(biāo)準(zhǔn)很低。可能他們也沒有意識(shí)到/尚未體驗(yàn)到將原始LLM代碼插入項(xiàng)目中會(huì)有很多負(fù)面的下游后果(盡管公平地說,如果他們之前無法編寫,那么有些代碼總比沒有代碼好,所以這是一個(gè)值得的權(quán)衡)。
- 需要編寫大量小型、獨(dú)立的解決方案(我可以想象有人會(huì)進(jìn)行大量 Excel 自動(dòng)化操作,或者專門負(fù)責(zé)構(gòu)建用于開發(fā)運(yùn)維/運(yùn)營(yíng)目的的 shell 腳本)。
- 需要嘗試許多不同的堆棧/庫(盡管很難想象一個(gè)工作中這會(huì)是大多數(shù)長(zhǎng)期任務(wù))。
- 受到錨定效應(yīng)的影響:他們最近使用 LLMs 快速解決了某個(gè)問題,并從那個(gè)特定的例子中推斷,而不是基于長(zhǎng)期的經(jīng)驗(yà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.