昨天,我們介紹了吳恩達對 AI 時代工作效率的觀點。他認為,隨著人工智能的發(fā)展,未來不僅會出現(xiàn)“10 倍工程師”,各行各業(yè)都可能誕生“10 倍專業(yè)人士”——這些人將通過對 AI 的利用在各自領(lǐng)域創(chuàng)造出遠超常人的價值。但在這種光明的前景背后,似乎還潛藏著另一面現(xiàn)實。 最近,一篇題為《新的初級開發(fā)人員實際上無法編碼》(New Junior Developers Can’t Actually Code)的文章在硅谷科技圈引發(fā)熱議。這篇博客文章短短幾天內(nèi)就獲得了幾十萬人圍觀,馬斯克、Deedy Das 等行業(yè)大佬也參與到了這場討論之中。 圖丨相關(guān)推文(來源:X) 在文章作者 Namanyay 此前的另一篇文章里,他提到了自己的一次經(jīng)歷。在不久前一次 ChatGPT 服務(wù)中斷期間,當(dāng) Cursor 編輯器無法使用時,他發(fā)現(xiàn)面對 AWS 的錯誤提示竟束手無策。“在 12 年的編程生涯后,我居然在自己的專業(yè)領(lǐng)域變得更糟糕了。這不是夸張,這是軟件開發(fā)者們正在面臨的新現(xiàn)實?!弊髡咴谖恼轮袑懙?。 這種能力的衰退是一個潛移默化的過程。首先是不再閱讀技術(shù)文檔,因為 AI 可以即時解釋一切;然后是調(diào)試能力的下降,開發(fā)者們開始不假思索地復(fù)制粘貼錯誤信息;最終,深度理解能力受到影響,程序員們不再花時間去理解解決方案的原理,而是簡單地實施 AI 的建議?!拔易兂闪艘粋€人形剪貼板,僅僅充當(dāng)了代碼和大語言模型之間的中介?!弊髡呷绱诵稳葸@種現(xiàn)象。 在最近的文章中,作者又進一步指出軟件開發(fā)行業(yè)正處于一個關(guān)鍵的轉(zhuǎn)折點。當(dāng)下的初級開發(fā)人員普遍依賴 Copilot、Claude 或 GPT 等 AI 工具進行日常編程工作。表面上看,這些新手程序員的代碼輸出速度確實比以往更快,但當(dāng)深入探討他們對所寫代碼的理解程度時,問題就顯現(xiàn)出來了。“代碼能運行,但是問他們?yōu)槭裁匆眠@種方式而不是其他方式來實現(xiàn)?一片沉默。問到邊界情況的處理?一臉茫然。通過與問題搏斗而獲得的基礎(chǔ)知識,在他們身上完全缺失了。” 作者通過對比新舊兩個時代的學(xué)習(xí)方式,展現(xiàn)了這一現(xiàn)象的成因。在 AI 工具普及之前,程序員遇到編程難題時,需要首先在 Google 上搜索,然后在 Stack Overflow 這樣的技術(shù)社區(qū)中尋找類似問題的解答。這個過程雖然耗時,但程序員能從其他開發(fā)者的思考過程和詳盡討論中獲得深層次的理解。 作者用自己 12 年前在 Stack Overflow 上提出的一個關(guān)于 JavaScript 中一元加號運算符的問題為例,展示了當(dāng)時社區(qū)中開發(fā)者互助的深度。解答者不僅詳細回答了問題本身,還擴展了大量相關(guān)知識點,幫助提問者建立起更完整的知識體系。 “我的原始問題當(dāng)然得到了徹底的回答,但他并沒有就此止步。我學(xué)到了很多新的事實。有些我甚至不知道存在,還有一些我本來不想知道。但現(xiàn)在它們永遠地刻在我的大腦里了。” 圖丨 12 年前,Nathan Wall 給作者給出的回答(來源:Namanyay) 然而現(xiàn)在的情況卻大不相同?!靶乱淮_發(fā)人員甚至可能都不知道 Stack Overflow 的存在。”作者寫道。他們只需將錯誤信息復(fù)制粘貼給 AI 助手,就能立即得到解決方案。有些人甚至覺得切換到瀏覽器標簽頁都很麻煩,而是選擇使用集成了 AI 功能的編輯器,在一個界面內(nèi)完成所有操作。這種即時反饋雖然便捷,但導(dǎo)致他們失去了通過深入思考和探索獲得全面理解的機會。 作者通過一張對比圖展示了這種差異:使用 AI 能夠更快地得到答案,但獲得的知識往往流于表面。相比之下,通過閱讀專家討論雖然速度較慢,但能夠幫助開發(fā)者理解不僅是“是什么”,更重要的是“為什么”。“想想你認識的每一個優(yōu)秀的開發(fā)者。他們是通過復(fù)制解決方案成長起來的嗎?不是的。他們是通過深入理解系統(tǒng)和理解其他開發(fā)者的思維過程才達到今天的水平。而這正是我們正在丟失的東西?!?/span> (來源:Namanyay) 這種依賴甚至正在改變程序員的情緒和學(xué)習(xí)體驗。作者觀察到,以前解決新問題是編程過程中的一種樂趣,而現(xiàn)在如果 AI 無法在 5 分鐘內(nèi)給出解決方案,開發(fā)者就會感到沮喪?!拔覀儾皇窃诮柚?AI 成為‘10x 開發(fā)者’,而是在變得對 AI 十倍依賴。這兩者是有本質(zhì)區(qū)別的?!弊髡呔娴?。 作者本人也在開發(fā)一款 AI 驅(qū)動的開發(fā)工具。正是這種雙重身份,讓他對當(dāng)前的局勢有著切身的思考?!罢f實話,我無法擺脫一種感覺,那就是我可能正在助長侵蝕我們集體技能的問題。”他在文章中坦言。 不過,作者并不主張完全拋棄 AI 工具,這在當(dāng)前環(huán)境下也不現(xiàn)實。他提出了一種平衡方案:“無 AI 日”。具體來說,就是每周選擇一天完全依靠自己的能力編程:仔細閱讀每一條錯誤信息,重新使用調(diào)試器,從零開始編寫代碼,通過閱讀源代碼而不是詢問 AI 來理解問題。“老實說,這個過程確實很痛苦。我感覺自己變得更慢、更笨拙,也更容易感到挫敗。但我也能看到區(qū)別:我與代碼之間的聯(lián)系更強了,對代碼的主導(dǎo)權(quán)也在慢慢回來,這些在依賴 AI 的過程中都逐漸消失了。而且,我學(xué)到了更多東西?!?/span> 這種趨勢對于新手程序員來說尤其值得擔(dān)憂?!按藭r此刻,在某個地方,有人正在學(xué)習(xí)編程。他們可能永遠不會體會到完全依靠自己解決問題的滿足感,永遠不會經(jīng)歷通過數(shù)小時與 bug 搏斗而獲得的深刻理解。我們正在培養(yǎng)一代開發(fā)者,他們知道如何向 AI 提出正確的問題,但不理解答案的含義。每當(dāng) AI 服務(wù)中斷時,他們就會暴露出越來越無助的一面?!?/span> 針對這種狀況,作者提出了幾點具體建議:首先,他強調(diào)要改變使用 AI 的心態(tài)。與其把 AI 當(dāng)作一個簡單的答案提供者,不如把它當(dāng)作一個學(xué)習(xí)的工具。當(dāng) AI 給出解決方案時,我們應(yīng)該追問它為什么這樣做,理解每個決策背后的邏輯。這個過程可能會花費更多時間,但這正是學(xué)習(xí)的精髓所在。 另一個重要的建議是重新建立與同行的深度交流。在 Reddit、Discord 或 Mastodon 等平臺上,經(jīng)常能看到富有啟發(fā)性的技術(shù)討論。這些討論往往能帶來新的視角,讓人恍然大悟:“原來還可以這樣思考這個問題?!边@種觀點的碰撞和交流,正是 AI 無法完全替代的寶貴經(jīng)驗。 代碼審查的方式也需要改變。與其僅僅關(guān)注代碼是否能正常運行,不如將其轉(zhuǎn)變?yōu)橐淮紊疃冉涣鞯臋C會。開發(fā)團隊可以討論:為什么選擇這種實現(xiàn)方式?還考慮過哪些其他方案?這樣的討論不僅能幫助團隊成員更好地理解代碼,也能培養(yǎng)更全面的工程思維。 作者還特別強調(diào)了“從零開始”的重要性。以身份認證系統(tǒng)為例,雖然 AI 能夠快速生成一個完整的方案,但不妨先嘗試自己動手實現(xiàn)。也許寫出的代碼不如 AI 生成的優(yōu)雅,但這個過程中獲得的深入理解是無可替代的。像滾雪球一樣,這種知識會逐漸積累,最終形成扎實的技術(shù)功底。而這些建議的核心,就是在保持效率的同時不放棄對技術(shù)的深入理解。 這組文章發(fā)表后在科技圈引發(fā)熱議。一些資深開發(fā)者表達了類似的擔(dān)憂,認為當(dāng)前的發(fā)展趨勢可能會導(dǎo)致整個行業(yè)技術(shù)水平的實質(zhì)性下降。特斯拉 CEO 埃隆·馬斯克評論:“人們現(xiàn)在也不知道如何在沒有電子地圖和 GPS 的情況下在城市中找路”。 前 Glean 和谷歌搜索創(chuàng)始團隊成員 Deedy Das 回應(yīng)道:“如果 Google 地圖每五次就會出現(xiàn)一次幻覺,記住如何到達目的地就變得非常重要了!”他認為,理解代碼的本質(zhì)仍然至關(guān)重要,因為“AI 是一個有漏洞的代碼抽象層”。 圖丨相關(guān)推文(來源:X) Deedy 通過 Python 和 C++的關(guān)系來解釋這一觀點:“Python 本質(zhì)上是 C++ 之上的一個抽象層,它讓我們不必關(guān)心內(nèi)存管理。這個抽象是可靠的,因為它具有確定性,我們從不需要擔(dān)心內(nèi)存問題。但如果 Python 程序會因為內(nèi)存問題而隨機失敗,那它就不是一個好用的抽象層?!彼赋觯?dāng)前的大語言模型就處于這樣的狀態(tài)——雖然能完成許多任務(wù),但大多數(shù)開發(fā)者都知道,當(dāng)代碼庫復(fù)雜度達到一定程度后,性能就會下降,這時候就需要真正理解代碼才能找出問題所在。“這個抽象層漏洞太多,所以如果要稱自己為軟件工程師,理解代碼仍然是必不可少的。” 正如 Namanyay 所說:“未來的問題不在于我們是否使用 AI,而在于如何使用它。也許,我們能找到一種方法,將 AI 帶來的效率與我們需要的深度理解結(jié)合起來。當(dāng)前的 AI 還沒有強大到能完全取代程序員的地步,但隨著它的進步,情況只會變得更加嚴峻。真正的問題不是 AI 是否會取代程序員,而是我們是否正在取代自己?!?/span> AI 到底會讓我們變成“職場超人”還是“文盲”?這個問題現(xiàn)在似乎也看不到答案。但比起擔(dān)心這個問題,不如先試試作者建議的“無 AI 日”,做一天“AI 當(dāng)?shù)罆r代的手工異類”。花一天時間,把 AI 助手暫時關(guān)掉,完全靠自己寫代碼。沒準這個小小的嘗試就會讓你對自己的能力,對編程,甚至對整個行業(yè)有新的認識。畢竟,真正的編程能力,從來都不是靠工具堆砌出來的。 參考資料: 1.https://nmn.gl/blog/ai-and-learning 2.https://nmn.gl/blog/ai-illiterate-programmers 3.https://x.com/deedydas/status/1891369030604525831 運營/排版:何晨龍 |
19款電子扎帶
電路板識別電子標簽