我关掉了Copilot:因为我写的代码出现在了别人的建议里

我关掉了Copilot:因为我写的代码出现在了别人的建议里

上周,一个同事兴奋地跟我说:"你看,Copilot 建议的这段代码,跟咱们两年前写的那个工具函数一模一样,连注释都相似。" 我看了一眼,后背一凉。那是我写的。这段代码从未开源,只存在于公司内部仓库。它是怎么跑到 Copilot 的训练集里的?

一、Copilot 是怎么学会你的代码的?

GitHub Copilot 的训练数据来自公开仓库,这大家都知道。但问题在于:私有仓库的代码,也可能通过间接方式被"学习"

  • 如果你在编辑器里打开了某个私有项目,Copilot 不会直接把你的代码上传。但它的上下文包含了当前文件的内容,这些内容会在本地处理后发送到服务器请求补全。微软和 OpenAI 多次声明,不会用私有代码训练模型
  • 但开发者发现,Copilot 有时会逐字复现一些闭源项目的 API 和逻辑。这只能说明:这些代码可能以某种形式暴露过(比如泄露、员工上传公开库、第三方依赖中包含)。
  • 我们内部审计后发现,那位同事两年前写的函数,其实是参考了某个开源库并做了修改。而开源库的代码,可能已经进入了 Copilot 的训练集。Copilot 学的是开源库的"原型",然后推导出了我们修改后的版本。

换句话说,Copilot 并不是直接偷了你的私有代码,而是"推测"出了与你类似的实现。但这依然让人不安:我的 coding 风格、变量命名、甚至是特定的 bug 写法,会不会被模型"记住"?

二、更大的争议:Copilot 是否构成侵权?

2022 年起,就有集体诉讼指控 GitHub Copilot 违反开源许可证。原告称,Copilot 在训练时使用了大量受版权保护的代码(如 GPL 协议的开源软件),并在生成结果中完整复现了这些代码,且没有署名和版权声明。这个案子至今没有最终判决,但已经让很多开发者保持警惕。

2025 年底,某知名开源项目作者发现,Copilot 直接输出了他项目里的完整函数,连注释里的作者姓名都一模一样。他在推特上愤怒地说:"至少把我的名字留下。"

三、我们团队的反应:有人关掉,有人继续

我把这件事在团队里一说,反应两极。

关掉派(包括我)认为:风险不可控。虽然公司还没因此出事,但谁也无法保证未来不出问题。我们写的虽然是内部系统,但包含了业务敏感逻辑。万一哪天 Copilot 给某个竞争对手生成了类似的代码,怎么办?这不是技术问题,是信任问题。

继续使用派认为:这是因噎废食。Copilot 确实提升了效率,而且目前没有任何证据表明它会泄露私有代码。至于开源许可问题,那是 GitHub 和微软该解决的,普通开发者不用操心。

最终,我们没有强制禁用。但公司发了一则内部指引:核心业务模块、涉及敏感数据的代码编写时,建议关闭 AI 补全。

四、我的选择:手动挡,回到没有 Copilot 的日子

两周前,我彻底关掉了 Copilot。不是因为它不好用,而是我发现自己开始依赖它。写个循环,Tab;写个函数,Tab;写个注释,Tab。我的大脑在"退化"。重新回到没有 AI 辅助的状态,一开始很不习惯,打字速度降了,要自己回忆 API。但过了几天,我发现自己更专注了,对代码的理解也更深。

我并不是反对 AI 编程。我只是觉得,在我们完全信任它之前,最好先搞懂它的边界和风险

五、最后

我依然会用 Cursor 做一些辅助性的任务(写文档、生成测试数据),但核心逻辑,我选择自己敲。

相关推荐
孟健3 小时前
flomo MCP 之后,笔记管理该重做了
ai编程
1点东西3 小时前
Codex + 智谱 GLM 完整跑通教程 (全网唯一测试通过教程)
aigc·openai·ai编程
欧雷殿4 小时前
从「吸引子引导工程」看我的「一人公司」实践
前端·人工智能·后端
SmartRadio4 小时前
STM32WLE5 LoRa Smart TDMA 完整协议栈实现(工程级可直接编译)-【1】
javascript·stm32·单片机·嵌入式硬件·lora·自组网·smart tdma
wordbaby4 小时前
React Native + RNOH:一个 `lazyScreen()` 搞定 48 页面启动懒加载
前端·react native
颜进强4 小时前
Claude Code -8 Skills 实战指南:让 AI 精准执行你的工程规范
ai编程
竹林8184 小时前
用 wagmi v2 踩坑两天,我终于搞懂了多链钱包切换
前端·javascript
吃乔巴的糖4 小时前
Vue 3 打印模板设计器 (print-canvas-designer)
前端·vue.js