1. 项目概述:一个基于真实X算法的推文优化技能

如果你和我一样,经常需要为项目、产品或者个人品牌在X(原Twitter)上发声,那你肯定也经历过那种挫败感:精心构思了一条推文,感觉内容、配图都挺到位,但发出去后却像石沉大海,互动寥寥。我们通常会去搜索“如何写出高互动推文”,得到的答案往往是“多用表情符号”、“在黄金时段发布”这类泛泛而谈的“增长黑客”技巧。但这些建议真的有效吗?它们背后的依据是什么?很多时候,我们只是在凭感觉做事。

今天要聊的这个项目—— tweet-composer-skill ,彻底改变了这个局面。它不是一个基于猜测或营销经验的工具,而是一个直接“翻译”了X平台官方开源推荐算法规则的智能技能。开发者 @minilozio 做了一件非常硬核的事:他通读了X在2026年2月开源的全部约21,000行推荐算法代码(包括Rust和Python/JAX部分),从中提炼出了真实的排名规则、信号权重和过滤机制,并将其封装成了一个可供AI智能体(Agent)使用的技能。简单来说,它让你的AI助手拥有了一个“X算法透视镜”,在发布前就能预测推文的潜在表现,并给出基于算法逻辑的、可执行的优化建议。

这个技能主要面向两类人:一是内容创作者、社交媒体运营者或独立开发者,他们需要高效地产出高质量推文;二是AI智能体(如OpenClaw)的开发者和使用者,他们希望为自己的智能体赋予专业的社交媒体内容评估与优化能力。无论你是手动发推,还是通过AI助手批量管理,这个工具都能帮你从“凭感觉创作”升级到“按算法规则创作”,让你的每一次发声都更有机会被目标受众看到。

2. 核心原理拆解:X推荐算法是如何给推文打分的?

要理解这个技能的价值,我们必须先弄明白X的“For You”信息流到底是怎么工作的。根据开源代码,其核心是一个代号为“Phoenix”的、基于Grok的Transformer模型。这个模型并不只是简单地预测一条推文“会不会火”,而是为每一条候选推文同时预测 19种不同的用户互动行为 的概率。

2.1 19种互动行为:算法的“语言”

这19种行为是算法理解用户喜好的基本单元,分为正向和负向两大类:

  • 15种正向行为 :这是平台希望促成的互动。包括我们熟悉的点赞( favorite )、回复( reply )、转推( repost )、引用( quote ),也包括一些更深层的互动,如点击链接( click )、点击个人资料( profile_click )、展开图片( photo_expand )、观看高质量视频( video_quality_view ),甚至包括“停留阅读时间”( dwell , dwell_time )和通过私信分享( share_via_dm )等。
  • 4种负向行为 :这是平台极力避免的用户反馈。包括“不感兴趣”( not_interested )、屏蔽作者( block_author )、静音作者( mute_author )和举报( report )。

注意 :算法对行为的编码是“有符号”的。这意味着模型不仅能学习到用户“做了”某个动作(编码为+1),也能学习到用户“没做”但有机会做的动作(编码为-1)。这种设计让模型对用户潜在意图的理解更为细腻。

2.2 最终得分计算:权重之和

一条推文在“For You”信息流中的最终排名得分,并非一个神秘的黑箱分数,而是一个可计算的加权和:

最终得分 = Σ(每种行为的权重 × 该行为发生的预测概率)

tweet-composer-skill 的核心工作,就是根据开源代码,还原出这19种行为的相对权重关系(虽然精确的权重系数是商业机密未开源,但通过代码结构可以推断出大致的优先级和影响因子),并结合一系列结构规则,构建一个近似的评分引擎。

2.3 关键算法规则与洞察

阅读源码后,项目总结出了一些颠覆常识或极具价值的规则,这些规则直接影响了技能的设计:

  1. 作者多样性惩罚 :为了防止单个作者刷屏,算法中有一个“作者多样性评分器”。简单来说,如果同一个作者的连续多条推文都进入了候选池,那么第二条推文的得分会被乘以一个衰减系数(约0.55),第三条会衰减得更厉害(约0.33)。这意味着,疯狂刷推反而会降低单条推文的曝光效率。
  2. 候选推文相互独立 :在模型打分时,每条推文是独立评分的,模型注意力机制中,候选推文之间是相互“看不见”的。这保证了打分是基于内容本身,而非与其他推文的即时对比。
  3. 视频时长门槛 :并不是所有视频都能获得 video_quality_view 这个高权重信号的加分。视频必须超过一个最小时长阈值(具体时长未公开,但确实存在),短于这个时长的视频无法触发此信号。
  4. 深层回复链被过滤 :信息流中的“回复”通常只展示第一层。算法中的 DedupConversationFilter 等过滤器会丢弃“回复的回复的回复”这类深层嵌套内容,以保持信息流的清爽。
  5. 停留时间是连续变量 dwell_time (停留时间)不是简单的“是/否”布尔值,而是以秒为单位的连续值。这意味着,让用户阅读更长时间(比如10秒 vs 2秒)会带来成比例的更高得分。
  6. 内容混合策略 :虽然算法本身没有硬性规定,但通过对高互动账号的实证分析,项目建议了一个相对健康的内容混合比例:40%娱乐性、30%教育性、20%启发性、10%推广性。这有助于维持账号的长期健康度,避免因内容单一而被算法判定为“枯燥”。

3. 技能安装与集成指南

tweet-composer-skill 主要设计为集成到 OpenClaw 这类AI智能体框架中使用,当然也可以手动调用其规则引擎。

3.1 通过 ClawHub 安装(推荐)

对于 OpenClaw 用户,这是最快捷的方式。ClawHub 可以理解为智能体技能的“应用商店”。

# 在您的 OpenClaw 项目目录下,执行安装命令
clawhub install tweet-composer

安装完成后,技能相关的指令和功能会自动集成到你的智能体中。你可以在与智能体对话时,直接使用诸如“评分这条推文:...”这样的指令。

3.2 手动安装与集成

如果你使用的不是OpenClaw,或者希望深入定制,可以手动克隆仓库。

# 克隆技能仓库到本地
git clone https://github.com/minilozio/tweet-composer-skill.git

# 接下来,你需要将技能的核心逻辑集成到你的系统中。
# 核心文件是 `references/algorithm-rules.md`,它包含了完整的规则引擎。
# 你可以将其中的规则翻译成你所用编程语言(如Python)的评分函数。

手动集成要点

  1. 解析规则文件 algorithm-rules.md 文件是核心,它用结构化的方式描述了19种行为的触发条件、影响因素和近似权重。你需要仔细阅读并将其转化为条件判断逻辑。
  2. 构建评分管道 :实现一个评分函数,输入为推文文本、发布时间、是否含媒体等信息,输出为一个0-100的综合得分以及详细的分项报告。
  3. 注意时区处理 :算法对发布时间敏感,务必在评分时将时间统一转换为目标受众的主要时区进行计算。

3.3 技能结构解析

了解项目结构有助于你进行二次开发或故障排查。

tweet-composer-skill/
├── SKILL.md              # 核心技能指令文件。定义了智能体如何理解和使用这个技能,包括可用的命令模板和输出格式。
├── references/
│   └── algorithm-rules.md # **最重要的文件**。完整的算法规则引擎,以Markdown表格和列表形式详细列出了19种行为的评分细则、过滤规则和策略建议。
├── assets/
│   └── banner.svg        # 项目展示用的横幅图片。
├── LICENSE               # MIT 许可证文件。
└── README.md             # 你现在正在阅读的项目总览文件。

实操心得 :如果你是开发者,想将其集成到自己的非OpenClaw系统中,重点研究 references/algorithm-rules.md SKILL.md 即可。 SKILL.md 展示了技能期望的输入输出格式,而 algorithm-rules.md 提供了全部的业务逻辑。

4. 推文评分与优化实操详解

现在,我们来看看如何实际使用这个技能。假设我们有一个集成了此技能的AI助手。

4.1 单条推文评分实战

我们给AI助手发送指令:“评分这条推文:刚刚发布了我们项目的新版本v2.0!新增了多项功能,性能提升巨大。快来试试吧!#开源 #更新”

AI助手调用 tweet-composer-skill 后,可能会返回如下结构的分析报告(以下为模拟输出):

🐦 Tweet Composer — 综合评分: 62/100

✅ 长度: 58字符 (优秀,低于100字符的推文更易于快速阅读)
⚠️ 正文含链接: 无直接链接,但“快来试试”暗示需要外部跳转,未提供明确入口,损失了 `click` 信号。
❌ 媒体内容: 未附加图片或视频。缺失 `photo_expand` 或 `video_quality_view` 的高权重信号。
✅ 话题标签: 使用了 #开源 #更新,相关性高,有助于分类和发现。
❌ 发布时间: [假设当前为当地时间凌晨3点] 处于绝对低谷期,预估曝光基数极低。
❌ 结尾号召: 以“快来试试吧!”结尾,属于弱号召,驱动 `reply`(回复)或 `quote`(引用)的潜力较低。

📊 预测互动行为分析:
├─ P(回复): LOW — 陈述句,未提出明确问题或争议点。
├─ P(点赞): MEDIUM — 版本更新对核心用户有价值,但表达平淡。
├─ P(转推): LOW — 缺乏令人兴奋的亮点或易于传播的“金句”。
├─ P(点击): VERY LOW — 未提供可直接点击的链接。
├─ P(图片展开): N/A — 无图片。
└─ P(不感兴趣): MEDIUM — 对于非项目用户,这像是一条普通的公告,可能被划过。

💡 优化建议:
1.  **添加视觉元素**:附上一张v2.0新功能的特性概览图或一张性能对比图表。图片能大幅提升 `dwell`(停留)和 `photo_expand` 信号。
2.  **强化结尾**:将结尾改为一个具体问题。例如:“你们最期待v2.0里的哪个新功能?” 或 “在升级过程中遇到的最大挑战是什么?” 这能直接刺激 `reply`。
3.  **明确行动号召**:提供明确的链接,如项目主页、更新日志或演示视频链接。将“快来试试”改为“查看完整更新日志:[链接]”。
4.  **调整发布时间**:规划在目标用户活跃时段发布(如工作日10-12点或19-21点)。

✏️ 优化版本示例:
“v2.0 来了!性能提升高达200%,并新增了实时协作功能。一张图看懂所有更新 👇
[附上信息图]
最让你惊喜的是性能飞跃,还是新加的协作模块?在评论区聊聊。
#开源 #ReleaseDay

🔗 详细更新日志:[链接]”
→ 预估评分可提升至 85+。

评分过程解析 : 技能内部会遍历19种行为预测模型。例如:

  • 计算 P(reply) :检查推文是否以问号结尾、是否包含“为什么”、“如何”、“你认为”等短语、是否设置了投票。我们的原推文是感叹句,此项得分低。
  • 计算 P(photo_expand) :检查是否附带了图片,以及图片的宽高比是否适合在信息流中显示(倾向于4:3或16:9)。原推文无图,此项为0。
  • 计算时间衰减权重 :根据发布时间与目标受众活跃高峰的时间差,应用一个衰减因子。凌晨3点发布,衰减因子可能接近0.3。

4.2 推文串(Thread)优化策略

推文串的优化逻辑与单条不同,核心在于 首条推文的钩子效应 避免作者多样性惩罚

规则应用 :由于 DedupConversationFilter 等机制,一个对话串在信息流中通常只有第一条(或最优质的一条)有较高曝光机会。因此,技能会重点优化推文串的第一条,确保其评分最高。

优化步骤

  1. 输入整个推文串草稿
  2. 技能独立评分每一条
  3. 识别出评分最高的一条 ,建议将其调整至串首。
  4. 检查串内推文的相关性 ,确保话题集中,避免因话题跳跃导致后续推文被判定为低质量。
  5. 建议添加明确的串内导航 ,如“(1/5)”,并在首条提示总条数,这能提升 dwell_time (用户知道需要花费多少时间阅读)。

注意事项 :不要为了凑数而写长串。算法对过长的串(如超过10条)的后续部分会施加更强的衰减。理想情况下,一个推文串应围绕一个核心观点,在3-5条内讲清楚。

4.3 19种行为分析的深度利用

高级用户可以利用详细的19种行为预测,进行更精细的内容策略调整。例如:

  • 如果你的目标是涨粉 :应重点关注能提升 profile_click (个人资料点击)和 follow_author (关注作者)信号的内容。这通常意味着你的推文需要展现专业见解、独特人格魅力或持续提供高价值信息,引导用户“想了解更多”。
  • 如果你的目标是驱动网站流量 :那么 click (链接点击)就是核心指标。技能会建议你使用更吸引人的链接卡片(平台会自动生成)、在推文正文中明确提示链接内容的价值(如“内含独家数据”),并将链接放在显眼位置。
  • 如果你想提升品牌好感度 :则需要最大化正向互动(点赞、转推),并严格最小化负向信号( not_interested , mute_author )。这意味着内容要更有趣、更有用,避免硬广和引起不适的言论。

5. 常见问题、排查技巧与避坑指南

在实际使用或集成 tweet-composer-skill 的过程中,你可能会遇到一些疑问或问题。以下是我根据经验总结的常见问题与解决方案。

5.1 评分不准或与预期不符

问题 :技能给出的评分或优化建议,与我实际发推后得到的数据反馈相差较大。

排查思路

  1. 检查输入信息完整性 :你是否提供了所有必要的上下文?技能评分严重依赖于:
    • 发布时间 :是否转换为正确的目标受众时区?
    • 媒体类型 :是图片、GIF还是视频?视频时长是否明确?(视频时长影响 video_quality_view 信号)
    • 受众背景 :你的账号定位是什么?科技、娱乐、还是生活?技能内置的内容混合策略是通用建议,对于垂直领域可能需要微调。
  2. 理解评分的相对性 :85分不代表一定能成为爆款,只代表这条推文在 算法规则下 的“健康度”和“潜力”优于60分的推文。平台实际的流量还受实时热点、用户关系网络、服务器负载等众多因素影响。
  3. 算法迭代 :X的算法在不断更新。开源代码是2026年2月的快照。虽然核心的19种行为预测框架相对稳定,但具体权重和过滤规则可能已微调。技能规则是强大的基线,但并非永恒不变的真理。

避坑技巧 :将技能作为 “A/B测试的前置工具” 。不要只发一条评分最高的推文。可以针对同一主题,用技能生成2-3个不同角度(如提问式、陈述式、悬念式)的高分版本,在实际发布时进行小范围A/B测试,积累属于你自己账号的“数据感觉”。

5.2 集成到自定义系统时的挑战

问题 :手动将 algorithm-rules.md 的规则翻译成代码时,感觉规则描述不够量化。

解决方案

  1. 从定性到定量 :规则文件中很多描述是“提升”、“降低”、“高权重”。你需要为其定义阈值。例如,“推文长度在100-200字符为甜点区”,你可以设计一个函数,长度在100-200时得满分,低于50或超过280则线性扣分。
  2. 建立权重体系 :19种行为的权重是核心机密。你可以通过逆向工程来近似:收集一批你自己账号的历史推文数据(互动数据),用规则计算初始分,然后使用线性回归等简单模型,拟合初始分与实际互动量(如曝光、互动率)的关系,反推出各行为的近似权重系数。这是一个持续调优的过程。
  3. 处理模糊规则 :像“内容要有价值”这类规则,可以通过检测是否包含数据(数字)、步骤(“第一、第二”)、教程类关键词(“教程”、“指南”)来实现。

5.3 关于内容策略的误解

问题 :是否必须严格遵守40/30/20/10的内容混合比例?

解答 不必教条化 。这个比例是一个基于大量成功账号分析的 经验性指导方针 ,而非算法强制要求。它的核心思想是 “内容多样性”

  • 如果你是一个纯技术教程账号 ,你的“教育性”内容可能天然占到70%以上。这没问题,但你可以尝试在教程中增加一些“娱乐性”(比如用幽默的比喻解释概念)或“启发性”(分享学习该技术的心路历程)。
  • 关键在于避免单一 :如果你的账号连续10条都是硬广(促销内容),算法很可能会因为内容重复度高而降低其分发权重。技能的建议是提醒你注意内容库的平衡。

5.4 技能使用的伦理边界

问题 :使用这种工具算不算“操纵算法”或“作弊”?

我的观点 :这更像是“理解并尊重平台的游戏规则”。就像搜索引擎优化(SEO)早期,人们通过堆砌关键词作弊,后来搜索引擎更新算法打击这种行为,而正规的SEO转为创作高质量、对用户真正有用的内容,并遵循搜索引擎的指南以便更好地被收录。

tweet-composer-skill 同理。它鼓励你:

  • 创作更具互动性(提问)的内容。
  • 在合适的时间发布。
  • 使用图片/视频提升体验。
  • 避免垃圾信息和令人反感的内容(以降低负向信号)。

所有这些,最终导向的是 提升内容质量和使用者体验 。它帮助你避免因不了解规则而导致的“好内容被埋没”,而不是教你去钻空子、发垃圾信息。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐