AIコーディングのトークンが3割減。新社会人エンジニアが知っておきたい検索手法「BM25」

AIコーディングのトークンが3割減。新社会人エンジニアが知っておきたい検索手法「BM25」

「AIにコードを調べさせたら、あっという間に利用枠を使い切ってしまった」。AIコーディングツールを使い始めた人が、まず驚くのがこの消費の速さではないでしょうか。

結論からいうと、BM25という昔からある検索手法をAIの手前に置くだけで、トークン消費が約3割減ったという検証結果が公開されました。しかも回答の品質は落ちていません。

この記事では、BM25とは何か、なぜトークンが減るのか、そして新社会人エンジニアがこの話から何を学べるのかを、順にかみ砕いて解説します。

目次

BM25とは?AIコーディングで再注目される検索手法の正体

BM25は、キーワードがどれだけ効いているかを点数にして、文書を関連度の順に並べ替える検索手法です。生成AIが登場するずっと前から使われてきた、いわば検索の定番です。

点数の付け方は、大きく2つの考え方でできています。ひとつは「その語が文書の中に何回出てくるか」、もうひとつは「その語が全体の中でどれだけ珍しいか」です。よく出てくる語ほど関連が強く、珍しい語ほど手がかりとして価値が高い、という発想になります。

身近なたとえで考えてみましょう。図書館で「BM25の実装」について調べたいとします。ベテランの司書さんなら、「実装」という言葉はどの本にもあるので軽く扱い、「BM25」という珍しい語を重く見て本を選んでくれるはずです。BM25がやっているのは、まさにこの重みづけの自動化です。

つまりBM25とは、ありふれた語に惑わされず、珍しい語を手がかりに当たりをつける仕組みだと考えると分かりやすいです。

BM25の前さばき:AIに渡す前に読む範囲を絞る
図: BM25の前さばき:AIに渡す前に読む範囲を絞る(筆者作成)

なぜBM25でAIコーディングのトークン消費が減るのか

トークンが減る理由は単純で、AIが手探りでファイルを読み歩く回数そのものを減らせるからです。

ふだんAIコーディングツールは、Grepやファイル名の検索を組み合わせて、あたりをつけながらコードを読んでいきます。このとき、外れだったファイルの中身もいったんは読み込まれます。そして読み込んだ文字はすべてトークンとして課金の対象になります。

ここでBM25をAIの前段に置くと、最初から関連度の高いコード断片が順位つきで手元に届きます。AIは探す手間を省いて、渡された候補を読むところから始められます。

初めて訪ねた家で本を探す場面を思い浮かべてください。部屋を一つずつ開けて回るのと、「二階の右の棚です」と最初に教えてもらうのとでは、かかる手間がまるで違います。BM25が担っているのは、この案内役の部分です。

要するに、AIの賢さを別のものに置き換えるのではなく、探す前の下ごしらえを任せているわけです。

BM25でトークンは実際どれだけ減ったのか、検証結果を見る

今回話題になった検証では、トークンの合計が29.2%削減されました。約3割という数字は、日々の開発コストとして無視できない大きさです。

検証は、7,536ファイル・68.8MBという実際のリポジトリを対象に行われました。質問は難易度を低・中・高に分けて各4問、合計12問です。通常の探索と、BM25で候補を絞ってから渡す探索を比べています。

結果は次のとおりでした。

  • トークン合計: 29.2%削減
  • 質問ごとの中央値: 28.5%削減
  • 難易度別(低/中/高): 39.8% / 31.9% / 28.5%削減
  • 実行時間: 34.2%短縮(参考値)

注目したいのは、難易度が低い質問ほど削減率が大きい点です。答えが一か所に書いてある質問ほど、AIの寄り道が無駄になりやすい、という自然な結果といえます。

この検証は株式会社ナレッジセンスのCTOである須藤英寿氏によるもので、2026年7月の論文「BM25 Wins at Scale」の主張を、実際のコードベースで確かめた形です。回答品質を保ったまま3割減という点が、多くの開発者の関心を集めました。

新社会人エンジニアがBM25の話から学べること

この話から持ち帰るべきなのは、BM25という手法名そのものより、その裏にある考え方です。

理由は、AIツールの流行は数か月で入れ替わる一方、こうした設計の勘所は長く使えるからです。実際、BM25は20年以上前から知られている手法で、それが最新のAI開発で効いています。

具体的には、次の3つを意識しておくと役立ちます。

  • 古典的なアルゴリズムはAI時代でも武器になる。検索や計算量の基礎は、学び直す価値がある
  • AIに全部を任せるより、渡す情報を絞るほうが速く安い。前処理の設計は人間の腕の見せどころ
  • 改善は数字で測る。「速くなった気がする」ではなく、トークン数や秒数で比べる習慣をつける

とくに3つ目は、日々の仕事にそのまま持ち込めます。今回の検証が説得力を持ったのも、29.2%という具体的な数字があったからです。

「AIに渡す前に絞る」は運用調査の基本と同じ:筆者の実践

BM25で前さばきをしてからAIに渡す——この発想は、筆者が障害調査で毎日やっていることと同じです。何万行のログをそのまま眺める人はいません。まずgrepで時間帯とエラー種別を絞り、あたりを付けてから読む。「全部見せれば賢い誰かが見つけてくれる」は、人間相手でもAI相手でも高くつくのです。

この記事の内容を日々の実務に落とすなら、筆者は次の形をお勧めします。

  • ログ調査: AIに丸ごと貼らず、まず時刻・キーワードで絞った抜粋を渡す。「このエラーの前後5分で関係しそうな行」を自分で選ぶ工程が、あなた自身の調査力も鍛える
  • コードの質問: 「リポジトリ全部」ではなく、関係するファイルと呼び出し元だけを渡す。渡す範囲を選べること自体が、構造を理解している証拠になる
  • コストは数字で見る: AIツールの利用量ページを月に1回見る癖をつける。トークンという単位に慣れると「なぜ減ったか・増えたか」を説明できるようになり、チームのコスト管理で頼られる

もうひとつ、筆者がこのニュースから受け取った教訓は「新しい問題に、古い枯れた技術が効くことがある」です。1990年代の手法が2026年のAIのコスト問題を3割改善する——流行だけ追う人は、この解にたどり着けません。基礎技術を学ぶ意味は、こういうところで効いてきます。

まとめ:BM25はAIコーディングの「前さばき」として効く

  • BM25は、語の出現頻度と珍しさから関連度を点数化する、古典的な検索手法です
  • AIの手前に置くと探し回る無駄が減り、検証ではトークンが29.2%削減されました
  • AIに丸投げせず、渡す情報を絞る設計が、コストと速度の両方を改善します

まずは自分が使っているAIツールが、1つの質問でどれくらいトークンを使っているか確かめてみてください。数字を知るところから、改善は始まります。

あわせて読みたい

AIに渡す情報をどう絞るかという観点では、以下の記事も参考になります。

参考リンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

インフラの運用・構築に10年以上携わり、AWS 認定8資格を持つ運営者です。いまは Claude Code などの AI ツールを日々の作業の自動化に使いながら、これから使う人のための教科書サイトを運営しています。

コメント

コメント一覧 (2件)

コメントする

目次