「AIにコードを調べさせたら、あっという間に利用枠を使い切ってしまった」。AIコーディングツールを使い始めた人が、まず驚くのがこの消費の速さではないでしょうか。
結論からいうと、BM25という昔からある検索手法をAIの手前に置くだけで、トークン消費が約3割減ったという検証結果が公開されました。しかも回答の品質は落ちていません。
この記事では、BM25とは何か、なぜトークンが減るのか、そして新社会人エンジニアがこの話から何を学べるのかを、順にかみ砕いて解説します。
BM25とは?AIコーディングで再注目される検索手法の正体
BM25は、キーワードがどれだけ効いているかを点数にして、文書を関連度の順に並べ替える検索手法です。生成AIが登場するずっと前から使われてきた、いわば検索の定番です。
点数の付け方は、大きく2つの考え方でできています。ひとつは「その語が文書の中に何回出てくるか」、もうひとつは「その語が全体の中でどれだけ珍しいか」です。よく出てくる語ほど関連が強く、珍しい語ほど手がかりとして価値が高い、という発想になります。
身近なたとえで考えてみましょう。図書館で「BM25の実装」について調べたいとします。ベテランの司書さんなら、「実装」という言葉はどの本にもあるので軽く扱い、「BM25」という珍しい語を重く見て本を選んでくれるはずです。BM25がやっているのは、まさにこの重みづけの自動化です。
つまりBM25とは、ありふれた語に惑わされず、珍しい語を手がかりに当たりをつける仕組みだと考えると分かりやすいです。
なぜ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%という具体的な数字があったからです。
まとめ:BM25はAIコーディングの「前さばき」として効く
- BM25は、語の出現頻度と珍しさから関連度を点数化する、古典的な検索手法です
- AIの手前に置くと探し回る無駄が減り、検証ではトークンが29.2%削減されました
- AIに丸投げせず、渡す情報を絞る設計が、コストと速度の両方を改善します
まずは自分が使っているAIツールが、1つの質問でどれくらいトークンを使っているか確かめてみてください。数字を知るところから、改善は始まります。
コメント