newsence
來源篩選

How AI Assistance Impacts the Formation of Coding Skills

Anthropic Research

A randomized controlled trial by Anthropic reveals that while AI can slightly speed up tasks, it leads to a 17 percent decrease in skill mastery among developers who rely on it for code generation without active learning.

newsence

人工智慧輔助如何影響程式編寫技能的養成

Anthropic Research
大約 1 個月前

AI 生成摘要

一項由 Anthropic 進行的隨機對照試驗顯示,雖然 AI 能稍微加快任務速度,但若開發者僅依賴其生成程式碼而缺乏主動學習,將導致技能掌握度下降百分之十七。

AI 輔助如何影響程式設計技能的養成

AI 輔助如何影響程式設計技能的養成

AI 輔助如何影響程式設計技能的養成

研究顯示,AI 能幫助人們更快地完成部分工作。在一項針對 Claude.ai 數據的觀察性研究中,我們發現 AI 可以將某些任務的速度提高 80%。但這種生產力的提升是否伴隨著權衡?其他研究顯示,當人們使用 AI 輔助時,他們對工作的投入程度會降低,並減少付出的努力——換句話說,他們將思考外包給了 AI。

目前尚不清楚這種認知外包(cognitive offloading)是否會阻礙人們在工作中的技能成長,或者以程式設計而言,是否會阻礙他們理解自己正在構建的系統。我們最新的研究是一項以軟體開發人員為參與者的隨機對照試驗,旨在調查在工作中使用 AI 的這一潛在負面影響。

這個問題具有廣泛的影響——包括如何設計促進學習的 AI 產品、職場應如何制定 AI 政策,以及更廣泛的社會韌性等。我們專注於程式設計,這是一個 AI 工具已迅速成為標準配備的領域。在這裡,AI 創造了一種潛在的緊張關係:隨著程式編寫變得更加自動化並加速工作,人類仍然需要具備捕捉錯誤、引導輸出,並最終為部署在高風險環境中的 AI 提供監督的技能。AI 是提供了一條兼顧技能發展與效率提升的捷徑?還是 AI 輔助帶來的生產力提升削弱了技能發展?

在一項隨機對照試驗中,我們檢測了:1) 軟體開發人員在有和沒有 AI 輔助的情況下,學習新技能(在此案例中為一個 Python 函式庫)的速度;以及 2) 使用 AI 是否會降低他們理解剛寫好的程式碼的可能性。

我們發現,使用 AI 輔助導致掌握程度在統計學上顯著下降。在涵蓋幾分鐘前剛使用過的觀念測驗中,AI 組的參與者得分比手寫程式碼組低 17%,這相當於降低了近兩個等第。使用 AI 稍微加快了任務速度,但這並未達到統計學上的顯著差異門檻。

重要的是,使用 AI 輔助並不保證得分較低。一個人如何使用 AI 會影響其保留資訊的多寡。表現出較強掌握能力的參與者,不僅使用 AI 輔助來產出程式碼,還在過程中利用它來建立理解——無論是透過追問、要求解釋,還是在獨立編寫程式碼時提出概念性問題。

研究設計

我們招募了 52 名(主要是初級)軟體工程師,每個人使用 Python 的頻率至少每週一次且持續一年以上。我們還確保他們至少對 AI 程式輔助有一定程度的了解,並且不熟悉 Trio(我們任務所基於的 Python 函式庫)。

我們將研究分為三個部分:熱身階段;由兩個使用 Trio 編寫不同功能的任務組成的主任務(這需要理解與非同步程式設計相關的概念,這是一項通常在專業環境中學習的技能);以及一項測驗。我們告知參與者任務後會有測驗,但鼓勵他們盡快完成工作。

我們設計的程式設計任務旨在模擬人們如何透過自主教學來學習新工具。每位參與者都會獲得問題描述、初始程式碼,以及解決問題所需的 Trio 概念簡要說明。我們使用了一個帶有側邊欄 AI 助手的線上程式設計平台,該助手可以存取參與者的程式碼,並在被要求時隨時產出正確的程式碼。1

圖片

評估設計

在我們的評估設計中,我們借鑒了電腦科學教育的研究,確定了四種常用於評估程式設計技能掌握程度的問題類型:

我們的評估重點主要放在除錯、程式碼閱讀和概念性問題上,因為我們認為這些對於監督日益可能由 AI 生成的程式碼至關重要。

結果

平均而言,AI 組的參與者大約快了兩分鐘完成,儘管差異在統計學上並不顯著。然而,在測試分數上存在顯著差異:AI 組在測驗中的平均得分為 50%,而手寫組為 67%——這相當於近兩個等第的差距(Cohen's d=0.738, p=0.01)。兩組之間得分差距最大的是除錯問題,這表明如果 AI 阻礙了程式設計能力的發展,理解程式碼何時錯誤以及為何失敗的能力可能是一個特別令人擔憂的領域。

圖片

定性分析:AI 互動模式

我們特別感興趣的是了解參與者如何完成我們設計的任務。在定性分析中,我們手動標註了螢幕錄影,以識別參與者花費多少時間撰寫查詢、詢問了哪些類型的問題、犯了哪些類型的錯誤,以及花費多少時間主動編寫程式碼。

一個令人驚訝的結果是參與者與 AI 助手互動的時間之長。有幾位參與者花費了長達 11 分鐘(佔總分配時間的 30%)撰寫多達 15 個查詢。這有助於解釋為什麼平均而言,使用 AI 的參與者完成速度較快,儘管生產力的提升在統計學上並不顯著。我們預期,當 AI 用於重複性或熟悉的任務時,更有可能顯著提高生產力。

不出所料,「無 AI」組的參與者遇到了更多錯誤。這些包括語法錯誤和 Trio 概念錯誤,後者直接對應到評估測試的主題。我們的假設是,遇到更多 Trio 錯誤的參與者(即對照組)可能透過獨立解決這些錯誤提高了他們的除錯技能。

接著,我們根據參與者與 AI 互動的方式進行分組,識別出導致完成時間和學習結果不同的明顯模式。

低分互動模式:低分模式通常涉及對 AI 的高度依賴,無論是透過程式碼生成還是除錯。該組的平均測驗分數低於 40%。他們表現出較少的獨立思考和更多的認知外包。我們進一步將其分為:

高分互動模式:我們將平均測驗分數為 65% 或更高的行為視為高分測驗模式。這些集群中的參與者同時將 AI 用於程式碼生成和概念性查詢。

我們的定性分析並未在互動模式與學習結果之間建立因果聯繫,但它指出了與不同學習結果相關的行為。

結論

我們的結果顯示,將 AI 積極引入職場(特別是在軟體工程方面)伴隨著權衡。研究結果強調,並非所有的 AI 依賴都是相同的:我們在追求效率的同時與 AI 互動的方式,會影響我們學習到的多寡。鑑於時間限制和組織壓力,初級開發人員或其他專業人士可能會依賴 AI 盡快完成任務,而代價是技能發展——尤其是當出現問題時進行除錯的能力。

雖然這些結果是初步的,但隨著公司轉向 AI 編寫程式碼比例高於人類編寫的趨勢,這些結果提出了重要的考量。如果初級工程師的技能發展因一開始就使用 AI 而受阻,那麼生產力的提升可能會以犧牲驗證 AI 編寫程式碼所需的技能為代價。管理者應深思熟慮如何大規模部署 AI 工具,並考慮能確保工程師在工作時持續學習的系統或刻意的設計選擇,從而使他們能夠對所構建的系統行使有意義的監督。

對於軟體工程或任何其他行業的新手工作者,我們的研究可以被視為證明「有意識地利用 AI 工具進行技能發展」之價值的一小部分證據。認知努力——甚至是痛苦地卡住——對於培養掌握能力可能非常重要。這也是一個適用於個人如何選擇與 AI 合作以及使用哪些工具的教訓。主要的 LLM 服務也提供了旨在促進理解的學習模式(例如,Claude 的程式碼學習與解釋模式或 ChatGPT 的學習模式)。了解人們在使用 AI 時如何學習,也有助於指導我們如何設計它;AI 輔助應該讓人類在提高工作效率的同時,也能發展新技能。

先前的研究對於 AI 是否有助於或阻礙程式設計生產力得出了褒貶不一的結果。我們自己的研究發現,AI 可以將完成某些工作任務的時間減少 80%——這個結果似乎與此處呈現的發現存在緊張關係。但這兩項研究提出了不同的問題並使用了不同的方法:我們早期的觀察性工作衡量的是參與者在已具備相關技能的任務上的生產力,而這項研究則檢視了當人們在學習新事物時會發生什麼。AI 可能既能加速已熟練技能的生產力,又會阻礙新技能的獲取,儘管還需要更多研究來理解這種關係。

這項研究只是揭示人機協作如何影響工作者體驗的第一步。我們的樣本量相對較小,且我們的評估是在程式設計任務後不久測量理解程度。即時的測驗表現是否能預測長期的技能發展,是本研究尚未解決的一個重要問題。仍有許多未解答的問題,我們希望未來的研究能進行調查,例如 AI 對程式設計以外任務的影響、隨著工程師發展出更高的熟練度,這種影響是否會隨時間消散,以及學習時 AI 輔助是否與人類輔助有所不同。

最終,為了在 AI 存在的情況下兼顧技能發展,我們需要對 AI 對工作者的影響有更廣闊的視野。在 AI 增強的職場中,生產力的提升固然重要,但支撐這些提升的專業知識的長期發展也同樣重要。

閱讀完整論文以獲取詳細資訊。

致謝

本項目由 Judy Hanwen Shen 和 Alex Tamkin 領導。本部落格文章的編輯支持由 Jake Eaton、Stuart Ritchie 和 Sarah Pollack 提供。

我們要感謝 Ethan Perez、Miranda Zhang 和 Henry Sleight,透過 Anthropic 安全研究員計畫(Anthropic Safety Fellows Program)使本項目成為可能。我們還要感謝 Matthew Jörke、Juliette Woodrow、Sarah Wu、Elizabeth Childs、Roshni Sahoo、Nate Rush、Julian Michael 和 Rose Wang 提供的實驗設計回饋。

腳註

重要的是,此設置與 Claude Code 等代理型(agentic)程式設計產品不同;我們預期此類程式對技能發展的影響可能比這裡的結果更為顯著。

相關內容

關於我們對 Claude Opus 3 模型停用承諾的更新

人格選擇模型

Anthropic 教育報告:AI 熟練度指數

我們追蹤了數千次 Claude.ai 對話中的 11 種可觀察行為,以建立 AI 熟練度指數——這是衡量當今人們如何與 AI 協作的基準。