前言
这两天 ZCode 的事情应该不少写代码的人都看到了。
刚开始我看到有人说 ZCode 会在后台上传代码,第一反应其实是:先别急着喷。
现在这些 AI Coding 工具,哪个不读代码?
你让它分析整个项目、跨文件改代码、找调用链、理解 Git 历史,本来就不可能只盯着你当前打开的那一个文件。尤其用了云端模型以后,部分代码作为上下文发出去,本身也不是什么特别新鲜的事情。
所以如果只是“ZCode 把代码发给模型了”,我觉得没什么好大惊小怪的。
但后面看了一圈,发现事情好像不是这么简单。
9 月 18 日,智谱对这件事情做了回应。按照官方说法,问题跟 ZCode 的代码库索引和 Repo Wiki 有关。Repo Wiki 在生成 Wiki 页面的时候,可能触发仓库数据上传;云端生成完成以后相关数据会立即销毁,不会保存。
问题在于,这个功能上线初期是默认开启的。
这也是我觉得这件事最别扭的地方。
不是“代码能不能上传”,而是:
你上传之前,我到底知不知道?
我其实不反对上传代码
假如今天 ZCode 弹个框出来:
“生成 Repo Wiki 需要将仓库相关代码上传到云端处理,是否继续?”
下面两个按钮:
“同意”
“取消”
我大概率直接点同意。
因为这是我自己选的。
我知道这个功能要干什么,也知道为了完成这件事情,我需要付出什么。
甚至你告诉我:“为了效果好,我们需要读取整个仓库。”
也没问题。
怕的不是它读得多,怕的是我一直以为它只在本地干活,结果后来别人抓包、翻目录、逆向客户端,才发现原来背后还有另外一套东西。
这两者给人的感觉完全不一样。
开发者的电脑跟普通用户电脑也不太一样。
一个项目目录里可能有什么?
源码、配置文件、数据库连接、内部接口、测试数据、部署脚本、各种奇奇怪怪的 .env,再往 Git 历史里面翻,说不定还有哪个同事三年前手一抖提交进去、后来又删掉的 Key。
很多公司甚至明确规定源码不能离开公司环境。
所以“读取项目”这种权限,在 AI Coding 里面其实已经算非常大的权限了。
这也是为什么我觉得,用一句“生成完成后立即删除”其实解决不了所有问题。
我相信你删不删,和我有没有同意你上传,这是两件事。
后面的处理其实挺快
这个地方也没必要为了喷而喷。
事情出来以后,智谱的处理速度不算慢。
官方道歉、修复,然后找中国信通院和绿盟科技做了检查。
截至 9 月 21 日公开的信息,中国信通院确认相关阿里云 OSS 存储桶已经是零数据状态;绿盟科技的检查结果则显示,相关数据对象和存储桶已经删除。ZCode v3.14.0 也移除了 Repo Wiki 入口以及对应的仓库快照生成、上传链路。
然后 ZCode 也开源了。
现在 GitHub 上已经可以直接看到 Desktop、Web、Server、Agent CLI 和 Runtime 这些代码。
至少从处理动作来看,该删的删,该改的改,该审计的审计,最后干脆把代码摊出来给大家看。
这部分我是认可的。
但看到这里,我脑子里冒出来的反而不是“这件事结束了”。
而是想起了前几次 Coding Plan 的事情。
怎么又是「信任」的问题
如果用过比较早期的 GLM Coding Plan,应该对 V1、V2 这些东西有点印象。
这个产品这一路的套餐变化其实挺多的。
价格变、额度变、规则变、模型支持方式也在变。
其中有一次让我印象挺深。
当时有用户买 Pro,其中一个原因就是产品介绍里写着类似“订阅期内享受最新旗舰模型更新”的权益。
结果 GLM-5 发布以后,Pro 用户发现自己并不能第一时间使用 GLM-5。
V2EX 当时就有人发帖说自己感觉“被背刺了”。
当然,后来官方运营群给出的说法是套餐都会支持,只是 Max 先上,Pro 预计晚一些。
你要说这是不是“诈骗”?
我觉得这么说太重了。
你要说智谱不让老用户用了?
也不准确。
后面 Coding Plan 再次大改,从按 Prompt 次数逐渐切到新的积分体系以后,V1/V2 老用户实际上还保留过原来的价格和续订权益。2026 年 7 月那轮新版套餐调整里,公开资料显示老用户仍然可以按照旧方案继续续订。
所以我不太想简单扣一个“智谱专门割老用户”的帽子。
但为什么每次套餐一变,社区里面总有人觉得自己又被背刺了一次?
我觉得这个才比较值得想。
用户其实没那么怕你涨价
AI 产品涨价,我觉得很正常。
模型不是慈善项目。
GPU 要钱,推理要钱,研发也要钱。
早期为了抢用户做一个很便宜的套餐,用户越来越多以后发现成本扛不住,然后涨价,我完全能够理解。
甚至你直接告诉我:
“哥们,当初 49 块真的亏麻了,再这么卖公司要没了,下个月开始 99。”
我可能骂两句,该续还是续。
真正让人不舒服的是另外一种情况。
你买的时候看到的是 A。
用了一段时间变成 B。
后来又变成 C。
每一次单独拿出来好像都有理由,但用户经历几次以后就会开始犯嘀咕:
那我现在买的这个东西,到底算不算数?
比如“支持最新旗舰模型”。
普通用户看到这句话,很容易理解成:我订阅期间发布最新模型,我就能用。
产品团队可能理解成:会支持,但没说第一天支持。
这两个理解从文字上都能解释。
但产品信任很多时候就是死在这种地方。
因为用户不会天天研究你的 Terms。
他只记得当初为什么掏钱。
所以这次代码的事情,我才觉得有点熟悉
仔细想想,Coding Plan 老用户的争议和这次代码上传其实完全不是同一类事情。
一个是商业模式和权益。
一个是数据安全和隐私。
但它们最后碰到的却是同一个东西:
用户预期。
以前用户问:
“我当初花钱买的权益,以后还算不算?”
现在用户问:
“我把项目交给你的 IDE,你到底会拿我的代码干什么?”
这东西一次两次可能没什么。
次数多了以后,用户就会形成一个非常麻烦的习惯:
不再默认相信你。
以后你说:
“数据只在本地处理。”
用户第一反应可能变成:真的吗?
你说:
“这个套餐以后也能用最新模型。”
用户可能先去翻用户协议。
你说:
“代码不会留存。”
他可能先开 Charles、mitmproxy 或 Wireshark 看看你到底发了什么。
这才是最亏的。
因为一个开发工具一旦需要用户自己抓包才能放心使用,那体验其实已经输了。
AI Coding 以后权限只会越来越大
这也是这次事情让我比较警觉的地方。
我们以前用 IDE,IDE 就是 IDE。
写代码、编译、调试。
后来有了 Copilot,大家开始允许 AI 看当前文件。
再后来允许它看整个项目。
现在 Agent 已经可以自己开 Terminal、执行命令、装依赖、改几十个文件、访问浏览器、连 MCP、操作数据库。
再发展几年会变成什么样,其实挺容易想象。
你跟它说一句:
“帮我把这个需求做完。”
然后你去喝咖啡。
它自己看 Jira,自己拉代码,自己改数据库,自己跑测试,自己提 PR,甚至自己部署测试环境。
爽不爽?
当然爽。
但换一个角度看:
我们正在一点一点把自己电脑上最值钱的权限交给一个 Agent。
所以我现在反而觉得 AI Coding 下一阶段最重要的东西,可能不只是模型到底能不能多写几个百分点的 SWE-bench。
而是权限。
我特别希望以后这些 Coding Agent 能把权限做得像手机一样。
第一次读 Git History:
“ZCode 想访问 Git 历史记录,用于分析代码变更。”
允许 / 拒绝。
准备把代码发到云端:
“本次操作需要上传 327 个文件到云端模型。”
允许本次 / 始终允许 / 拒绝。
准备执行 Shell:
rm -rf xxx
“是否允许?”
甚至最好能有一个地方让我随时看到:
这个 Agent 刚才读了什么文件。
访问了什么域名。
发出去多少数据。
执行了哪些命令。
而不是给一个巨大的:
“我已阅读并同意《用户协议》和《隐私政策》。”
然后所有权限都打包送出去。
没人真的看那个东西。
开源当然是好事,但开源不是免死金牌
ZCode 这次选择开源,我觉得是一步好棋。
至少以后有人怀疑:
“你到底有没有上传?”
不用大家在那里猜。
看代码。
但是我也看到一种说法,大概意思是:
“都开源了,这下没什么好说的了吧?”
我觉得还是有。
开源解决的是可验证性。
它解决不了之前已经发生的事情,也不能自动解决产品设计上的问题。
更不能变成:
“代码就在 GitHub,你自己不会审吗?”
99% 的用户没有义务在安装一个软件之前先审一遍源码。
就像 Chrome 是开源项目衍生出来的,也不意味着普通用户应该自己检查浏览器每一次网络请求。
真正好的安全设计应该是:
即使用户完全不懂技术,他也不会莫名其妙把不想上传的东西传出去。
开源是在这个基础上再多加一层保险。
顺序不能反。
写到最后,我其实没有特别想骂 ZCode
这可能跟很多人的预期不一样。
如果只是想蹭这波流量,其实标题很好起:
《国产 Cursor 爆雷,偷偷上传你的全部代码》
再配几个“震惊”“细思极恐”。
流量估计比现在这个标题好得多。
但我觉得没什么意思。
ZCode 这次确实有应该被质疑的地方,特别是 Repo Wiki 初期默认开启,以及用户对仓库数据什么时候离开本地缺乏足够明确感知这件事。
但后续整改、第三方检查、删除相关云端数据、移除链路、最后选择开源,这些也都是事实。
该说的都说。
我真正觉得可惜的是另外一件事情。
智谱其实赶上了一个挺好的时间点。
国产模型现在 Coding 能力已经越来越能打,价格也确实卷得厉害。很多开发者愿意尝试国产 Coding Plan,本身就说明大家不是天然排斥国产工具。
大家甚至挺希望它能做好。
这种时候最值钱的其实不是那几个 Token。
而是早期这一批愿意把真实项目丢进去、愿意付钱、愿意帮你报 Bug 的用户。
V1、V2 的时候,因为套餐和权益变化,有人觉得自己被背刺。
这次 ZCode,又因为代码上传的问题,让一批开发者重新开始检查这个软件到底在自己电脑上干了什么。
每一件事单独拿出来,好像最后都能解释,也都有解决方案。
但信任这个东西很奇怪。
它不像 Bug。
Bug 修完就是修完了。
信任不是。
可能你连续十次什么都没做错,用户都不会特别记得。
但有一次他发现:
“等等,这件事怎么跟我之前理解的不一样?”
下一次,他就会多留一个心眼。
对于普通软件,这可能只是少几个用户。
但对于 AI Coding,我觉得这个问题以后会越来越重要。
因为我们交给它的东西实在太多了。
代码、Terminal、Git、数据库、浏览器、服务器……
以后甚至可能是整个开发环境。
所以相比一个 Agent 到底有多聪明,我现在越来越在意另一件事情:
我敢不敢把电脑交给它。
模型能力可以慢慢追。
Bug 可以一个版本一个版本修。
套餐也可以继续改。
但有一样东西最好别反复折腾。
用户对你的信任。
这东西真丢了,发个新版不一定能修回来。
评论