1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

X で「おすすめ」に載るアルゴリズムをClaude Codeで解析してみた

Posted at

こんにちは、とまだです。

X(旧Twitter)で「おすすめ」に載る方法って、気になりませんか?

この度、GitHubで公開されているXのアルゴリズムのコードをClaude Codeで分析してみました。

もともとは自分用のメモとして調べただけだったんですが、あまりにも興味深い発見があったので、みなさんにも共有したいと思い、記事にしてみました。

正直、Claude Codeに丸投げして分析してもらった部分も多いので、雑な内容かもしれません。

でも、「フォロワー外にリーチするためのアルゴリズム」について、実際のコードから読み取れた事実は、きっと多くの方の役に立つはずです。

またメインはもちろんXの話でもあるんですが Claude Code などを使うと「こういうこともできる」と知ってもらいたいと思っています。

忙しい人のために要約

  • フォロワー外からの反応が全体の**90%**の重みを持つ
  • リツイートより「クリック」の方が重要視される
  • 投稿後5分以内のエンゲージメントが鍵
  • 1日30ツイート以上はペナルティ対象
  • ハッシュタグは2個までが適切
  • 専門分野を3つに絞ると効果的
  • 朝7-9時、昼12-13時、夜19-22時がゴールデンタイム

そもそもなぜアルゴリズムを調べようと思ったか

Xのアルゴリズム自体は2023年に公開されていました。

ただ、最近イーロン・マスクがこのアルゴリズムについてツイートをしたため、Xの中で注目を集めています。

そこで改めて、最近Xをよく使うようになった私も、アルゴリズムについて深く読み解いてみたいなと思いました。

このリポジトリ、数万行のScalaやPythonコードで構成されていて、正直人力で読むのは無理です。

そこでClaude Codeの出番です。

「このコードから、おすすめに載るための重要な要素を抽出して」とお願いしてみました。

すると、自分の思い込みが完全に間違っていたことがわかったんです。

今回はそんな内容を記事にしています。

なお、もし誤りがあれば、コメントでご指摘いただけると助かります。

重要なのは「フォロワー数はほとんど関係ない」

最も驚いたのがこれです。

Claude Codeが抽出してくれたコードの一部を見てみましょう。

# Heavy Rankerの実際の設定値
Task(name="oonc", score_weight=0.9)        # Out-of-Network: 90%
Task(name="engagement", score_weight=0.1)   # Engagement: 10%

これ、何を意味しているかというと、最終的なランキングを決定する「Heavy Ranker」というAIモデルで、フォロワー外(Out-of-Network)からの反応が90%の重みを持っているということなんです。

つまり、フォロワーが100人でも10万人でも、この比率は変わらない。

フォロワー内の反応なんて、たった10%しか考慮されていないんですよ。

エンゲージメントの重要度が予想と真逆だった

さらに興味深かったのが、各エンゲージメントの重要度です。

# エンゲージメントのINDEX値(小さいほど重要)
INDEX_BY_LABEL = {
    "is_clicked": 1,           # クリック(最重要)
    "is_favorited": 2,          # いいね
    "is_profile_clicked": 5,    # プロフィールクリック
    "is_replied": 6,            # リプライ
    "is_retweeted": 7,          # リツイート
    "is_video_playback_50": 8,  # 動画50%視聴
}

拡散されるリツイートが一番重要なのかなと思ってたんですが、優先度は低めです。

でも実際は、詳細を見るクリックが最も重要視されているんです。

これ、考えてみれば理にかなっていますよね。

リツイートは反射的にできるけど、クリックして詳細を見るということは、本当に興味を持ってもらえたということ。

Xは「本当に価値のあるコンテンツ」を見極めようとしているんだなと感じました。

知らないとペナルティを受ける落とし穴

Claude Codeにさらに深掘りしてもらうと、いくつかの「やってはいけないこと」も見つかりました。

1日30ツイート以上は逆効果

// Author Diversityフィルター
val thresholdToAvoidExpansion: Int = 30  // 同一著者の上限

同じユーザーから30ツイート以上は表示されないようフィルタリングされます。

つまり、たくさん投稿すればいいってものじゃない。

むしろ30を超えると、フォロワーのタイムラインからも消される可能性があるんですね。

ハッシュタグの使いすぎもNG

多くの人が「ハッシュタグをたくさん付ければ見つけてもらえる」と思っているかもしれません。

でも、実際のコードを見ると、3個以上のハッシュタグはスパム判定のリスクがあることがわかりました。

1-2個に絞って、本当に関連性の高いものだけを使うのがベストです。

あなたは145,000個のクラスターのどこかに分類されている

これも面白い発見でした。

// SimClustersの設定
val SIMCLUSTER_MODEL_VERSION = "20M_145K_dec11"
// 2000万ユーザーを145,000のクラスターに分類

Xは、ユーザーを145,000のトピッククラスターに分類しているんです。

つまり、あなたの投稿パターンから「この人はWeb開発クラスター」「この人は料理クラスター」みたいに判定されているということ。

だから、いろんなジャンルの投稿をバラバラにするより、専門分野を3つくらいに絞った方が、関連性の高いユーザーに届きやすくなるんです。

私の場合だと、推測ですがこんなところでしょうか。

  • AI活用(50%)
  • Web開発(30%)
  • 個人開発(20%)

結果的にこんな感じで、関連性のある分野で一貫性を持たせています。

投稿後5分が勝負という残酷な真実

# Earlybird (検索システム) のリアルタイム性
# 投稿後数分以内のエンゲージメント率が
# "velocity"(速度)シグナルとして重み付けされる

投稿直後の反応速度が、その後の拡散を大きく左右します。

これ、けっこう残酷ですよね。

深夜に素晴らしい内容を投稿しても、誰も見ていなければ埋もれてしまう。

だから、フォロワーがアクティブな時間帯を狙うことが重要なんです。

分析した結果、日本では以下の時間帯が狙い目のようです。

  • 朝7-9時(通勤時間)
  • 昼12-13時(昼休み)
  • 夜19-22時(帰宅後)

ちなみに、日本の朝7時はアメリカの夕方なので、両方の地域でバズる可能性もあります。
(もちろん内容次第ですが)

フォロワー外にリーチするための具体的な工夫

ここまでの分析を踏まえて、実際にどう投稿すればいいか。

まず大切なのは、フォロワー外の人でも理解できる内容にすることです。

たとえば、こんな投稿はどうでしょうか。

今日も個人開発を続けてますが、まだ進捗は微妙です。

これ、フォロワーなら文脈がわかるかもしれませんが、フォロワー外の人には何の話かさっぱりです。

代わりにこんな感じはどうでしょう。

個人開発のWebアプリ、3ヶ月かけてようやくリリース!

使った技術:
・Next.js
・Supabase
・Tailwind CSS

一番苦労したのはSEO対策でした。

これなら、初めて見た人でも「あ、Web開発の話か」とわかりますよね。

よくある勘違いと真実

私もそうでしたが、多くの人が勘違いしていることがあります。

「フォロワーを増やせば自動的にバズる」

これは間違いです。フォロワー外の反応が9割を占めるので、フォロワー数よりもコンテンツの質が重要。

「とにかくたくさん投稿すればいい」

1日30ツイート以上はペナルティ対象。量より質です。

「ハッシュタグをたくさん付ければ見つけてもらえる」

むしろ逆効果。関連性の高いものを1-2個に絞りましょう。

「バズるには運が必要」

確かに運の要素もありますが、アルゴリズムを理解して戦略的に投稿すれば、確率は大幅に上げられます。

Claude Codeのおかげで見えてきたこと

今回、Claude Codeを使ってアルゴリズムを分析してみて、本当に多くの発見がありました。

正直、数万行のコードを人力で読むなんて無理でしたから、AIの力を借りることで初めて可能になった分析です。

Claude Codeには以下のような指示を出しただけです。

このリポジトリが公開しているアルゴリズムについて、詳細を分析してください。
そして、Claude Codeを運用している人のために役立つ情報を根拠付きで出力してください。

こんな感じで、膨大なコードから重要な部分だけを効率的に抽出してもらいました。

もしみなさんも興味があれば、ぜひ自分でも分析してみてください。

私が見落としている重要な要素があるかもしれません。

まとめ

Xで「おすすめ」に載るために本当に重要なのは、フォロワー数じゃありませんでした。

大切なのは以下の点です。

  • フォロワー外にも価値を提供する投稿
  • クリックしたくなる構造
  • 投稿後5分の初速
  • 専門分野での一貫性
  • 適切な投稿頻度とタイミング

これらを意識すれば、フォロワーが少なくても十分にリーチを広げることができます。

もちろん、これは私がClaude Codeと一緒に分析した結果なので、完璧ではないかもしれません。

でも、実際に試してみて効果を実感しているので、きっとみなさんの役にも立つはずです。

今回の分析が、少しでもみなさんのX運用の参考になれば嬉しいです。

また、X(Twitter)でも、個人開発やAI活用の情報を発信しています。

ちょっと宣伝:AI駆動開発のUdemy講座

今回のようなClaude Codeを使った開発について、より詳しく学びたい方向けにUdemy講座も作っています。

ありがたいことにベストセラーをいただいており、多くの方に受講いただいています。

当サイト限定クーポンはこちら

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?