本文へ移動
X解体新書
第4章第二部7分

四十八時間の壁

For Youのスコア対象候補には48時間の上限がある。ただし、Xの全画面から消えるという話ではない。

この章で分かること

  • 48時間がどこに効いて、どこに効かないかを区別できる
  • フォロー中の投稿にも同じ期限があることが分かる
  • 投稿設計の時間軸を正しく考えられる

この資料でいちばん単純なルールです。ただ、前回の版で「例外はない」「すべての経路」と書いたのは言い過ぎでした。どこに効く壁なのかを、丁寧に見ていきます。

48時間
これを過ぎた投稿は、For Youのスコア対象候補から外れる

48時間が効いている場所

場所何が起きるか根拠
For Youのフィルタ48時間を超えた候補を落とすconfig.rs:39
Thunder既定の保持は172,800秒(48時間)args.rs:48-49
SimClusters候補の年齢上限の既定が48時間param.rs:734-739
Phoenix 再スコアの更新初回更新から48時間、投稿から49時間で打ち切りeventProcessing.strato:28-32

フォローしていても期限は同じ

フィルタの実装は、閲覧者の情報を参照していません。投稿IDから年齢を計算しているだけです。

duration_since_creation_opt(tweet_id)
    .map(|age| age <= self.max_age)
    .unwrap_or(false)
残す条件です。作成時刻が読めなかった場合も残りません。age_filter.rs:16-20

効いていない場所

ここが訂正の中心です。48時間はFor Youの候補パイプラインの話で、次のものには当てはまりません。

場所48時間との関係根拠
Followingタブの時系列同じ AgeFilter は登録されていませんreverse_chron_posts_pipeline.rs:155-177
For You内の Push to Homeリクエストで指定された投稿(push_to_home_post_id)を別枠で固定します。投稿の候補パイプラインとは別の取得元ですpush_to_home_source.rs:54-66
検索・プロフィール・投稿の直接表示このリポジトリのFor Youパイプラインの対象外ですREADME.md:460
動画の長期索引1fav_video の最大30日、evergreen_video の5年などの窓がありますmod.rs:170-185

「後から伸びる」をどう考えるか

以前の版では「後から伸びる経路は構造上ない」と書きました。正しくは、公開既定のFor Youのスコア対象候補に限れば、48時間を超えた投稿は新しく推薦されない、です。検索や引用先、誰かが貼ったリンク、Followingタブから読まれ続けることは、この話とは別に起こります。

For Youで広げたい投稿については、公開から48時間以内が勝負です。SimClustersの地図の半減期が8時間であることや、新人枠の投稿年齢の上限が2時間であることから、早い時間帯の反応が効きやすい場面もあります。

48時間以外の期間

対象期間備考
新人枠の投稿年齢2時間前回の24時間(一部実験群)から変更
人気投稿リストの対象24時間今回追加
Phoenix 再スコアの投稿年齢上限49時間1時間の余裕
Semantic IDの補充1時間投稿直後の取りこぼしを埋める窓
安全ラベルの有効期限7日〜30日ラベルごとに違います