最近一段時間,國外技術社群有一個關注度很高的話題。它由一篇文章引發了大量的討論,事情的起因是2025年1月底 ChatGPT 宕機,作者有感而發寫下了下面這篇文章:https://nmn.gl/blog/ai-illiterate-programmers
幾天前,由於ChatGPT宕機,Cursor 也無法使用了。
我盯著終端,面對那些我討厭看到的紅色錯誤資訊。一個 AWS 錯誤資訊直勾勾地回瞪著我。我不想在沒有 AI 幫助的情況下解決它。
經過 12 年的程式設計,我發現自己變得越來越不擅長自己的工作了。這不是誇大其詞,而是當代軟體開發者正在面臨的新現實。
技能的退化
這種退化是不知不覺中發生的。
首先,我不再閱讀文件了。既然 AI 可以即時解釋問題,那又何必多此一舉呢?
接著,我的除錯能力也開始退化。沒有AI的幫助,堆疊跟蹤資訊現在看起來難以理解。我甚至連錯誤資訊都懶得細看,只會複製貼上到 AI 那裡。
然後,我就變成了一個“人形剪貼簿”,充當著我的程式碼與大語言模型(LLM)之間的中轉站。
以前,每一條錯誤資訊都能給我一些啟發。現在呢?解決方案神奇地出現了,我卻什麼也沒學到。即時答案帶來的多巴胺快感取代了對問題真正理解帶來的成就感。
接踵而至的是 “深入理解” 的能力也出現了問題。還記得以前花幾個小時去理解一個解決方案為什麼有效嗎?現在,我只是簡單地實現 AI 的建議。如果它們不起作用,我就改進上下文,然後再次詢問 AI。如此迴圈,依賴越來越深。
再就是情感上的變化。以前,解決新問題是程式設計樂趣的一部分。現在,如果 AI 在5分鐘內沒有給出解決方案,我就會感到沮喪。
最可怕的是,我正在構建一個由 AI 驅動的開發工具,但我無法擺脫一種感覺:我在親手助長這一問題,讓我們的集體技能不斷被退化。
“戒癮”計劃
我並不是建議做出什麼激進的決定,比如完全不使用 AI – 這是不現實的。相反,我決定先嚐試一週一天的“無 AI 日”,要求自己在這一天裡:
-
完整閱讀每一條錯誤資訊
-
重新使用真正的除錯工具
-
從零開始編寫程式碼
-
閱讀原始碼,而不是詢問AI
不瞞你說,這樣做並不好受。相比藉助 AI, 我感覺這樣更慢、更笨、更令人沮喪。
但我也能感受到一些微妙的變化:我對自己編寫的程式碼更有把控,也重新找回了那種久違的自主感,而這些卻在使用 AI 的過程中一點點地消失。而且,我學到的東西也更多了。
令人不安的真相
我們並不是在藉助 AI 成為 10 倍的開發者。
我們在變成了 10 倍依賴 AI 的人。這是有本質區別的。
每當我們讓 AI 解決一個我們本可以自行解決的問題時,我們是在用長期的理解力換取短期的生產力;是在追求今天能寫出多少行程式碼,卻犧牲了未來真正解決問題的能力。
我並不是建議我們放棄 AI 工具——這已經不可能了。但我們需要一套使用規則。以下是我的一些想法:
-
對於你尚未嘗試去理解的問題,不要使用 AI
-
閱讀並理解所有AI建議的解決方案
-
定期進行無 AI 輔助的程式設計
-
專注於學習模式,而不僅僅是解決眼前的問題
坦率地講,我自己也無法做到一直遵守這些規則。但這只是一個開始,我堅信任何剛接觸程式設計的人都應該嚴格遵守這些規則。
此時此刻,在某個地方,一位新手程式設計師正在學習程式設計。他們永遠不會體會到真正獨立解決問題的成就感。他們永遠不會體驗到與 bug 奮鬥幾個小時後所獲得的深刻理解。
我們正在造就一代可以向 AI 提出正確問題卻無法理解答案的開發人員。每次AI宕機時,他們都會暴露出越來越無助的一面。目前,AI 的能力還不足以完全取代程式設計師,但隨著它的進步,這種情況只會變得更糟。真正的問題不是人工智慧是否會取代程式設計師。而是我們是否正在取代自己。

Python開發者 配圖,圖片由 AI 生成

試著在沒有 AI 的情況下編碼一天。結果可能會讓你大吃一驚
