X Growth Playbook · ミライマ公式
Xアルゴリズムから 逆算する運用
オープンソース化された X の For You アルゴリズムを実コードまで読み、「ミライマ公式アカウントが何をどう投稿すれば伸びるか」だけに翻訳した実戦プレイブック。精神論ゼロ・全項目にコード根拠つき。
📅 2026-05-16 作成
🔬 出典 github.com/xai-org/x-algorithm (全216ファイル精読)
🎯 最適化対象 ミライマ公式
The Core
アルゴの本質:このアルゴには「裏ワザ」が存在しない
「特定ワードを入れる」「投稿時間を狙う」「ハッシュタグを盛る」── そういうルールベースの攻略は設計レベルで全廃 された。手作りの特徴量・ヒューリスティックを一切持たないと明言されている。残ったのはただ一つの問い:
この投稿をこの人に見せたら、その人は いいね/返信/RT/引用/DM共有/最後まで読む/フォローする か? ── を Grok系AIが確率予測し、その合計が高い順に並べるだけ。
スコア = Σ ( 各アクションの重み × そのアクションが起きる予測確率 )。重みの実数値は非公開だが、どのアクションが効くかとその構造は全部コードに書いてある。
だから運用の問いは「アルゴをどう騙すか」ではなく、「実際に反応される投稿をどう設計するか」 に一本化される。以下はその設計図。
※ 各項目の「なぜ」は実コード(home-mixer/scorers/ranking_scorer.rs 等)に基づく確定情報。打ち手部分はそこからの実戦的翻訳。
The 15+ Levers
「いいね」だけ見てたら負け ── AIが別々に予測している15個以上のレバー
最大の盲点はここ。モデルは単一の「人気度」ではなく、15種類以上のアクションを“それぞれ独立に”確率予測 し、それぞれ専用の重みをかけて足す。つまり「いいねは少ないがDM共有されまくる投稿」「RTは無いがプロフ遷移→フォローを生む投稿」も別ルートで加点される(=独立した重みスロットが実在。確定) 。ただし“どれだけ強いか”の倍率は非公開(後述)。引けるレバーはこれだけある:
favorite / いいね
最も基本。ただしこれ単体狙いは弱い
reply / 返信
独立軸で高評価。会話を生む投稿の核
retweet / RT
拡散。フォロー外突破のトリガー
quote / 引用
「自分の意見つきで広めたい」を別途加点
share_via_dm / DMで送る
★隠れ最強。友達に個別に送りたくなる情報
share_via_copy_link
外部(LINE等)に持ち出す価値
profile_click / プロフ遷移
「この人何者?」と思わせると加点
follow_author / フォロー
その投稿がフォローを生むか自体を評価
dwell + 滞在時間(連続)
★止めて読ませる。長く読むほど線形加点
vqv / 動画品質視聴
一定尺以上の動画のみ。短尺は加点ゼロ
click / quoted_click
展開・リンククリック
not_dwelled / スルー
★見られて止まらない=マイナス(無風ではない)
not_interested / 興味なし
明示拒否。強い負
mute / block author
アカ単位で全体を沈める致命傷
重みづけの真実(かなり重要・正確版): 採点式は
点 = Σ(wᵢ × P(アクションᵢ))。
ranking_scorer.rs に
各アクション専用の重みスロットが個別に実在 (FavoriteWeight / ReplyWeight / ShareViaDmWeight / QuoteWeight / ProfileClickWeight / FollowAuthorWeight … 負:MuteAuthorWeight / ReportWeight 他)=
DM共有・引用・プロフ→フォローが“独立レバー”なのは確定 。
ただし重みの実数値は外部 feature switch 注入でリポジトリに非公開 =「いいねの何倍効くか」はコードからは読めない。
アクション OSSデモの重み 本番の重み
いいね 1.0 非公開
返信 0.5 非公開
RT 0.3 非公開
滞在(dwell) 0.2 非公開
DM共有・引用・プロフ→フォロー他 デモ式に無し(=0) 専用スロット有・値は非公開
※デモ(run_pipeline.py)は4個しか使わない簡略版。本番で他が使われていない意味ではない。唯一読める具体数字がこの4つだけ。
だから何(構造上の確定事実): 点は複数の独立ルートの足し算 なので、いいね一点突破は構造的に不利=多ルート同時が強い。DM共有・引用・プロフ遷移→フォロー が“別ルートで加点される”ことは確定(専用重みスロット実在)。ただし“どれだけ強いか”の倍率は非公開 なので「強く」とは断言しない。ミライマなら「友達にDMで送って一緒に予想したくなる市場」が share_via_dm スロットを直接突く。
Do — 効く順
やるべきこと(レバーの強さ順)
01 最強
返信が湧く構造を投稿に埋め込む
投稿の主役を「市場リンク」から「あなたへの問い」に変える。リンクは脇役で添えるだけ。
✗ 悪い(URL直貼り)
「レイカーズ vs セルティックス、予想は👇 miraima.jp/market/xxxx」
→ やる事が「踏む / スルー」の二択。投稿自体に返信動機ゼロ=reply_scoreが動かない
✓ 良い(返信を依頼)
「今のセルティックスは止められない気がしてる。
あなたはどっち? L or C で、理由も書いて 」(市場リンクは最後に添える)
→「考えを書いて」と頼む=返信が湧く
「返信を依頼する」=二択を投稿文で問う/賛否が割れるお題を選ぶ/理由を要求する、の3パターン。ミライマは予想がアプリ内で完結する分、放置するとXに会話が残らない。意図的にX上で議論させ、その熱でアプリへ送る。
なぜ: reply_score が favorite とは別の独立ヘッド。返信は予測確率が上がると合計を強く押し上げ、返信が来ると会話が伸びて再配信ループに入り、反応した人の興味ベクトルも書き換わる(複利)。※引用とは別物:返信=あなたの投稿のエンゲージを濃くする“主軸”/引用=フォロー外へ拡散する“補助”。混同しない。
02
冒頭1行でスクロールを止め、長く読ませる
1行目で結論/緊張/数字。スレッドや「続きは↓」で滞在を伸ばす。「【速報】〇〇が△△、市場が動いた」→ 詳細→ 市場リンク、の順。 動画は十分な尺を確保 (短すぎる動画は動画視聴の加点が一切入らない=コードに最低尺の閾値あり。ギリ秒数は損)。
なぜ: dwell に加え「滞在時間(連続値)」が線形加点。さらに not_dwelled(止まらず流された)は負のヘッド =薄い投稿はインプレが出ても沈む。VQVは video_duration_ms > 閾値 が条件。
03
テーマを一貫させる(スポーツ予測で濃く)
アカウントの投稿を「スポーツ×予測」から散らさない。無関係なバズ便乗・雑談で薄めるほど配信先が定まらず弱る。 濃さ=配信精度。
なぜ: retrieval は Two-Tower。「過去にこの種の投稿に反応した人=似た履歴の人」を埋め込み類似で探して配る。テーマがブレると投稿の埋め込みが特定クラスタに刺さらず、誰に配ればいいか曖昧になる。
04
最初の数十分でフォロワーを強く反応させる
出した直後にコアファン(含む川上さんシード)が即反応する設計。投稿予告・「今から重要な市場立てます」で着火役を準備。 初速が弱い投稿はフォロー外に出ない。
なぜ: フォロー外(out-of-network)配信は常に係数で減点 (OonWeightFactor)。in-network で強い予測エンゲージが出て初めて外に出る価値が生まれる。なおAgeFilterで古い投稿は For You の候補から外れる(カットオフ秒数は非公開)が、「後から伸びる」は実際に起きる ──ただし元ツイートが独りでに伸びるのでなく、誰かの引用/RT・検索・topic面で“再注入”される から。初速は「一発勝負だから」ではなくその再注入の引き金 として効く。
Don't — 損害の大きい順
やってはいけないこと
致命 01
“通報・ミュートされる前に”もう沈んでいる
安い煽り・釣り・誤情報・過度な射幸性表現。一時的にインプレが出てもアカウント単位で全体スコアが沈む 。しかも実際に通報される必要すらない。
なぜ(最重要洞察): モデルは「この人がこの投稿を mute / block / report / not_interested する確率」を予測して先回りで減点 する。つまり“通報されそうな見た目”の投稿は、誰も通報する前から予測値で抑制 される。負の合計が正を上回ると offset_score で全体が強く下方リスケールされ埋もれる。ミライマは射幸性ワードが mute 連想されやすい=特に危険。
損 02
短時間の連投(自分で自分を潰す)
1時間に何発も投下しない。市場が複数立つ日は「まとめ1投稿+個別は時間分散」。 間隔を空けた方が総リーチは大きい。
なぜ: 1回のフィード生成内で同じ著者の2投稿目・3投稿目は指数関数的に減点 (multiplier = (1-floor)·decay^position + floor)。さらに in-network ストア(Thunder)は著者あたり保持上限 があり、連投すると自分の過去の良い投稿が押し出される。二重で損。
損 03
情報密度ゼロの“置きにいく”投稿
「おはようございます」的な中身ゼロ投稿は無風ではなくマイナス 。出すなら必ずフック/数字/問いを1つ入れる。
なぜ: not_dwelled が負のヘッド。インプレis出るが誰も止まらない=負シグナルが予測され、アカウント全体の印象も下げる。「投稿しないこと」より悪い投稿が存在する。
損 04
同一内容のセルフRT/同じ会話の枝を量産
伸ばしたい投稿を自分でRTし直して二度撒きしない。同じスレッドを枝分かれで何本も立てない。
なぜ: RepostDeduplicationFilter と DedupConversationFilter で重複・会話の複数枝は配信前に間引かれる。一度見たユーザーには PreviouslySeenPostsFilter で同じ投稿は再表示されない (おすすめ面の話。検索/引用/RT経由は別管轄)。だから自分で二度撒きしても同じ人には効かない=伸ばすなら他人に引用/RTさせる のが正攻法。
Hidden Goldmine
コードから発見:新規Xユーザーは“フォロー外配信の減点が緩い”
通常ユーザーのフィードではフォロー外投稿は常に係数で減点される。だが ranking_scorer.rs に明確な分岐がある:
新規ユーザー(アカウント年齢が閾値未満 かつ フォロー数が一定以上)には、別の・より緩い out-of-network 係数 NEW_USER_OON_WEIGHT_FACTOR が適用される。 さらに topic 経由の面でも別係数(TopicOonWeightFactor)。
So What(ミライマ獲得への直結): X を始めたばかりの人ほど「フォロー外の良コンテンツ」が届きやすい。ミライマのターゲット(スポーツ好き×まだミライマ未認知)に最も低コストで届くのは“新規X層 × スポーツ topic 面” 。だから:
投稿が Grox に明確に「Sports」と分類される 濃さ= topic 面に乗りやすい(曖昧投稿は topic 判定されず面に出ない)
大型イベント(W杯 6/13 )= 新規X流入が増える瞬間=OON減点が緩い層が一斉に増える=構造的に最大の突破窓
「ミライマとは何か」を1投稿で説明しきる完結型を、この窓に集中投下
Mechanics
知らないと損する3つの内部メカニクス
1. 初回エンゲージは“複利”で効く(retrievalの書き換え)
モデルはユーザーの直近の行動履歴の埋め込み で「次に何を配るか」を決める。同梱デモでも「NFL/NBA/NHLにいいね+滞在した履歴」→スポーツ投稿を retrieval、という挙動。So What: ターゲットが一度でも ミライマのスポーツ予測投稿に反応すると、その人の埋め込みが書き換わり以後ミライマ系が配られやすくなる 。初回接触の1反応が後の配信を雪だるま式に増やす=「最初の1いいね」を取りにいく価値が異常に高い。
2. in-network は“保持窓と上限”の世界(Thunder)
フォロワーへの即時配信は Thunder というインメモリ+保持期間+著者あたり上限 の貯蔵庫から出る。保持期間を過ぎた投稿は in-network からも消える。連投すると上限で自分の良投稿が押し出される。So What: 「1日1〜数発を間隔を空けて、各発を強く」。量より初速と密度。
3. ステータス(フォロワー数・認証)は直接のブースト係数ではない
手作り特徴量ゼロ設計=フォロワー数や認証バッジが順位を直接掛け算で持ち上げる仕組みは無い(subscription はペイウォール判定フィルタであってブーストではない)。So What: ミライマ公式が大型アカでなくても、予測エンゲージが高い投稿は大型アカの凡投稿を普通に抜ける 。勝負は「投稿の設計」で決まる。希望のある設計。
ミライマ Application
ミライマ公式の具体プレイ(レバー → 施策)
狙うレバー ミライマ公式の具体施策
reply 市場URL直貼り禁止。「これ荒れてる。あなたは YES / NO?理由つきで」と返信を依頼。賛否が割れる市場を選んで出す
share_via_dm 「友達と予想割れたら面白いやつ」。"これ友達に送って勝負して" を文中に。DM共有は隠れ最強ヘッド
quote(補助) 返信が主軸・引用は“フォロー外へ橋を架ける”補助 。返信導線を作った上で「強い予想は引用で晒して」と添える。引用は引用者の新規投稿として一からパイプラインを通り、その人のネットワークへ拡散+元投稿に quoted_click が戻る。返信の代わりにはならない
dwell 試合前スレッド:①論点 ②データ ③市場の現在オッズ ④締め。読ませて市場へ落とす
profile→follow 1投稿に「次の試合の市場もここで」= 継続理由を毎回置きフォロー動機を作る
topic=Sports 固有名詞・チーム名・競技を必ず明記しGroxにSports判定させる。曖昧な比喩投稿はtopic面に出ない
回避:mute連想 射幸性ワード(当てる/賭ける/一攫千金)はミュート連想で先回り抑制。"予想/読み"で言い換え(既存のPushコピー鉄則と同一原則)
回避:連投 市場乱立日も公式は時間分散。一気投下は自分で自分を潰す
最大の突破窓:W杯 6/13。 新規X流入↑=OON減点が緩い層が一斉増。この期間に「reply装置型の市場投稿」+「ミライマ完結説明1枚」を、テーマを散らさず時間分散で集中。初回エンゲージの複利が最大効率で回る唯一の窓。
Cheat Sheet
投稿前に見る1画面
①
返信を“依頼”したか? 「リンク踏んで」でなく「あなたの考えを書いて」。二択/賛否/理由要求。URLは脇役(→ 詳細はDo①の悪い例/良い例)
②
1行目で止まるか? 結論/数字/緊張。薄い投稿は無風でなくマイナス
③
DM/引用したくなるか? 友達に送って勝負したくなる要素があるか
④
Sportsと判定される濃さか? チーム名・競技・固有名詞が明記されているか
⑤
ミュート連想ワード無いか? 当てる/賭ける→予想/読み に言い換え
⑥
直近に連投してないか? 前の投稿から間隔。初速着火役は準備したか
「アルゴを騙す」から「反応される設計」へ。チェック7つ全部Yesで投稿。
出典・根拠 全項目は github.com/xai-org/x-algorithm の実コード精読に基づく(~/Documents/x-algorithm-repo/)。実装詳細は同フォルダ KNOWLEDGE.md。重みの実数値は非公開(feature switch注入)のため、レバーの“向き・構造”は確定情報、打ち手は実戦翻訳。透明性の線引き: 公開は「アーキ全コード+学習済み“小型”凍結モデル」まで。本番の大型モデル・配点・学習データは非公開で、ニューラル故に「なぜ高評価か」を条文で読める形ではない(コード公開≠説明可能)。
主要参照:home-mixer/scorers/ranking_scorer.rs(重み合成・著者多様性・OON・新規ユーザー分岐), home-mixer/filters/*(鮮度・重複・ミュート), phoenix/recsys_model.py(多アクション予測・Candidate Isolation), phoenix/recsys_retrieval_model.py(Two-Tower配信先マッチング), thunder/posts/post_store.rs(保持窓・著者上限)。観測日 2026-05-16。