mcpField
X
x-algo-engagement

x-algo-engagement

github.com/cloudai-x营销与增长13149 次安装40 周前更新
代码仓库

关于 x-algo-engagement

此技能介绍 X 推荐算法如何利用用户互动信号为帖子评分,面向分析算法行为或相关代码的读者。内容涵盖互动类型、Phoenix 模型的预测分数及其解释。

主要功能

  1. 01梳理正向与负向互动类型
  2. 02列出互动对应的协议名称
  3. 03说明 Phoenix 预测分数
  4. 04解释概率与排序权重
  5. 05介绍视频观看质量信号

适用场景

  1. 01查阅 X 算法采用的互动信号
  2. 02理解 Phoenix 分数的含义
  3. 03分析帖子排序中的负向信号

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cloudai-x/x-algo-skills --skill x-algo-engagement

安装后在 Claude Code 中输入/x-algo-engagement确认已加载。

详细介绍

X 算法参与度信号

X 推荐算法会追踪 18 种参与操作类型和 1 项连续指标。这些由 Phoenix ML 模型预测,并用于计算加权分数。

PhoenixScores 结构体

定义于 home-mixer/candidate_pipeline/candidate.rs:

pub struct PhoenixScores {
    // Positive engagement signals
    pub favorite_score: Option<f64>,
    pub reply_score: Option<f64>,
    pub retweet_score: Option<f64>,
    pub quote_score: Option<f64>,
    pub share_score: Option<f64>,
    pub share_via_dm_score: Option<f64>,
    pub share_via_copy_link_score: Option<f64>,
    pub follow_author_score: Option<f64>,

    // Engagement metrics
    pub photo_expand_score: Option<f64>,
    pub click_score: Option<f64>,
    pub profile_click_score: Option<f64>,
    pub vqv_score: Option<f64>,              // Video Quality View
    pub dwell_score: Option<f64>,
    pub quoted_click_score: Option<f64>,

    // Negative signals
    pub not_interested_score: Option<f64>,
    pub block_author_score: Option<f64>,
    pub mute_author_score: Option<f64>,
    pub report_score: Option<f64>,

    // Continuous actions
    pub dwell_time: Option<f64>,
}

按类别划分的操作类型

正向参与(价值较高)
操作Proto 名称描述
喜欢ServerTweetFav用户喜欢该帖子
回复ServerTweetReply用户回复该帖子
转发ServerTweetRetweet用户不添加评论而转发该帖子
引用ServerTweetQuote用户添加自己的评论后转发该帖子
关注作者ClientTweetFollowAuthor用户关注该帖子的作者
分享操作
操作Proto 名称描述
分享ClientTweetShare通用分享操作
通过私信分享ClientTweetClickSendViaDirectMessage用户通过私信分享
通过复制链接分享ClientTweetShareViaCopyLink用户复制链接以在外部分享
参与度指标
操作Proto 名称描述
展开照片ClientTweetPhotoExpand用户展开照片进行查看
点击ClientTweetClick用户点击该帖子
点击个人资料ClientTweetClickProfile用户点击作者的个人资料
VQVClientTweetVideoQualityView视频质量观看——用户观看视频达到有意义的时长
停留ClientTweetRecapDwelled用户在该帖子上停留(暂停)
点击引用帖ClientQuotedTweetClick用户点击被引用的帖子
负向信号
操作Proto 名称描述
不感兴趣ClientTweetNotInterestedIn用户将其标记为不感兴趣
屏蔽作者ClientTweetBlockAuthor用户屏蔽作者
隐藏作者ClientTweetMuteAuthor用户隐藏作者
举报ClientTweetReport用户举报该帖子
连续操作
操作Proto 名称描述
停留时长DwellTime连续值:用户查看帖子的秒数

分数的获取方式

PhoenixScorer(home-mixer/scorers/phoenix_scorer.rs)会调用 Phoenix 预测服务:

  1. 输入:用户历史记录 + 候选帖子
  2. 输出:每个候选帖子各操作类型的对数概率
  3. 转换:probability = exp(log_prob)
fn extract_phoenix_scores(&self, p: &ActionPredictions) -> PhoenixScores {
    PhoenixScores {
        favorite_score: p.get(ActionName::ServerTweetFav),
        reply_score: p.get(ActionName::ServerTweetReply),
        retweet_score: p.get(ActionName::ServerTweetRetweet),
        // ... maps each action to its probability
    }
}

信号解读

  • 分数表示概率(0.0 到 1.0):P(用户看到帖子后采取行动)
  • 分数越高 = 可能性越大:favorite_score 为 0.15 表示预测用户点赞的概率为 15%
  • 负向信号具有负权重:较高的 report_score 会降低整体排名
  • VQV 要求视频达到最短时长:仅适用于时长 > MIN_VIDEO_DURATION_MS 的视频

相关技能

  • /x-algo-scoring - 了解这些信号如何组合为加权分数
  • /x-algo-ml - 了解 Phoenix 模型如何预测这些概率

评论

支持 Markdown