
窗外又在下雨,三月的上海大概就这样,连带着让人心情也稍微有点潮湿。早上在煮咖啡的时候,习惯性地刷了一下开发者社区,结果被一份关于“Coding Plan”(代码辅助套餐)的用户协议条款硬生生看清醒了。
魔鬼藏在5.2.2里
这件事的起因,是最近几家国内科技巨头不约而同地推出了针对程序员的“Coding Plan”。价格极其诱人,有的首月只要几块钱,有的一个月也就四五十,就能让你在IDE里无限畅饮目前国内最顶配的几个大语言模型。
但在那个你通常看都不看就会打勾的《特别约定》里,赫然躺着这么两段话,我一字不落给你们搬过来:
5.2.1 您知晓并同意,Coding Plan服务一经购买不支持退订与退款。
5.2.2 您同意并授权我们和我们的关联公司存储并使用您使用Coding Plan期间因调用模型而输入以及模型生成的内容(“Coding Plan数据”)以用于服务改进与模型优化。若您希望终止对Coding Plan数据的授权,可通过停止使用Coding Plan服务终止授权,但终止授权的范围不涵盖您已授权我们使用的Coding Plan数据。
翻译一下就是:只要你买了,就不能退款;只要你用了,你的提示词、你粘贴进去的报错代码、模型给你生成的代码,我们全都要拿走去训练我们的模型。如果你哪天后悔了想要停用,对不起,以前拿走的数据我们照样用,概不退还。
这就很有意思了。要知道,这几家巨头在他们通用的API服务隐私说明里,一般都会加粗标红写着“我们绝不会将您的数据用于模型训练”。结果到了便宜好用的Coding Plan这里,画风突变,不仅要用,而且态度极其强硬。
谁在薅谁的羊毛
我们来算一笔账。
为什么这些大厂愿意把平时按Token收费动辄几十上百的顶级大语言模型,以包月“白菜价”打包卖给你?真的是为了搞技术普惠吗?
说白了,这就好比你去理发店做个10块钱的特价洗头,代价是理发师要在你头上试验新推子。目前代码大模型的训练已经到了一个瓶颈期。GitHub上那些开源的公开代码,能爬的早就被各家爬得干干净净了。现在各家大厂最缺的,是高质量的“真实业务场景数据”和“带有极强逻辑性的复杂人类Prompt”。
而在IDE里写代码的你,恰好就是生产这些黄金数据的完美机器。
你为了修复一个深埋在业务逻辑里的Bug,反复跟模型对话,提供了带有真实变量名和数据库表结构的上下文,最后模型给出了一个优雅的解法,你点击了“Accept”。这个完整的交互链路,对于强化学习训练来说,简直是千金难求的极品语料。
你以为你花40块钱买到了一个月的高级工具,实际上是巨头只花了40块钱服务费,就雇佣了你这个高级软件工程师给他们做了一个月的免费数据标注。而且,因为有“不支持退订与退款”的5.2.1条款兜底,不管你中途用得开不开心,这笔买卖他们稳赚不赔。
同样是代码助手,差距在哪
如果你把视线放到行业里横向比一下,这件事的观感会更复杂。
我们看看目前占据主导地位的Cursor是怎么处理这个事情的。对于免费或Pro版用户,它的隐私模式默认也是关闭的,确实也会收集代码用于优化。但对于企业版(Business plan)用户,他们实行的是ZDR(零数据保留)协议,并且和后端的OpenAI、Anthropic等供应商都签了严格的保密合同,明确保证不会用用户的代码去训练模型。
反观国内目前的这些Coding Plan,虽然价格便宜了几个数量级,但在隐私选项上几乎是一刀切的“强买强卖”。
而且那个“不支持退订与退款”的条款,在实际执行中也是惹过麻烦的。上个月,国内某头部厂商在升级代码模型的时候,因为新旧模型切换导致了一波体验下滑。当时大量预交了年费的用户要求退款,就直接撞上了这条“一经购买即视为确认”的铁板。最后是在舆论的巨大压力下,官方才勉强开了一个特殊补偿通道处理。
说句不好听的,企业在推出廉价服务时想收割数据,这在互联网时代并不新鲜。但是有个问题你得知道,用这么强硬的法律条款把用户的后路全部堵死,连“撤回历史数据授权”的权利都不给,多少有点 傲慢 了。
你的代码,真的还是你的吗
上周末我跟一个在金融大厂做企业安全的朋友喝茶,聊过这个事。
在IDE里配置这些大厂模型的API key时,其实就是在给你的代码库开一扇向外的窗。
我有时候在想,如果你是一个独立开发者或者小初创团队的程序员,为了省钱用了这种Coding Plan,把公司核心的推荐算法或者加密逻辑贴进了对话框里。这部分代码被云端吸收之后,会不会在未来的某一天,当你的竞争对手问模型“如何实现一个类似的推荐功能”时,模型直接把你的源代码原封不动地吐了出来?或者反过来试试?
也有可能是我想多了。大厂的安全团队肯定会说,我们在入库之前会做严格的数据脱敏,会把里面的硬编码密码、Token和特殊命名清洗掉,还会通过打散重组来避免隐私泄漏。
但技术上真的能做到绝对干净吗?我也不太确定。大语言模型的“记忆效应”一直是学术界尚未完全攻克的一大难题。有时候模型就是会死记硬背下某一段极具特征的语料,并在特定的提示词下被触发。
前天我在本地跑一个数据清洗脚本的时候,突然意识到一个很尴尬的局面:开发者为了提高AI给代码的准确度,必须给它提供足够多的业务上下文;而一旦提供了上下文,就等于把代码的知识产权拱手送上了云端。这对于那些还没有预算购买昂贵企业版私有化部署的团队来说,几乎是一个无解的死结。
每天我们用的越多,它会的越多。(捂胸口)现实版的教会徒弟,饿死老师傅……
其实仔细看看这份协议,字里行间写满的都是大厂对于高质量数据的极度渴望,以及在商业化变现上的试探。我不反对用数据换便利,毕竟天下没有免费的午餐,便宜的午餐往往也标好了暗中的价格。
(叹气)咖啡快凉透了,我去重新热一下。大家写代码的时候,记得把敏感数据打个码。