我们发完贴最直观的都会数你的 like 和 repost。
其实算法并没有在计算这个维度,它在悄悄数另外三个动作。
xAI 前几天把 For You feed 的算法开源到了 GitHub(xai-org/x-algorithm),16.5k star,Rust 加 Python。我把代码和文档翻了一遍,得出一个反直觉的结论:新算法跟以前那版 Twitter 老算法基本是两个东西——老的那版是手工特征堆出来的流水线,新的这版是「一个 Grok transformer 吃掉所有排序逻辑」。
它砍掉了几乎所有 hand-engineered features 和启发式规则。模型自己学,人不再插手。
这件事的实际影响还挺大的。

算法到底变了什么

新架构就四个核心组件:
Thunder 是个内存级的「关注流」存储,负责把你关注的人发的帖子亚毫秒级捞出来。
Phoenix 是真正的大脑。它干两件事:第一,用一个双塔模型(user tower × candidate tower)在全网找你可能感兴趣但还没关注的帖子;第二,用一个 Grok transformer 给所有候选打分。
注意这句话,xAI 在 README 里写得明明白白:
"We have eliminated every single hand-engineered feature and most heuristics from the system."
翻译过来就是:老算法里你能针对的「硬规则」——带链接降权、媒体加权、相似度阈值、各种平衡因子——基本都没了
模型只看一件事:你的内容,能不能让「和这个读者 engagement 模式相似的人」产生 15 种行为里的某一种。

阅读量和关注是两件事

很多人发帖的目标很模糊,既想要曝光又想涨粉,结果两头都没做好。
算法里这其实是两个独立的信号:
  • 想要阅读量(曝光) → 优化 dwell, click, photo_expand, video_view → 让人停下来看完
  • 想要涨粉(关注) → 优化 profile_click, follow_author → 让人想了解你是谁
这两件事的触发逻辑完全不一样。但大多数人盯着 like 数据看——其实 like 在算法里只是 15 个 action 之一,而且是成本最低、信息量最少的那一个。

Phoenix 在数哪 15 个动作

代码里写得很清楚,模型预测这些 action 的概率:
最终分 = Σ(weight × P(action))。
虽然具体权重数字没公开,但从设计逻辑可以反推一个分层。
最高权重那一档:dwell、follow_author、profile_click、reply、share
为什么是这五个?因为它们最难造假、最反映真实价值。dwell 是停留时长,你只要刷过去没看,这个值就是 0。follow_author 是终极转化,看完直接点关注。share 是私下转发——比公开 repost 还稀缺,意味着读者觉得「这东西值得我专门发给某个人」。
中等权重:repost、quote、favorite(like)、click、video_view、photo_expand。
负权重:任何一个 not_interested / block / mute / report 都是直接扣分的。
这里有个最反直觉的细节:负信号是不对称的。一次 block 抵掉的可能是几十次 like。
这就解释了为什么有些钓鱼号短期数据爆好,过几天就被限流——他们触发的 not_interested 比例超过了某个临界点,加权和直接被拉到负数。

决定阅读量的三个机制

召回:陌生人怎么刷到你

Phoenix 用的是双塔模型,user tower 和 candidate tower 算点积相似度
读这一句要慢慢咀嚼一下——它意味着,陌生人能不能刷到你,根本不取决于你有多少粉丝,只取决于你内容的 embedding 和那个用户 engagement 历史的 embedding 有多近
这件事的实际含义:
第一,新号也能爆。我看过太多 100 粉的账号一条推 10 万阅读,以前总觉得是玄学,现在解释通了——他撞上了对的 embedding 簇。算法不看你的资历,它只看这条内容属于哪个语义空间。
第二,垂直度比广度更重要。你的内容越聚焦,candidate embedding 越「锐利」,越容易精准匹配到对的人。乱发反而把你的向量稀释了,谁都不像,谁都召不到。
第三,想被某个圈子刷到,就用那个圈子的高频表达。不是堆关键词那种 SEO 思维,是让模型学到「这条内容属于那个簇」。加密圈高互动的话题、措辞、引用对象,你都要在内容里有迹可循。

排序:Candidate Isolation 改变了规则

代码里有个关键设计叫 Candidate Isolation:
"candidates cannot attend to each other—only to the user context"
人话:模型在给你的推文打分的时候,你不和其他候选竞争。你的分数纯粹是「你这条内容 × 这个读者」的匹配度。
这事的反直觉之处:
老的「发帖时机玄学」基本失效了。以前大家说要避开高峰期免得被淹没——在新算法里,你这条的分数不受同期其他帖子的分数影响。
真正决定排名的是你这条推文最容易让读者做哪个动作。所以要逆向思考:这条文案,设计来钓 dwell 的?钓 reply 的?还是钓 profile_click 的?
钓不同动作的内容,写法完全不同。下面讲。

衰减:同一作者会被打折

代码里还有个 Author Diversity Scorer——同一作者反复出现在同一读者 feed 里,后面那几条会被显式衰减。
实际操作含义就一句话:一天发一条精品,远好过一天发五条中等
第二条之后,衰减就开始。如果五条都是同质内容,后面三条基本是白发,还会拉低你的整体作者质量评分(模型学到「这人发的东西用户互动率低」)。
我自己的发推节奏调整就是这个原因——一条出来后给它几小时单独消化,再发下一条。

怎么写才能让人停下来

dwell 是最难钓的动作,也是回报最高的。绝大多数推文的 dwell 是几秒,因为读者根本没看完。

第一行必须在 0.5 秒内拦住人

读者在 feed 里滑动,第一眼只看到前一两行。这一两行如果没让他停,后面写得再好也是浪费。
会被划走的开头:
  • 「今天来聊聊...」
  • 「分享一个观点...」
  • 「最近发现一件有趣的事...」
这些不是不能用,而是没有信息。它们只是预告「我下面要说话了」,可读者凭什么等你?
会让人停的开头:
  • 数据反差:「比特币减半后矿工收入降了 50%,但算力涨了 30%。」
  • 常识颠覆:「你以为新算法在数 like。其实它在悄悄数另外三个动作。」
  • 悬念:「这条推为什么会出现在你眼前,原因不是你想的那样。」
共同点:第一行就携带信息或冲突,不浪费读者哪怕半秒钟。

长度要撑得起 dwell,但不能注水

我观察下来,中文长推的甜区是 280-500 字
太短:看完只要 2 秒,dwell 必然低。
太长又凑字:中途划走,dwell 反而比短推还差。
关键不是字数,是信息密度均匀——不能前半段干货后半段废话。读者只要感觉「开始水了」,立刻就走。

配图配视频的隐藏权重

photo_expandvideo_view 都是独立的正信号,但触发条件不一样。
photo_expand 要读者主动点开放大。所以图要「有放大看的价值」——信息图、对比图、带文字标注的截图。一张通用情绪配图,放大概率接近 0。
video_view 要前 3 秒钩住人。中文长视频如果前 3 秒在自我介绍,基本就 GG 了。
特别提一句:AI 生成的装饰性图正在变成负信号。读者识别度越来越高,看到就触发 not_interested 的比例在上升。配图宁缺毋滥。

怎么写才能让人想关注

profile_click 和 follow_author 触发的是完全不同的心理。

profile_click 的触发心理:「这人还写过啥」

读者点你头像的瞬间,他在想什么?
不是「这条写得好」,而是「这人是谁,他还有什么其他观点」。
要触发这个动作,内容必须有「署名感」——也就是说,这条内容带着你这个人的痕迹,不是任何账号发都一样。
具体怎么做:
第一,判断框架,不是结论
讲真,这就是为什么「卖判断框架不卖结论」在算法层面成立——一个结论谁都能说,一个独特的分析框架触发的 profile_click 概率高得多。读者会想「他这个角度怎么想到的,还有什么类似框架」。
第二,暗示持续追踪
对比一下:
  • ❌ 「BTC 今天涨了 5%。」
  • ✅ 「BTC 今天涨 5%。我跟踪 AHR999 三个月,这是第二次出现 X 形态,上次的结局是...」
后者立刻让人想知道你过去两个月都说了啥。
第三,反直觉的具体动作
「我做了 X 实验/复盘/对比」——读者会想「这人还做过什么类似的奇怪实验」。具体的、可验证的动作,比空泛的观点触发 profile_click 强十倍。

follow_author 的触发心理:「以后还想看到」

这是更高的门槛。读者要相信三件事:
第一,你会持续输出类似质量的内容。
这意味着你的账号要有可预期的供给。垂直号比综合号好关注——因为读者能预期「我关注他就是为了看 X」。混发加密 + 美食 + 鸡汤的账号,谁都不会关注,因为读者不知道关注后能得到什么。
第二,你的视角在别处看不到。
如果你只是搬运信息,读者直接关注新闻源就好。你要有自己的判断、自己的失效条件、自己的取舍。
第三,身份认同。
「我是关注比特币基础设施的人 → 这个人也是 → 我们是同类」。关注是一种身份声明,读者关注你,某种程度上也在告诉自己他是什么人。
bio 和置顶推文在这里的作用被严重低估。读者点进主页后,3 秒内决定关不关注——bio 必须清晰说明你是谁、写什么、多久更新;置顶要是你最有代表性的判断框架,不是最新的。

三个最容易踩的坑

坑一:追 like 不追 dwell

发金句体、鸡汤体最容易拿 like,因为成本低。但这种内容读者 1 秒就消化完了,dwell 极低。
算法的加权和里,高 like × 低 dwell 的组合可能还不如 中 like × 高 dwell。前者数据好看但模型不认,后者数据没那么炸但能让你持续被推。
很多账号「数据好但涨不动」,问题大概率在这。

坑二:钓鱼蹭热点

短期数据漂亮——爆款热点 + 标题党 + 强情绪,容易冲爆款。
但只要 not_interested、mute、block 的比例上升到一定阈值,负权重会把整体分压死。一次 block 抵掉几十次 like,这种不对称的负反馈,很多人没意识到。
更严重的是,模型会学到「这人发的内容容易触发用户反感」,长期账号权重会被永久拉低。爆几次,后面发什么都不再推。

坑三:Author Diversity 不留间隔

一天连发 5 条,后面三条直接被衰减。
如果非要多发,主题和形式必须有差异——一条观点推、一条数据图、一条转发评论、一条互动问题。让模型识别为「不同类型的内容」,而不是「同一个作者的同质刷屏」。
理想节奏:一天 1-2 条,间隔至少几小时。

发帖前可以过一遍的清单

每次写完别急着发,过这 7 条:
  1. 第一行能不能在 0.5 秒内让人停下?
  1. 有没有一个独特判断或反直觉信息?
  1. 有没有失效条件或具体证据,让人想 reply?
  1. 长度撑得起 280-500 字的 dwell 吗?有没有水?
  1. 今天已经发过同主题的了吗?(避免 Author Diversity 衰减)
  1. 配图是不是有「放大看」的价值?(没有就别配)
  1. 我的 bio 和置顶能接住 profile_click 进来的读者吗?
最后一条是大多数人完全忽略的——你辛辛苦苦让人 profile_click 进了主页,结果主页一片混乱、bio 写得像简历、置顶还是三个月前的随口吐槽。前面的功夫全白费。

新算法总结

新算法本质上奖励「能让陌生人停下来读完、读完想知道你是谁、知道你是谁之后想持续看你」的创作者。
这不是技巧问题,是定位问题。
如果你的内容没有独立判断、没有持续输出方向、没有可识别的风格,再多发推技巧也只能薅短期流量。算法变得更「看人」,而不是更「看帖」。
技巧型选手的时代结束了。下一波红利属于定位清晰的创作者。