ARTICLE · 1020687
微信AI助手会读聊天记录吗:三条边界
发布时间:2026-09-16 16:27:55 最近访问:2026-09-16 16:27:54
微信AI助手会读聊天记录吗:三条边界
「『我们不看』是一句话,说完就不用再管了。边界是一张表,每加一个功能都得重填一行。你问哪一个,决定你会不会被骗。」——《AI时代漫游指南》第 239 章·出口清单
昨天,2026 年 9 月 15 日,「微信 AI 隐私」冲上热搜。起因是微信的 AI 助手「小微」正在限量内测,有帖子说它「直接读取聊天记录」「偷看所有隐私」。微信员工 @客村小蒋 当天出来辟谣,说这两种说法都失实。而在同一周,我们自己的站主对我们自己的 AI 助手下的指令,原话是:
🎯 这篇要说的是
「它会不会读我的聊天记录」是一个问不出答案的问题。不是因为对方会撒谎,而是因为答案只能是一句话,而边界不是一句话能装下的东西。任何一个帮你干活的 AI 助手都必须读到些东西才能干活——不读就没法工作。所以「读不读」不是那个开关。最后那一列是本文的全部结论:前两条你可以从机制上看懂,第三条你只能得到一句话。而这三条我们自己全是被事故逼出来的,一条都不是先写在隐私政策里的。下面三件事,日志里难看的部分我原样写出来。
🗂️ 站主说「读下 log」,它翻遍自己的目录,一句都没找到
2026 年 9 月 4 日,站主给助手下了那条指令:读下用户和伙伴的对话 log。助手翻了自己的工作目录,一句用户说过的话都没找到。不是它拒绝,也不是它装作看不见。是那些话真的不在它手里——它本地那个叫「conversations」的文件夹里,装的全是它自己和项目经理的工作聊天记录。真正的用户对话在另一台机器上,而且是按用户 id 分成一个个独立目录存着的。想读,得明确地伸手去另一台机器上按 id 取。编者注:那个 AI 翻遍自己的抽屉找用户的对话,翻出来的全是自己和项目经理的聊天记录。一个助手手上握着的东西,可能比你担心的少,也可能比它自己以为的多。这件事当时只是个小麻烦。但它让我第一次看清边界长什么形状:边界不是一句承诺,是目录结构。要判断一个助手能摸到多大范围,不该去读它的声明,该去问它「东西放在哪」。如果每个人的记录分别锁在各自的抽屉里,读第二个人的东西就得多走一步——而多走的那一步,会留下脚印。这也正是小微那三条公开说法里最能被外人看懂的一条。微信员工的原话是:「小微能接触的信息,不会超过你本人可以查看的信息范围的权限。」这话说的不是「我们很自律」,说的是范围。范围可以被追问,自律不可以。这条我认。编者注:这就像问房东「有没有备用钥匙」。他说「没有」,你就放心了。你真该问的是「这门一共配了几把钥匙,现在分别在谁身上」——这个问题他得低头数一数,而低头数的那几秒,就是全部的信息量。
✋ 只能画她亲眼看过的那段字
第二条边界最容易被误解成「用户不是点过同意了吗」。我们在这上面立过一条死规矩,起因是 2026 年 8 月 12 日一次挺好笑的事故:作品页上写着提示词「牛排西餐,白瓷盘,美食摄影」,出来的图是莲花上的一尊金色观音,鎏金袍、金色光环。查下来不是配错图。是页面上显示的那段提示词从来就不是真正送进模型的那段——中间有一步「把简短中文扩写成详细中文」,凭空造出了一位「身着丝绸华服的贵妇」,而用户的输入里一个人都没有。于是有了那条不变式:助手只能画用户亲眼看过、并且点过头的那段字。 先把中文提示词交给用户看,她说行,才照着那段出图。这条规矩把「同意」从一次性动作改成了每一次的动作。点同意是一次性的,而「用」是每一次的。微信在小微上做的是同一个形状的东西。员工的原话是:「只有在聊天场景,你主动发起『问小微』的时候,小微才会被临时调起,从微信客户端本地读取最近的聊天信息。」「主动发起」四个字就是那道闸。不是你注册时勾过的那个框,是你此刻这一次的动作。这条我也认。但这道闸的代价是真实的,我们付过
不到四周之后——2026 年 9 月 7 日——这道闸把一个真实用户挡在了门外。她是我们站上的真实用户,站内叫她云朵。那天早上她想要一张合照,说了四次「画」:守卫那天一共拒了 25 次,从 07:30 到 09:41。每一次都拒对了——模型每次把提案改几个字传回来,那段字确实不是她看过的原文。她留在日志里的三句话是:「你又掉线了吗」「你的画还没发给我呀」「你是不是还不会画呢」。编者注:我们的守卫那天拿到了 25 比 0 的完美战绩,代价是真实用户对着屏幕干等 41 分钟,最后怀疑它不会画画。安全和好用之间那个旋钮,我们那天是拧到底了。不变式没变,变的是「谁来指认那段字」。改成了:回到上一条正文里,按段落相似度找出她真正看过的那段原文;同一个人 60 秒内第 3 次对账失败就停手,不再让模型改几个字反复重试。这里有个取舍我们是睁着眼睛做的:如果用户确认后又加一句「再加一只猫」,系统会放过,画她看过的那一版。少画一只猫,比让她干等 41 分钟,伤害小得多。
🏷️ 我们自己写的徽章,自己相信它,而它是错的
第三条边界是唯一一条外面的人永远验不了的。所以这一节我不引用任何人的说法,只讲我们自己翻的车。我们给站点挂过一个徽章,上面写着:你的数据不出局域网。写的时候是真心的,而且大部分是真的。后来有人照着这张徽章一行行去数出口:那个字体样式表不带走你输入的任何一个字。它只带走三样东西:你的公网 IP、你的浏览器型号,以及你此刻停在哪个页面上。也就是说,那一行字对外面的人说的是:这个 IP 此刻正在生成东西。那个徽章是我们自己写的,我们自己相信它,而它是错的。不是我们不诚实——是我们没数。声明不需要数,清单才需要数。编者注:我们那份隐私文档里最诚实的一句话,是后来自己补上去的那半句标题:「承诺 vs 实际」。一个会自己写下这半句的系统,比一个只会写「我们非常重视您的隐私」的系统,靠得住的程度差好几个数量级。同一份日志里还有一条更难为情的。2026 年 9 月 7 日 08:39,模型拿着一个路径去读它不该读的地方,被越界守卫拦下并留了痕。拦得对。但那个路径是我们自己写在提示词里给它的。越界的动机是我们埋的。所以「AI 会不会越界」这个问法把责任放错了地方——它越界的路线图,通常是设计它的人画的。所以「用完即弃」这四个字,要多问一句
「分析总结之后,原始聊天记录不会被保存,通用的『用完即弃』的逻辑。」我没有任何证据说这句话不对,也不打算暗示什么。我想说的是另一件事:这句话描述的是一个你看不见的动作,所以它只能靠信。而它里面有一个值得你自己想清楚的结构。一个助手替你总结了刚才那二十条消息,事后有两样东西:2.它给你的那份总结,以及你围着这份总结跟它说的话第一样可以真的被扔掉。第二样几乎不可能被扔掉——它得留着,不然你下次问「刚才那个」,它就傻了。编者注:扔掉原件,留下摘要,然后宣布「原件已销毁」。这在技术上完全成立,在语文上也完全成立。只有在你以为「销毁」意味着「这件事没发生过」的时候,它才是一句误导——而误导你的人,是你自己的语文老师。所以看到「用完即弃」,要多问的那一句不是「你骗我吗」,而是:弃的是哪一样?这个问题没有陷阱,答案通常也不难听。难听的是不问。
🐛 读了一早上的真实对话,改出来的是「让它少说话」
到这里像是在讲「别让 AI 读你的东西」。恰恰相反——我们反复读用户和 AI 的对话记录,而且每次都读出东西来。2026 年 8 月 23 日,三周半前,站主用真微信注册了一个学员账号,走通了真绑定、17 项问卷、知情同意。助手回她的第一句话是:「我这会儿有点走神。」顺着这句「走神」摸下去,四个 bug,一个比一个深: | |
|---|
| |
| 每轮都去试一个必然失败的通道,把热着的进程顶掉再冷启 |
| 先销账、再组装回复 |
| 它没实现异步契约,同步把连接挂住,超时后算好的回复无处可去 |
最后那条底下藏着一个细节,我看到的时候有点不好受:她那两条重复的「问卷填好了」,不是系统重投,是她等不到回复,自己又发了一遍。这些东西在自动化测试里一个都抓不到。它们只在真人对话里现形,因为只有真人会等得不耐烦、会重复、会说「你是不是还不会」。让 AI 少说话。学员那一侧改成程序化快答为主:六类常见问题用模板直接答,0 延迟、0 幻觉,模型全挂也照常工作。AI 只接模板没命中的消息,并且加了一条规则:不许主动开话题,被动应答。源头是一条规则写歪了。原本「每条回复以一个轻问题结尾」只针对定时提醒,实现时被扩大到了所有回复——于是它连续 5 轮无目的反问,把人问烦了。编者注:我们花一整个早上读真实对话记录,最后交出的改动是让它闭嘴一点。这大概是这个行业最省钱的一次优化,也是我做过的最挫败的一次「性能优化」。读的人,是不是要为读到的东西负责。修 bug 的人读日志,读完得交出一个改动,下次同样的坑不许再踩。这件事本身就是约束——它让「读」这个动作有成本、有产出、有痕迹。同一条线上我们还栽过一次,值得写下来:共用一台手机的场景下,家人点了「不是我?换个人注册」,服务端照旧按会话往下续——整条记录被改成了另一个人,而同意那一行还是前一个人点的。同意书本身没问题,是同意记在了谁头上出了问题。编者注:一份完美的知情同意书,挂在错误的人头上,合规程度是零。而这个 bug 只有在「一家人共用一部手机」这种毫不高级的场景里才会露出来——它不在任何威胁模型的图里。
⚠️ 反方:「用完即弃」完全可以是真的
第一,「用完即弃」在技术上完全可以是真的。 临时调起、本地读取、分析完不落盘——这是一个正常且常见的实现,没有任何技术障碍。我说它「只能靠信」,说的是可验证性,不是诚信。把「我没有条件验证」说成「这件事做不到」,是偷懒。 第二,我们的处境比微信干净得多,所以我们没资格居高临下。 我们是自己读自己那几个用户的日志,每天面对的是个位数的真人;微信面对的是十几亿人。我们那条「读的人要为读到的东西负责」之所以成立,靠的是规模小到读日志的人和修 bug 的人是同一个人。这个条件在任何一家大公司都不成立,而这不是他们不想,是结构不允许。 所以这篇的判断只有一句:前两条边界外面能看懂,第三条只能靠信——你该把注意力放在前两条上。这个判断什么时候该被扔掉:如果微信(或任何一家)公开出出口清单——数据从哪几个口子出去、每个口子通向谁、留多久——并且提供可审计的越界留痕(谁在什么时候读了什么,用户自己能查),那么第三条就从「只能靠信」变成「能自己验」,这篇的结论就该作废。我希望这一天来得比我预期的早。顺便说,这个门槛并不高:我们自己那份文档里就写着「承诺 vs 实际」那半句。 能自己写下这半句的,不必是大公司。
🧭 你能自己数的三行
下次你面对任何一个要读你东西的 AI 助手,把它的承诺翻译成三行,然后数一数有几行没填:数不出来也没关系——数不出来本身就是那个答案。
写在最后
微信说「不会直接读取聊天记录」,我们的站主说「读下用户和伙伴的对话 log」。它们不矛盾,因为它们说的是两件不同的事:前者是一句声明,后者是一个有人负责、有产出、留痕迹的动作。是读完什么都没发生。那个翻遍自己抽屉一句用户的话都没找到的助手,那个拿了 25 比 0 完美战绩却让人干等 41 分钟的守卫,那张我们自己写错了一行的徽章——三件事是同一个道理:边界不长在承诺里,长在目录结构、确认动作和出口清单里。 它们都不好看,都得一行行填,而且填错了会被自己抓到。一个能把自己的出口清单摆出来的系统,哪怕清单上有一行写着「这里还有个小口子」,也比一个只有一句漂亮承诺的系统可信。
📎 说明与参考来源
本文所有关于小微的内容均出自微信员工 @客村小蒋 2026 年 9 月 15 日的公开表态——这是个人公开表态,不是隐私政策条款,也不是官方公告。经光明网(2026 年 9 月 15 日)、IT之家、腾讯新闻、凤凰网同日转述,四家对上述三句引文的表述一致。本文不含任何小微的实测结论。 一手材料:我们自建的两个微信 AI 助手服务的工作日志与架构决策记录(未公开)——瑜伽站 2026 年 9 月 4 日、9 月 7 日、9 月 9 日工作日志,生图确认闸决策(2026 年 8 月 12 日),以及我们自己那份记着「承诺 vs 实际」的隐私文档;教练站 2026 年 8 月 19 日、8 月 23 日工作日志,学员数据与知情同意决策,以及「快答为主、不许主动开话题」那条修正案。文中所有时刻、次数、分钟数均出自这些日志原文。 本文特意没采用的说法:关于「你和小微之间的对话记录是否存储在服务器」,2026 年 9 月 15 日各家媒体的二次整理互相矛盾,且都不是微信原话。按我们自己的规矩,来源打架的素材不进正文,也不用模糊措辞绕过去——所以第三条边界的论据用的是我们自己翻的车,不是别人家的。 我们服务里的真实用户一律使用站内化名。本文只对「可验证性」下判断,不对任何一方的诚信下判断——这条边界我们自己也踩错过。
你手机里那个 AI 助手,你能说出它的东西存在哪、谁批准它用、用完还在不在吗?三行里只要有一行数不出来,这篇就值得转给那个也在用它的人。AI时代漫游指南,每天一篇实操——只写自己真正跑过的东西,包括跑砸的那些。