AI 輔助如何影響編碼技能的形成
Anthropic 的研究指出,在學習過程中利用 AI 輔助會導致技能掌握度在統計學上顯著下降,具體而言,與手寫程式碼的人相比,測驗分數降低了 17%。雖然 AI 可以加速熟悉任務的完成,但它可能會削弱新技能的習得以及除錯能力,從而產生開發者缺乏監督 AI 生成輸出所需專業知識的風險。
對技能習得與掌握度的影響
在學習新的技術技能時使用 AI 輔助,會導致理解力與記憶力降低。在一項涉及 52 名以初級軟體工程師為主的隨機對照試驗中,學習 Python 函式庫 "Trio" 時,AI 輔助組的任務後測驗平均得分為 50%,而手寫程式碼組的平均得分為 67%。這種差異相當於將近兩個字母等級的差距 (Cohen's d=0.738, p=0.01)。
關於表現的關鍵發現包括:
- 除錯差距:分數差異最大的部分出現在除錯問題上,這表明對 AI 的依賴特別阻礙了識別與診斷錯誤的能力。
- 生產力權衡:AI 組平均完成任務的速度快了約兩分鐘,但這種生產力的提升在統計學上並不顯著。
- 認知卸載:使用 AI 的參與者通常將思考過程卸載給工具,減少了投入任務的努力程度,並降低了對工作的參與度。
AI 互動模式與學習成果
對螢幕錄影的定性分析顯示,與 AI 互動的方式決定了使用者是否能留存資訊。研究識別出兩種截然不同的互動模式:
低分互動模式 (平均值 < 40%)
- AI 委派:使用者完全依賴 AI 來編寫程式碼。這組人完成任務的速度最快,遇到的錯誤最少,但展現出的掌握度最低。
- 漸進式 AI 依賴:使用者最初嘗試獨立努力,但最終將所有的程式碼編寫工作委派給了 AI。
- 迭代式 AI 除錯:使用者依賴 AI 來解決問題並驗證程式碼,而不是利用工具來釐清自己的理解。
高分互動模式 (平均值 ≥ 65%)
- 生成後理解:使用者生成程式碼後,接著提出後續問題以建立理解。
- 混合程式碼-解釋模式:使用者同時要求生成程式碼與詳細的解釋。
- 概念性詢問:使用者僅詢問概念性問題,並依靠自己的理解來完成任務。這是整體第二快的模式,且與高掌握度相關。
對軟體工程與 AI 政策的啟示
研究建議,在工作場所中激進地整合 AI 可能會對社會韌性與系統安全性造成長期風險。如果初級工程師的技能發展受阻,他們可能在部署 AI 生成程式碼的高風險環境中,缺乏提供有意義監督或捕捉錯誤的能力。
為了降低這些風險,研究建議:
- 刻意的技能發展:鼓勵「認知努力」以及「卡關」的過程,將其視為培養掌握度的必要部分。
- 工具設計:利用旨在促進理解而非僅僅是輸出的學習模式 (例如 Claude Code Learning and Explanatory mode 或 ChatGPT Study Mode)。
- 管理策略:設計 AI 部署政策,確保工程師在工作時能持續學習,而非將即時速度優先於長期專業知識。
研究背景與限制
這項研究特別關注新技能的習得,這與 Anthropic 先前顯示 AI 可以將現有任務的速度提升 80% 的觀察性數據形成對比。研究指出,AI 可能在加速已發展技能的生產力時,同時阻礙了新技能的習得。
研究的限制包括樣本數相對較小,且是在任務完成後立即進行理解力測驗,這留下了「即時表現是否能預測長期技能發展」的問題,仍需進一步研究。
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch