AI 都幫忙寫程式了,為什麼還要硬背?資深開發者製作「程式碼單字卡」的理由

一位開發者坐在電腦螢幕前拼湊大腦形狀拼圖的插畫
AI Summary

為了防止開發者因 AI 程式碼助理的發展而導致基礎實力退化的現象,一位資深開發者推出了應用「間隔重複」學習原理的訓練應用程式,凸顯了維持基礎知識的重要性。

想像一下。每天早上上班的路上,你總是會打開智慧型手機的導航。因為導航會親切地避開壅塞路段,告訴你最快的路線。就這樣過了三年。然而有一天,智慧型手機突然沒電了。在螢幕變黑的那一瞬間,你突然驚覺:「咦?下個路口是要左轉還是右轉?」明明是每天必經的熟悉道路,但因為把找路的工作完全交給了機器,導致腦中的『地圖』已經變得一片空白。

這個在我們日常生活中常遇到的驚險體驗,現在同樣也發生在全球頂尖的菁英軟體開發者螢幕前。只不過他們失去的不是上班路線的地圖,而是正在逐漸遺忘編寫程式碼的基礎方法。

隨著 AI 代為寫程式的時代來臨,開發者大腦中的程式設計肌肉正在慢慢流失,這被稱為「技術退化(Skill Rot)」的現象,已成為 IT 業界的燙手山芋。多虧了 AI 助理,開發速度飛快,但人類處理程式碼和解決問題的基礎體力卻在衰退,這是一個矛盾的現象。簡單來說,就像是太過依賴計算機,導致連九九乘法表都變得模糊不清一樣。

最近,擁有 20 年經歷的資深開發者 Djoumé 親自體驗了這個可怕的現象。他發現自己最近過度依賴 AI 代理(Agent),導致連基本的程式設計知識都記不太起來,這個事實讓他感到非常震驚 Fata 使用間隔重複來對抗 AI 引起的技能退化 …。就連不是初學者的資深程式設計師,在 AI 壓倒性的便利面前也失去了基本功。

因此,為了解決這個問題,他推出了一款獨特的程式碼訓練應用程式「Fata」,旨在重新訓練人類的大腦。這個故事不只是矽谷天才開發者們的煩惱。在 AI 時代,這是攸關我們所有必須每天與機器合作共存之人的未來的重要問題。

為什麼這很重要?

「反正 AI 都會自動幫我們寫程式,開發者有必要硬去記那些老舊的程式語法嗎?」

從不懂程式設計的一般人角度來看,這確實是個合理的問題。就像前面說的,自從計算機發明後,我們也不需要去心算複雜的七位數乘法了,有人可能會反問這兩者有什麼不同。但是,軟體世界遠比單純的數字計算來得複雜且危險。

我們每天習以為常使用的智慧型手機銀行應用程式、機票預訂系統、醫院的病患看診紀錄資料庫,全都是由某人寫出的數百萬行程式碼交織運作而成的。如果這些程式碼出現了一點小漏洞,可能會導致銀行帳戶的錢莫名消失,或是醫院的急診系統癱瘓等大災難。

隨著 AI 深入參與程式設計領域,開發速度變得前所未有地快。但專家們強烈警告,長期且廣泛地使用 AI 程式碼工具,將會損害開發者的學習能力和解決問題的能力,最終可能導致他們失去安全維護和修補現有龐大軟體系統的能力 機器速度下的技能退化?AI 正在改變… - 富士比

即使程式碼編寫過程越來越自動化、作業速度飛躍性提升,但在最關鍵時刻必須負起責任的終究是「人類」。人類必須在如暴風雪般湧現的程式碼中揪出致命錯誤,並引導 AI 產出正確的結果。特別是在關乎人類生命或龐大資金等高風險環境(high-stakes environments)中運作的 AI,我們必須保持完全掌控和監督它的能力 AI 輔助如何影響程式設計技能的養成

再想像一下。在高速公路上行駛的自駕車系統發生了致命錯誤。必須緊急修復此問題的首席開發者打開程式碼後,卻慌張地說:「呃… 這是去年 AI 寫的程式碼,但我忘記基礎語法了,不知道該從哪裡修起。」這時到底會發生什麼事?開發者的「技術退化」不僅僅是 IT 業界內部的小插曲,而是直接關係到生活在數位社會中你我日常安全的重大威脅。

淺顯易懂:Fata 與「間隔重複」的魔法

Djoumé 開發的 Fata 應用程式,是為牢牢抓住開發者腦海中如霧般漸漸消散的知識而誕生的。

這個應用程式涵蓋了許多必備程式語言的基礎,例如 Python(廣泛用於人工智慧和資料分析的熱門程式語言)、React(方便製作網站畫面和使用者介面的工具)、TypeScript(能減少錯誤的穩定語言)和 Rust(運作極快且安全的高效能語言)。更進一步,從軟體架構(設計整體系統結構和骨架的方法)到不該被遺忘的核心基本功,都會進行集中訓練 Fata 使用間隔重複來對抗 AI 引起的技能退化 …

Fata 訓練人類大腦的核心武器,正是被稱為「間隔重複(Spaced Repetition)」的科學學習法。再加上能與他人共同學習的社群學習功能,以及像遊戲一樣有趣的挑戰任務(Gamification),能幫助開發者快速且有效地掌握技術知識 Fata - Google Play 應用程式

打個比方。AI 程式碼助理就像是一台頂級的「電動自行車」。只要輕輕踩下踏板,就能輕鬆爬上陡峭的山坡,帶來驚人的作業速度,而且連一滴汗都不用流。但是,如果每天都只騎輕鬆的電動自行車,我們腿部的肌肉就會逐漸萎縮。相反地,Fata 應用程式就像是一位嚴格的「私人教練(PT)」,會硬把肌肉已經流失的開發者拖進健身房。

那麼,「間隔重複」到底是什麼?想像一下夏天在陽台種盆栽的情境。澆滿水後,土壤會有幾天保持濕潤。如果為了讓植物長得快而每天澆水,會發生什麼事呢?根部反而會爛掉。讓植物最健康生長的方法,是在土壤完全乾涸前的那個絕佳時機點澆水。感到口渴的植物為了生存,會將根扎得更深、更穩固。

我們大腦的記憶機制也是一樣的。人類在學習某種知識後,會隨著時間慢慢遺忘。這在心理學上被稱為「遺忘曲線」。間隔重複是一項運用數學計算出大腦「正要遺忘某個程式碼知識的瞬間」,並發出提醒、拋出測驗題的技術。就像是在問:「你差不多快忘記這個 React 語法了吧?來,空格裡的正確答案是什麼?」在這個絕妙的時機再次刺激大腦,那個知識就會從轉瞬即逝的短期記憶,深根蒂固地變成永遠不會忘記的長期記憶。

現狀:讚賞與懷疑論的激烈拔河

Fata 應用程式的出現,在科技界引起了巨大迴響。許多對於自己似乎變得越來越笨而感到莫名焦慮的開發者們,紛紛開心表示這是「我迫切需要的救生衣般的工具」。

但同時,也伴隨著尖銳的批評和熱烈的討論。在全球最大的科技專家社群 Hacker News 上,也出現了對這個應用程式的學習方式提出根本性疑問的聲音。

一位開發者犀利地指出:「我認為這種間隔重複學習,是學習寫程式時『絕對不能做』的方法。間隔重複對於機械式地死背隨機事實或英文單字可能很棒,但程式設計的本質是激烈思考如何看待與解決問題的過程。只要完美掌握了方法論和核心概念,就算不當作單字卡來背誦,也應該能在當下透過邏輯推導出正確答案」Show HN: 我製作了一個掌握寫程式的間隔重複工具 …

也就是說,寫程式不是機械式地背誦數學公式或英文單字,而是解開複雜邏輯拼圖的高度思考遊戲,因此有強烈的懷疑論認為,像 Fata 這樣以抽任卡(單字卡)的方式灌輸知識,是否真的能培養出實質的開發實力。

儘管如此,專家們對一個事實深表認同:我們現在正站在非常危險的邊界上。現在 AI 產出龐大程式碼的速度之快,已經讓由人類組成的開發團隊根本無法在物理時間內閱讀和審查完畢。這導致沒有人能真正理解的「失控程式碼」像垃圾山一樣越堆越高,我們迫切需要採取對策來阻止這種現象。

正因如此,開發者必須盡快擺脫單純依賴氛圍或直覺,隨便對 AI 下指令並複製貼上結果的「直覺寫程式(Vibe Coding)」階段。取而代之的是,在完美理解的基礎上,轉向在徹底控制下編寫與管理程式碼的「受控程式碼(Controlled Coding)」世界,這種呼聲現在比以往任何時候都還要高漲 從直覺程式碼到受控程式碼:如何防止 AI …。因為無論 AI 在我們面前呈現多麼似是而非且華麗的程式碼,唯有人類腦中確實掌握著作為基礎的骨架知識,才能安全地控制失控的機器系統。

未來會變得怎麼樣?

在過去,敲擊鍵盤速度最快、流著汗親自輸入每一行程式碼的人會被認定為優秀的開發者。然而,未來的開發者與其說是親自打字的「作家」,不如說更接近於一位嚴格的「總編輯」,必須精準洞察 AI 在一秒鐘內瞬間吐出的數千行龐大程式碼,並敏銳地揪出其中的邏輯漏洞。

要成為一位有能力的總編輯該怎麼做呢?必須比一般作家更完美、更深入地理解基本文法、空格以及架構文章的原理,才能修改別人(或是機器)的文章。同樣地,對於未來的開發者而言,反而是「扎實的基本功和對原理不可動搖的記憶」會變得比現在重要得多。

隨著尖端科技令人目眩神迷地發展,越能輕易取代人類的肉體與精神勞動,人類反而越需要默默回歸最基礎的知識與原理,才能成為不被機器牽著鼻子走的真正主人。一位在險惡現場堅守了 20 年的百戰老將開發者,沒有一味地為 AI 的驚人速度歡呼,反而因為害怕自己的記憶力衰退而默默開發出「程式碼單字卡應用程式」的事實 Fata 使用間隔重複來對抗 AI 引起的技能退化 …。這個拋向我們未來的沉重訊息,絕對不容小覷。

AI 的觀點

儘管 AI 為了協助我們的日常與工作而以驚人的速度發展,但 Fata 的案例向我們拋出了一個非常重要的問題。我們正面臨一個矛盾的情況:為了輔助人類能力而精心打造的 AI,反過來一點一滴地侵蝕著我們長久以來磨練的認知能力。隨著機器變得越來越聰明,我們或許正在慢慢失去提問和記憶的能力。

現在我們迫切需要的,不再只是「能多麼熟練地使用 AI」這種技術性的操作方法。就像智慧型手機代替我們記住電話號碼,導致我們連深愛家人的號碼都忘記一樣,現在已經來到必須每天持續鍛鍊以防大腦肌肉退化的「數位大腦體操」時代。最終,稱霸 AI 時代最強大的武器,將是不被機器壓倒性的速度席捲,並堅持到底的「人類本有之堅實思考能力」。

參考資料

  1. Fata 使用間隔重複來對抗 AI 引起的技能退化 …
  2. 機器速度下的技能退化?AI 正在改變… - 富士比
  3. AI 輔助如何影響程式設計技能的養成
  4. Fata - Google Play 應用程式
  5. Show HN: 我製作了一個掌握寫程式的間隔重複工具 …
  6. 從直覺程式碼到受控程式碼:如何防止 AI …
測試你的理解
Q1. 開發 Fata 應用程式的資深開發者 Djoumé 開發此應用程式的直接契機是什麼?
  • 為了親自訓練 AI 模型
  • 因為自己過度依賴 AI 工具而感到程式碼記憶力衰退
  • 為了建立一所教導初學者寫程式的學校
Djoumé 發現自己嚴重依賴 AI 代理(Agent)後,對寫程式基本功的記憶力開始衰退,因此開發了這個應用程式。
Q2. 關於報導中說明的「間隔重複(Spaced Repetition)」學習法,下列何者描述最正確?
  • 在腦中即將遺忘資訊的時機點再次複習,將其轉化為長期記憶的方法
  • 每次遇到不懂的問題就詢問 AI,立即獲得正確答案的方法
  • 一天連續 10 小時不間斷地解程式碼題目的訓練法
間隔重複的原理就像在盆栽快乾涸前澆水一樣,在腦袋即將遺忘資訊的瞬間提供測驗,藉此強化記憶。
Q3. 關於開發者的實力因 AI 而退化的現象,部分專家在 Hacker News 上擔憂的是什麼?
  • 間隔重複應用程式太耗手機電量
  • AI 寫的程式碼對人類來說太複雜,反正也沒有必要背
  • 程式設計不是單純的死記硬背,而是思考解決問題的過程,單字卡式的背誦可能不適合用來學習程式設計
Hacker News 上的一名開發者指出,由於程式設計並非單純死記硬背隨機的事實,而是思考如何解決問題的過程,因此間隔重複的方式可能並不適切。