“AI貢獻令人士氣低落”:Godot禁止編碼代理以拯救其導師模式
Godot引擎基金會更新其貢獻政策,禁止大部分AI生成的代碼,理由是AI貢獻讓審核者士氣低落且破壞了導師培養機制。新政策要求新貢獻者提交重大變更前需獲批准,僅允許代碼補全等低風險AI輔助。Zig等項目的類似做法凸顯了開源界及行業對AI衝擊開發者人才管道的擔憂。
Godot引擎(一款開源的Unity替代品)正在修訂其貢獻政策,以禁止大部分AI生成的代碼進入其代碼庫。此舉源於Godot基金會(負責管理該項目的非營利組織)數月的內部討論,維護者表示已無法應對日益增長的拉取請求積壓,其中許多由AI生成。
然而,基金會指出,壓力不僅來自管理大量AI生成的“垃圾代碼”,還在於審核拉取請求的本意——審核代碼一直是一項繁重工作,但它也是培訓未來維護者的一種方式;當貢獻者變成機器而非人類時,這一點不再成立。基金會表示:“AI貢獻還帶來了額外的痛苦:令人士氣低落。”因為對拉取請求的反饋不會改變模型的行為,且基金會無法信任重度AI用户能充分理解自己的代碼並據此行動。
“審核PR已經是繁瑣的工作,但它是值得的,因為審核者通常覺得他們的努力有助於教育新貢獻者——他們可能成為未來的維護者或審核者。”基金會寫道,“如果你的PR反饋只是被機器吸收,而不是用於指導潛在的未來維護者,那麼花空閒時間審核PR就變得很難合理化。”
Godot的GitHub倉庫已自動禁止自主AI代理和“氛圍編碼”的拉取請求,但尚未寫入公開發布的貢獻指南。新的更新(仍在進行中)將更進一步:禁止AI生成任何實質性代碼,無論請求來自機器人還是人工粘貼AI輸出——即使人工隨後審核並披露。貢獻者仍可使用AI進行代碼補全、正則表達式或查找替換等低風險任務,但需在拉取請求中披露。與維護者的討論中也不允許使用AI生成的文本,機器翻譯除外。值得注意的是,新貢獻者(合併PR數不超過三個)在提交新功能或大型重構前必須獲得明確批准。
Godot的指導論據在開源領域並非全新。今年四月,系統編程語言Zig採取了類似的零容忍政策,Zig軟件基金會社區副總裁Loris Cro認為,審核拉取請求的整個目的是投資於提交者本人,而非僅僅代碼。他將這種動態稱為“貢獻者撲克”,並寫道:“在貢獻者撲克中,你押注的是貢獻者,而不是他們第一個PR的內容。”AI生成的拉取請求完全打破了這種計算,因為如果另一端沒有人學習,維護者的審核時間無法培養未來貢獻者。
包括終端模擬器Ghostty和C庫curl在內的其他項目,也已因類似問題限制或關閉了部分貢獻管道,其理由更多地聚焦於審核負擔和虛假錯誤報告,而非指導作用。
Godot和Zig的政策反映了對AI影響軟件行業初級人才管道的廣泛擔憂。正如The New Stack在四月報道的,微軟的Mark Russinovich和Scott Hanselman警告,一旦公司依賴高級工程師配合AI工具而非招聘初級開發者,“職業的人才管道就會崩潰,組織將面臨沒有下一代經驗豐富的工程師的未來。”
開源版本的同問題甚至無需人員失業就顯現出來——初級貢獻者仍在並願意提交代碼,但如果代碼由AI而非他們編寫,維護者的反饋無處可落,將首次貢獻者轉變為未來維護者的非正式管道就會停止運作,就像貢獻者從未出現一樣。Godot基金會表示,隨着AI工具的變化,他們將繼續重新審視該政策,並將其當前方法描述為“保守”。基金會總結道:“我們需要採取措施減輕維護者負擔,同時確保仍有管道指導新貢獻者成為未來的維護者。”