【CSDN 編者按】曾經(jīng),解決復雜問題和深入理解程序運行原理是每個程序員成長的必經(jīng)之路。然而,現(xiàn)在的情況似乎有所不同:越來越多的新手開發(fā)者傾向于直接使用 AI 提供的解決方案,而非通過反復試驗和錯誤積累寶貴的經(jīng)驗。這種趨勢不僅影響了個人技能的發(fā)展,也引發(fā)了關于未來軟件質(zhì)量和技術(shù)深度的廣泛討論。 原文鏈接:https://nmn.gl/blog/ai-illiterate-programmers 幾天前,在 ChatGPT 宕機期間,我的 Cursor 也跟著下線了。 我盯著終端里那些我最不想看到的紅色錯誤信息,一個 AWS 錯誤無情地回望著我——沒有 AI 的幫助,我根本不想去解決這個問題。 編寫了 12 年代碼的我,不知為何,編程技術(shù)竟然退步了。這并非夸大其詞,而是軟件開發(fā)人員面臨的最新現(xiàn)實。 編碼能力逐漸退化 這一切都是悄然發(fā)生的。 起初,我不再閱讀文檔:既然 AI 能立刻解釋清楚,我又何必費那個勁呢? 然后,我的調(diào)試技能也受到了影響。沒有 AI 的幫助,我覺得堆棧跟蹤都無從下手,甚至都連錯誤信息也不讀了,直接復制粘貼給 AI。 ……沒錯,我就變成了一個人形剪貼板,成了代碼和大語言模型(LLM)之間的一個中介。 以前,每條錯誤信息都能讓我學到點東西?,F(xiàn)在呢?解決方案如魔法般出現(xiàn),我卻什么也沒學到。即時答案給我?guī)淼亩喟桶反碳?,取代了真正理解問題所帶來的滿足感。 接下來受到影響的是深層次理解。還記得曾經(jīng)花幾個小時去弄清楚為什么某個解決方案有效嗎?現(xiàn)在,我只會直接實現(xiàn) AI 的建議。如果不行,我就改進一下上下文,再問 AI 一遍……這是一個依賴性不斷加深的循環(huán)。 隨之而來的是情感上的變化。以前,解決問題是編程的樂趣之一;而現(xiàn)在,如果 AI 在 5 分鐘內(nèi)沒給出解決方案,我就會感到很沮喪。 你知道最可怕的地方是什么嗎?我正在開發(fā)一款由 AI 驅(qū)動的開發(fā)工具,同時深刻感覺到:我好像在加劇侵蝕程序員的集體技能。 我認為的“康復計劃” 我并不是建議徹底放棄使用 AI——那不現(xiàn)實。相反,我打算從“無 AI 日”開始,每周有一天: ● 完整地閱讀每一條錯誤信息 ● 再次使用真正的調(diào)試器 ● 從頭開始編寫代碼 ● 親自閱讀源碼而不是去問 AI 說實話,這并不容易:我覺得自己變慢了、變笨了、也更沮喪了。 但我也能看到改變:我感覺與代碼的聯(lián)系更緊密了,那種隨著 AI 的介入而逐漸消失的所有權(quán)感覺也回來了。此外,我還學到了更多東西。 令人不安的事實 我們并沒有因為 AI 而成為 10 倍效率的開發(fā)者;我們變得對 AI 有 10 倍的依賴——這兩者是有區(qū)別的。 每當我們讓 AI 解決本可以自行解決的問題時,我們都是在用短期的生產(chǎn)力去換取長期的理解力。換句話說,我們正在為今天的提交優(yōu)化,犧牲了明天的編碼能力。 但我并不是說我們應該拋棄 AI 工具——畢竟這個時代已經(jīng)來臨了。但我們需要制定使用規(guī)則,以下是我的一些想法: ● 在嘗試理解之前,不要求助于 AI ● 閱讀并理解所有 AI 提出的解決方案 ● 定期進行沒有 AI 輔助的編碼練習 ● 注重學習模式,而不僅僅是解決眼前的問題 說實話,我不認為自己能一直遵守這些規(guī)則。但這只是一個開始,而且我堅信對于任何剛開始編程的人來說,都應該嚴格遵循這些規(guī)則。 此時此刻,在某個地方,可能就有一個新程序員正在學習編程。但如果完全借助 AI,他們將永遠無法體會到真正獨立解決問題的滿足感,也無法體驗到與 bug 斗爭數(shù)小時后獲得的深刻理解。 我們正在造就這樣的新一代開發(fā)者,他們能向 AI 提出正確的問題,卻無法理解答案。每次 AI 出現(xiàn)故障,他們的無助就會暴露無遺。目前,AI 還不足以完全替代程序員,但隨著其不斷改進,情況只會越來越糟。真正的問題不在于 AI 是否會取代程序員,而在于我們是否會取代自己。 不信?那么試著不借助 AI 編程一天,結(jié)果可能會讓你大吃一驚。 |