上週,一位同事興奮地跟我說:「你看,Copilot 建議的這段程式碼,跟我們兩年前寫的那個工具函式一模一樣,連註解都很像。」我看了一眼,背脊一陣發涼。那是我寫的。這段程式碼從未開源,只存在於公司內部倉庫。它是怎麼跑到 Copilot 的訓練資料裡的?
GitHub Copilot 的訓練資料來自公開儲存庫,這大家都知道。但問題在於:私有儲存庫的程式碼,也可能透過間接方式被「學習」。
換句話說,Copilot 並不是直接偷了你的私有程式碼,而是「推測」出了與你類似的實作。但這依然讓人不安:我的程式風格、變數命名,甚至是特定的 bug 寫法,會不會被模型「記住」?
自 2022 年起,就有集體訴訟指控 GitHub Copilot 違反開源授權。原告稱,Copilot 在訓練時使用了大量受著作權保護的程式碼(例如 GPL 授權的開源軟體),並在生成結果中完整重現了這些程式碼,且沒有標註作者與版權聲明。這個案子至今沒有最終判決,但已經讓很多開發者保持警惕。
2025 年底,某知名開源專案作者發現,Copilot 直接輸出了他專案裡的完整函式,連註解裡的作者姓名都一模一樣。他在 X 上憤怒地說:「至少把我的名字留下。」
我把這件事在團隊裡一說,反應兩極。
關掉派(包括我)認為:風險不可控。雖然公司還沒因此出事,但誰也無法保證未來不出問題。我們寫的雖然是內部系統,但包含了業務敏感邏輯。萬一哪天 Copilot 給某個競爭對手生成了類似的程式碼,怎麼辦?這不是技術問題,是信任問題。
繼續使用派認為:這是因噎廢食。Copilot 確實提升了效率,而且目前沒有任何證據表明它會洩漏私有程式碼。至於開源授權問題,那是 GitHub 和微軟該解決的,普通開發者不用操心。
最後,我們沒有強制停用。但公司發了一則內部指引:核心業務模組、涉及敏感資料的程式碼撰寫時,建議關閉 AI 補全。
兩週前,我徹底關掉了 Copilot。不是因為它不好用,而是我發現自己開始依賴它。寫個迴圈,Tab;寫個函式,Tab;寫個註解,Tab。我的大腦在「退化」。重新回到沒有 AI 輔助的狀態,一開始很不習慣,打字速度降了,要自己回憶 API。但過了幾天,我發現自己更專注了,對程式碼的理解也更深。
我並不是反對 AI 程式開發。我只是覺得,在我們完全信任它之前,最好先搞懂它的邊界和風險。
我依然會用 Cursor 做一些輔助性的工作(寫文件、產生測試資料),但核心邏輯,我選擇自己敲。