入选理由用本人号、养熟小号、全新零历史号搜同一用户名做对照,三者结果不同即判断搜索压制按搜索者信任画像触发,并指出登出或本号自查会得到假阴性。
我觉得我找到了 Twitter/X 限流(shadowban)在底层实际是怎么运作的,而且跟大多数人描述的不一样
I think I found how Twitter/X shadowbans actually work under the hood and it's not what most people describe
这篇帖子我用 AI 润色过,所以它不是什么 AI 生成的垃圾内容。别还没读完就下结论。
大多数关于影子封禁的说法都讲,平台会把你的内容对别人藏起来,但你自己还看得见。这个说法是错的,至少不完整。以下是我实际发现的情况。
测试
我用三种账号类型分别搜索了自己的用户名,检查我的推文是否会出现在搜索结果里:
- 我自己的账号:推文完全消失了
- 养过的备用账号(有账号年龄、活跃、有历史记录):推文完全消失了
- 全新账号(刚创建,零历史记录):推文正常显示
同样的目标。同样的搜索查询。三种不同的结果。
这排除了哪些可能
通常的解释是,Twitter/X 会特意让你的内容对你本人保持可见,好让你察觉不到自己已被封禁。这个测试推翻了那套说法。我自己的账号搜出来的结果,和那个养熟的备用号一样,都是死的。平台并不会为被封禁的用户单独开一个例外。
实际发生的情况
这个筛选机制不看被封的是哪个账号,看的是谁在搜。
全新账号没有任何行为历史——没有关注、没有点赞、没有互动轨迹、也没有内容图谱。算法没有可用来给它打分的依据,所以默认把一切都不过滤地展示出来。
一个养熟的老号,不管是那个被封的用户本人,还是另外养起来的小号,都有足够的信号让限流系统启动。算法看到的是一个真实、有画像的用户,于是会把整套过滤机制全都套上去。
规律似乎是:如果观众已经有信任画像,就压制被封禁的内容;如果观众还没有画像,就什么都展示出来。
为什么要这样搭建
从工程角度看,这套架构是合理的。压制逻辑依据的是浏览者的信任分,而不是一份写死的名单、去判断谁是不是目标账号。这样维护起来更简单,在数十亿次搜索的规模下也更容易扩展。
副作用是,被封禁的用户没法再通过自己的账号去核实自己的搜索可见性——而这对平台来说其实是有利的。除非你专门知道要用一个全新账号去测,否则你根本确认不了自己是不是被封了。
真正的对照条件
大多数人测试限流(shadowban)的办法是退出登录,或者找朋友帮忙看。退出登录后,你大概就处在一个和新账号差不多的状态——没有会话、没有个人资料、看到的是未经过滤的视图。而一个活跃账号的朋友,看到的则是被压制后的视图。
如果你退出登录后还能看到自己的推文,你多半会得出自己没被封的结论。但这个结论是错的。全新账号和退出登录状态之所以都能绕过过滤,原因是一样的:没有信任档案,就不会触发压制。
唯一能看出真实用户看到什么的方法,是用一个有使用记录、带真实历史的老账号去测。那才是真正有参考价值的视角。
如何真正判断自己是否被搜索屏蔽
- 新建一个全新账号,再搜索你的用户名——这样看到的就是未经筛选的基准结果。
- 用一个有真实使用记录的老账号,搜索同样的内容——这样看到的就是老用户实际看到的结果。
- 如果两边结果不一样,说明你的账号被加了信任门槛限制。
退出登录,或者用自己的账号去查,都会得到假阴性结果。
注意事项
这是从可观察到的行为反推出来的。Twitter/X 并不公开它的过滤逻辑。还有几种其他解释:
- 新账号可能会被分流到一条独立的冷启动内容通道,这条通道完全跳过过滤,与信任评分无关
- IP 或设备指纹信任度可能与账号年龄一样,是影响因素之一
- 结果可能因地区而异,也可能随着其机器学习模型重新训练而发生变化
话虽如此,这一规律在多次测试中都稳定复现。如果其他人能复现,或者看到了不一样的结果,欢迎交流。