用 AI 寫 code 更快了,但你真的有學到東西嗎?
Anthropic 發了一篇蠻有意思的研究: How AI assistance impacts the formation of coding skills,用隨機對照實驗 (RCT) 來看 AI 輔助寫 code 對「學習新技能」的影響。結論有點扎心: 用 AI 的人考試分數低了 17%,相當於差了快兩個等第。
實驗怎麼做的
他們找了 52 位(大多是 junior 的)軟體工程師,隨機分成兩組,任務是用一個他們不熟的 Python library(Trio,做非同步程式設計的)來完成兩個 coding 功能。一組可以用 AI 助手,一組純手寫。做完之後馬上考試。
考試題目設計得蠻用心的,分四類:
- Debugging: 找出 code 的錯誤並診斷原因
- Code reading: 讀懂 code 在做什麼
- Code writing: 寫出正確的 code
- Conceptual: 理解底層原理
重點放在 debugging、code reading 和 conceptual,因為這些是未來人類監督 AI 生成 code 最需要的能力。
結果
AI 組平均考 50%,手寫組 67%(Cohen’s d=0.738, p=0.01)。差距最大的是 debugging 題 — 也就是說,用 AI 的人最弱的恰好是「判斷 code 哪裡出錯」的能力。這蠻諷刺的,因為這正是 AI 時代最需要的技能。而且這個效果跨越所有經驗等級 — 不管你寫了 1-3 年還是 7 年以上的 code,用 AI 的組別考試分數都比手寫組低。
速度方面,AI 組平均快了兩分鐘左右,但統計上不顯著。一個有趣的發現是: 有些人光是跟 AI 對話就花了 11 分鐘(佔總時間 30%),這解釋了為什麼速度優勢不明顯。
還有一個有意思的數據: 手寫組遇到的錯誤中位數是 3 個,AI 組只有 1 個。手寫組因為要自己解決這些錯誤,反而練出了 debugging 能力。另外手寫組自評「學到東西」的分數也明顯比 AI 組高,雖然兩組都覺得任務很有趣。
怎麼用 AI 決定了你學到多少
這是我覺得這篇研究最有價值的部分。他們分析了螢幕錄影,把 AI 組的使用模式分成兩大類:
低分模式(平均 <40%):
- AI delegation: 完全讓 AI 寫 code,最快完成,但什麼都沒學到
- Progressive AI reliance: 一開始自己寫,後來越來越依賴 AI,第二個 task 基本全丟給 AI
- Iterative AI debugging: 遇到 bug 就丟給 AI 解,問了很多問題但都是讓 AI 幫忙解決問題,而不是理解問題
高分模式(平均 ≥65%):
- Generation-then-comprehension: 先讓 AI 生成 code,然後追問「為什麼這樣寫」。跟 AI delegation 看起來幾乎一樣,差別就在多了理解這一步
- Hybrid code-explanation: 要求 AI 生成 code 的同時附帶解釋
- Conceptual inquiry: 只問概念性問題,自己寫 code。錯誤最多但也自己解決,速度在高分組裡反而最快
關鍵洞察: 不是「用不用 AI」的問題,而是「怎麼用」的問題。高分的人把 AI 當老師,低分的人把 AI 當代工。
論文還分析了 AI 組的提問類型: 最多的是 explanation 類問題(79 次),其次是 code generation(51 次),debugging 只有 9 次。有趣的是,只要求生成 code 而不問解釋的人,分數最低。另外,直接貼上 AI 產生的 code 和手動打字輸入 AI 的 code,在學習效果上沒有差異 — 重要的不是花了多少時間打字,而是有沒有投入認知努力去理解。
對實務的啟示
這研究雖然樣本不大,但跟我們的直覺蠻吻合的。幾個值得想的點:
🔹 對 junior 工程師來說,被 stuck 住然後自己解決的過程,可能是建立能力最重要的環節。AI 把這個環節跳過了
🔹 Anthropic 自己之前的研究說 AI 可以讓某些任務快 80%,但那是在「已經有技能」的前提下。學新東西的時候,情況完全不同
🔹 文章提到 Claude Code 的 Learning mode 和 ChatGPT 的 Study Mode 都是試圖解決這個問題的設計方向
🔹 管理者在推 AI 工具的時候,應該要想: 怎麼讓工程師在用 AI 的同時還能持續成長,而不是只看短期產出
🔹 論文特別指出,他們的實驗用的是 chat-based AI 助手,而不是像 Claude Code 那種 agentic coding tool。作者認為 agentic 工具對技能發展的負面影響「likely to be more pronounced」— 因為連組織問題、思考要問什麼的過程都被跳過了
補充一個研究過程中的有趣花絮: 他們做了 4 輪 pilot study 才跑出最終實驗。前兩輪在某個 crowdworking 平台上,35% 的「不能用 AI」組參與者偷偷用了 AI 來完成任務和考試,即使明確警告也擋不住(25% 繼續作弊)。最後換了平台、加了螢幕錄影才解決。這本身就是一個 meta 層面的發現: 人們對 AI 的依賴已經強到連被要求不用都忍不住。
以上,這篇提醒我們一件事: AI 讓我們更有生產力是真的,但如果在學習階段就過度依賴,可能會付出「能力沒有跟上」的代價。特別是 debugging 這種需要深度理解的能力,恰恰是最容易被 AI 輔助跳過、但未來最需要的。
原文: How AI assistance impacts the formation of coding skills / 論文