揭秘马斯克甩出王炸,X推荐算法开源,6小时斩获1.6k Star
昨天刷X的时候,突然发现xAI把整个For You推荐算法开源了。说实话,我当时就愣住了。
要知道,推荐算法这东西,对社交平台来说就是命根子。抖音的推荐算法、小红书的推荐逻辑,哪个不是藏着掖着当核心机密?结果马斯克直接把代码扔GitHub上,7000多个star,就这么大大方方让你看。
这背后到底藏着什么秘密?
一个让我震惊的发现
我花了整整几个晚上扒完这套代码,发现了一个颠覆认知的事实:X的推荐系统里,几乎没有人工规则。
什么意思?传统的推荐系统,工程师会设计几百上千条规则。比如用户点赞过科技类内容,就多推科技,或者转发率高的内容加权。这些都是人脑想出来的逻辑。
但X的算法完全不是这么玩的。

他们用的是Grok改造的Transformer模型。这个模型会自己观察你过去的所有互动记录,点赞了什么、回复了谁、在哪条推文上停留了多久,然后自己学会你喜欢什么。
没有一条人为设定的规则。
那些让我眼前一亮的技术细节
深入看代码的时候,我发现了几个特别巧妙的设计。
第一个是候选隔离机制。
这个设计解决了一个很多人没意识到的问题:如果你同时推荐100条内容,模型在给A内容打分的时候,会不会受到B内容的影响?
X的解决方案很聪明。他们让Transformer在处理的时候,每条候选内容只能看到你的历史行为,但看不到其他候选内容。就像100个学生各自独立答题,互不影响。
这样做的好处是什么?每条内容的分数是稳定的,可以缓存起来反复使用。如果内容之间能互相影响,那每次推荐的组合不同,分数就会变,系统就乱套了。
第二个是Thunder这个内存数据库。
你关注的人发的新推文,需要在几毫秒内出现在你的推荐里。如果每次都去查数据库,肯定来不及。

X直接把最近的推文全部加载到内存里。你关注的人一发推,系统就通过Kafka实时接收,存到Thunder里。查询的时候根本不走硬盘,全在内存里找,速度快到离谱。
这就是为什么你刷新feed,新内容总能立刻出现的原因。
第三个是多行为预测。
一般的推荐系统只预测一个指标,比如点击率。但X的模型会同时预测你对一条推文的15种可能行为:
点赞、回复、转发、引用、点击、看视频、展开图片、分享、停留时长......
甚至还包括负面行为:点不感兴趣、屏蔽作者、静音、举报。
每个行为都有一个权重。正面行为加分,负面行为扣分。最后把这15个概率乘以各自的权重,加起来就是这条推文的最终得分。
这个设计太精妙了。它不是简单地追求让你点击,它追求的是让你真正喜欢。
藏在代码里的价值观
看到这里,你可能会好奇:这套算法到底想推给你什么?
我注意到一个有意思的细节。在评分权重里,点赞和转发的权重是正的,这个好理解。但停留时长的权重也是正的。
什么意思?如果你在一条推文上停留了很久,即使没点赞,算法也会认为这内容对你有价值。
更关键的是,点不感兴趣屏蔽举报这些行为,权重是负的。如果模型预测你很可能会屏蔽某个作者,那这条推文的得分会大幅下降,根本不会推给你。
这说明什么?算法不是在追求让你上瘾,它在努力避免让你反感。

这跟抖音那种只要你不划走就一直推类似内容的逻辑完全不同。
两个让我意外的真相
深挖代码的过程中,我发现了两个打破我认知的事实。
第一,你的feed里,有一半内容来自你不关注的人。
X的推荐分两路:Thunder负责推你关注的人发的内容,Phoenix负责在全网范围内找你可能感兴趣的内容。这两路内容最后混在一起,统一打分排序。
所以你经常刷到一些你可能感兴趣的陌生账号,不是bug,是feature。算法故意这么设计的,目的是让你发现新的有价值的声音。
第二,算法会主动降低同一个作者的推荐频率。
代码里有个叫Author Diversity Scorer的模块,专门用来衰减重复作者的得分。
如果你特别喜欢某个大V,算法确实会多推ta的内容。但当ta的推文在你feed里占比太高时,后面的推文得分会被打折扣。
为什么要这么做?因为信息茧房真的存在。如果你的feed全是同一个人的观点,你的视野会越来越窄。
这个设计让我对X的团队有点刮目相看。他们确实在用技术手段对抗算法本身的缺陷。
那些被过滤掉的内容
看到这里,你可能会问:那些你永远刷不到的内容,都去哪了?
代码里有个很长的过滤器列表。在打分之前,系统会先过滤掉这些:
你自己发的推文(废话)、你屏蔽的人、你静音的关键词、超过7天的旧推文、你已经看过的内容、被举报太多次的推文、删除的内容、垃圾信息、暴力血腥......
这个过滤环节分两次。第一次在打分前,第二次在选出Top K之后。

第二次过滤很关键。因为有些违规内容刚发出来的时候系统还没识别出来,但在准备推送给你的那一刻,审核结果出来了,就会被拦下来。
这也是为什么有时候你刷到一半,突然有条推文消失了。不是你眼花,是它在最后一秒被过滤掉了。
一个让我陷入沉思的问题
看完整套代码,我脑子里一直盘旋着一个问题:马斯克为什么要开源这个?
社交平台的推荐算法,这可是最核心的商业机密。字节跳动的推荐算法值多少钱?恐怕没人说得清。
但马斯克就这么把它开放了。
我想了很久,可能有三个原因。
第一,技术自信。X用的是xAI自己的Grok模型,这个模型本身就是开源的。既然模型都开源了,基于它做的推荐系统再藏着也没意义。反正别人拿去也训练不出同样的效果,因为他们没有X这么多的用户行为数据。
第二,建立信任。这两年,所有社交平台的推荐算法都在被质疑。用户总觉得算法在操控我。X干脆把代码摊开,你自己看,我到底有没有暗箱操作。这招确实高明。
第三,吸引人才。这么复杂的工程开源出来,全世界的优秀工程师都能看到X团队的水平。想招人的时候,根本不用自己吹,代码就是最好的简历。
不管出于什么原因,这个举动确实够大胆。
普通人能从中学到什么
我知道很多人看到这里会说:这些技术细节跟我有什么关系?我又不是工程师。
但我觉得,理解这套算法的运作逻辑,对每个人都有价值。
首先,你会明白你的行为在训练算法。
你点的每个赞、看的每个视频、停留的每秒钟,都在告诉算法你喜欢什么。如果你总是点开那些标题党,算法就会给你推更多标题党。如果你经常举报垃圾信息,算法会学会离那些内容远一点。
你在塑造你自己的信息世界。
其次,你会理解为什么有时候刷不到想看的内容。
不是算法针对你,是过滤规则在起作用。可能那条推文太旧了,可能你之前静音了相关关键词,可能系统认为它可能让你反感。
了解这些,你就知道怎么调整自己的使用习惯,让算法更懂你。
最后,你会意识到算法不是万能的。
即使X用了最先进的Transformer模型,即使它能预测15种行为,它依然会出错。它不可能完美理解你的每一个需求。
所以主动去关注你感兴趣的账号,主动去搜索你想了解的话题,永远比被动地等算法推送要有效。
结尾的一点感慨
写完这篇文章的时候,已经是凌晨1点了。
我重新翻了一遍X算法的代码,突然有个感觉:这套系统最厉害的地方,不是技术有多先进,也不是模型有多复杂。
它厉害在,它尝试在让你多刷和给你真正想看的之间找平衡。
它会推你没关注的账号,避免你活在信息茧房里。它会衰减同一个作者的推送,逼你接触更多元的观点。它会惩罚那些让人反感的内容,即使那些内容点击率很高。
当然,它不是完美的。你还是会刷到垃圾信息,还是会遇到推荐不准的时候。
但至少,它在努力做一个不那么坏的算法。
这可能就是马斯克愿意把它开源的真正原因吧。他想告诉所有人:看,我们的算法就是这样工作的,没有阴谋,没有操控,就是在用数学和工程解决一个复杂的问题。
你信不信,是你的选择。但至少,你现在知道它是怎么运作的了。
#AI新知#从业十载,一路走来经历坎坷、不顺与阻碍。幸运的是,仍在行业之中。恰逢寒冬,希望能成为一名有温度的技术人,分享所见所闻,讲述职场故事。若这些点滴能如星火照亮你前行的路,便是我与你的难得缘分。
