Databricks の実測 — 数百万行の巨大コードベースで、どのモデルとハーネスが一番コスパよく、一番使いやすいのか

同じモデルでも外側を替えるだけでコストは2倍。オープンソースの GLM 5.2 は Opus 4.8 と互角で、1問あたり3割安い。問題は自社のマージ済み PR から作ったので、ネットには落ちていない。
著者:Databricks07-22 · 9 分で読了⚑ 公式PR · 立場に注意
研究解説 · 小互解読
1分でわかる
  • Databricks が主要な AI コーディングアシスタントを自社の数百万行のコードで一斉テスト。問題はエンジニアがマージ済みの PR から作ったもので、ネット上には存在せず、モデルも暗記していない
  • いちばん直感に反する結論 — トークン単価でモデルを選ぶと間違えます。Sonnet 5 は Opus 4.8 よりトークン単価が1.7倍安いのに、1問解き終えると逆に高くつき($2.09 対 $1.94)、スコアも6ポイント低い
  • コストを左右するのはモデルより外側(ハーネス)。同じモデル、同じ思考レベル(thinking effort)でも、外側を替えるだけでコストは2倍以上変わります。差は毎ターンどれだけの文脈をモデルに流し込むか — Opus は claude code 経由で1問あたり累計742kトークン、pi なら236kで済みます
  • オープンソースが第一グループ入り — GLM 5.2 の品質は Opus 4.8 と互角(ともに87%)、1問あたり $1.28 対 $1.94
  • 思考レベルは高いほどよいわけではありません。Opus 4.8 を max まで上げると1問 $3.6 でスコアは82点。high の $0.93・85点より、高くて悪い結果です
⚑これは Databricks が自社ブログに出した社内テストのレポートで、データはすべて彼ら自身が計測し、彼ら自身が採点したものです。本文中の Omnigent と Unity AI Gateway は自社製品で、記事末では自社のインテリジェントルーティングの続編も予告されています。以上を踏まえてお読みください。本文中では都度注記しません。

Databricks が公式に出した社内実測のまとめです。答えたい問いはひとつ — 数百万行の巨大コードベースで、どの AI コーディング Agent(モデル + 実行フレームワークの組み合わせ)が一番コスパよく、一番使いやすいのか。7月8日公開、5人の著者には CTO であり Spark の作者でもある Matei Zaharia が含まれます。

まず Databricks とは

データと AI のプラットフォームを手がける企業で、2013年に Apache Spark のオリジナルメンバーが創業しました。Spark はビッグデータ処理でもっとも広く使われるオープンソースエンジンのひとつで、世界中の企業がデータパイプラインや機械学習の実行に使っています。同社は現在1万2000社以上にデータ基盤を提供し、2026年2月に L ラウンドを完了、評価額1340億ドル、年換算収入54億ドルです。

1340億ドル2026年2月 L ラウンド後の評価額
54億ドル年換算収入、前年比65%超の成長
12000+企業顧客
数百万行自社コードベース、十数言語にまたがる

著者の顔ぶれ。署名した5人のうち2人が Databricks の共同創業者です。Matei Zaharia は Spark の作者で現 CTO、Patrick Wendell も共同創業者。

コードベースが十分に複雑。Scala、Go、Rust、Java、Python、TypeScript、Bazel、Protobuf を使い、エンジニアは毎日1000回以上のコード変更をマージします。この複雑さは公開ベンチマークでは再現できません。

動機は自分たちのコスト削減。自社のエンジニアリング組織が AI をより安く使えるようにするための社内健康診断で、終えたあとに手法とデータをまとめて公開したもの。外向けの製品評価ではありません。

やり方自体は複雑ではありません。自社エンジニアが日々書いている実コードを問題に作り替え、主要なモデルとフレームワークの組み合わせを走らせて、正解率とコストを見る。得られた結論のいくつかは、いま多くの人がやっている選び方と真逆です。

1問あたりのコストと正解率の散布図、赤い破線はパレートフロンティア
全結果。横軸は1問解き終えるまでのコスト、縦軸は正解率。左上に近いほど得で、右下の点は高くて悪いということ。赤い破線で結ばれた7つの点が、現時点で「この金額で買える最良の結果」です。画像出典:Databricks

以下、6つの結論。最後の節がそのまま真似できるパートです。

1要点

モデルは「3つのグループ」に分かれる、常に最高価格帯を使う必要はない

彼らは順位を追いませんでした。数ポイントの差は実タスクではならされてしまうからです。役に立つのはグルーピングのほう — モデルと外側のすべての組み合わせが、はっきり3つの能力帯に落ちました。

グループ正解率顔ぶれ
第1グループ82–90%Opus 4.8、GLM 5.2、GPT 5.5 の高設定
第2グループ71–82%Sonnet 5、Sonnet 4.6、GPT 5.5 中設定、GPT 5.4
第3グループ51–60%GPT-5.4-mini、Haiku 4.5

日常の小さな作業に最高設定は不要。フラグの切り替えや設定の更新といった作業なら、中〜下位のモデルで十分足りますし、はるかに安く済みます。それでも彼らのデフォルト設定は、ずっと最高価格帯のままでした。

アップグレードより役割分担のほうが得。データを見た結果、より多くのタスクを Haiku や GPT 5.4 Mini の帯に回し、複雑なアーキテクチャ探索や深いデバッグのときだけ最も賢いモデルを呼ぶことにしました。

モデルが正解率で3つの能力帯に分かれる図
3つの能力帯:82–90%、71–82%、51–60%。右側の注記は各帯の内部の価格差倍率で、第1グループ内では最大2.2倍の開きがあります。画像出典:Databricks

どの作業を下ろすかは、まずログで測る

着手前に、彼らはまず AI コーディングセッションのログを全部引き出し、エンジニアが実際に AI に何をさせているかを調べました。

AI コーディングセッションのタスク複雑度別の分布
AI コーディングセッションのタスク複雑度別の分布。上から順に、ごく簡単7.6%、低難度19.3%、中難度61.1%、高難度12.1%。画像出典:Databricks

およそ4分の1が低複雑度の作業、6割が中難度で、本当に深い設計探索が要るのは12.1%だけ。それなのにデフォルト設定ではずっと最高価格帯のモデルが使われていた — この間の無駄は目に見えています。

2要点

オープンソースの台頭、日常の「主力機」として十分使える

第1グループにはオープンソースのモデルが1つ座っています。智譜(Zhipu)の GLM 5.2 です。

品質は Opus 4.8 と互角。正解率はどちらも87%で、統計的に差がつきません。

1問あたり約3割安い。GLM 5.2 は1問 $1.28、Opus 4.8 は $1.94。

主力の座に上げつつある。すでに社内の開発者が日常業務で試用しており、今回のスコアはその人たちの感触と一致しました。これを根拠に、日常の主力として広げてよいと判断しています。

87% / 87%GLM 5.2 と Opus 4.8 の正解率、統計的に互角
$1.28 / $1.94同じ2つの1問あたりコスト
2.2×第1グループ内の最大価格差
3要点

「トークン単価が安い」は「最終的に安い」ではない

モデルを選ぶとき、ほぼ全員が同じ数字を見ています。100万トークンいくらか。この数字では、最後にいくら払うかを予測できません。

見るべきは1つ片づけるのにいくらかかるか。トークン単価との間には変数が1つ挟まります。モデルがそれをやり終えるまでに、どれだけ読み、どれだけ考えるか。

直感に反する例が Sonnet 5。トークン単価は Opus 4.8 より約1.7倍安いのに、1問あたり $2.09。Opus 4.8 は $1.94 です。単価が安いほうが、総額では高い。

余分な出費は回り道に消えている。Sonnet 5 はより多くのファイルを読み、より長く考え、往復も増え、1.9倍のトークンを食います。それでいて正解率は6ポイント低い(81% 対 87%)。

1.7×Sonnet 5 のトークン単価が Opus 4.8 より安い倍率
$2.09 / $1.94なのに1問あたりでは Sonnet 5 のほうが高い
1.9×同じ問題を解くために Sonnet 5 が余分に燃やしたトークン
81% / 87%両者のタスク正解率
4要点

実行フレームワーク(ハーネス)がコストに与える影響は絶大

同じモデル、同じ思考レベルで、外側を替えるだけ。1問あたりコストは2倍以上変わり、品質はほぼ動きません。多くの人は、外側を「選べるもの」だと思っていません。

外側(harness)とは:モデルの出力を実際の操作に変えるレイヤーのソフトウェアで、毎ターンどれだけのコードをモデルに見せるか、どのツールを呼べるか、失敗したらどう再試行するかを決めます。Claude Code、Codex、pi はどれも外側で、下にどこのモデルを挿しても動きます。英語の資料では一律 harness と呼ばれ、本記事では「外側」と呼びます。

同じ料理人でも厨房が違えば提供の速さもコストも倍変わる。その厨房が外側です。

コストは2倍差、品質はほぼ動かない。pi はすべての対照組で安く、倍率は1.20から2.08。6組中5組で正解率の差は3ポイント以内です。

差は全部コンテキスト管理にある。1問解き終えるまでに累計でモデルに送り込まれた量は、Opus 4.8 を claude code で走らせると742kトークン、pi なら236kで済みます。

外側ごとの1問あたり再送コンテキスト総量
1問解き終えるまでに、累計でモデルへ再送されたコンテキストの総量(中央値)。上段は Opus 4.8 で、claude code 742k、pi 236k、3.2倍差。下段は GPT 5.5 で、codex 1235k、pi 665k、1.9倍差。画像出典:Databricks
pi と各社純正の外側のコスト・品質対照
赤い点が pi、白抜きの円が各社純正の外側、横軸は1問あたりコスト。各行の右側に両者の正解率を記載。画像出典:Databricks
モデル · 思考レベルpi が安い正解率(pi / 純正)
Opus 4.8 · high2.08×85% / 87%(−2)
Opus 4.8 · xhigh1.46×90% / 88%(+2)
Opus 4.8 · max1.20×82% / 89%(−7)
GPT-5.5 · medium1.54×83% / 80%(+3)
GPT-5.5 · high1.22×81% / 83%(−2)
GPT-5.5 · xhigh1.44×78% / 80%(−1)
6組中5組で正解率の差は3ポイント以内、Databricks の結論は「品質は変わらない」。最上位の max だけは82%対89%で7ポイント差です。なお「再送コンテキストが3分の1」という言い方は元のブログでは1ターンあたりの話で、図に記載されているのは1問あたりの総量の中央値。しかも3.2倍が成り立つのは Opus だけで、GPT 5.5 の組は1.9倍です。

pi — 道具箱に4つしか入っていないコーディングアシスタント

pi は Claude Code や Codex と同じ種類のもの。自分のマシンに入れてターミナルで動かし、やってほしいことを一言で伝えると、自分でコードを漁り、ファイルを直し、テストを走らせ、終わったら報告してくれます。

道具箱の中身は4つだけ。ファイルを読む、書く、直す、コマンドを実行する。それ以外の機能は、本当に必要になった時点で読み込みます。

常駐する説明書は1000トークン未満。日本語にして数百字程度の量です。

作者。Armin Ronacher と Mario Zechner。前者は Python 界隈で著名で、十数年使われている Flask と Jinja2 はどちらも彼の作です。プロジェクトはオープンソースで無料、GitHub のスターは約5.4万、どこのモデルでも挿せます。

薄いこと。それが安さの理由のすべてです。毎ターン、外側はひとかたまりの情報をモデルに再投入します。常駐の説明書、全ツールの使い方、それまでの会話、今回見せるコード。ツールが多く、説明書が長く、履歴を全部残すほど、このかたまりは膨らみます。そして毎ターン、その分の料金を払い直すことになります。

高機能な外側 pi 常駐の説明書(長い) 十数個のツールの使い方 (検索、TODO、サブタスク…) これまでの会話すべて 大量のコード文脈 説明書 · 1000 token 未満 4つの道具:読 / 書 / 直 / 実行 まだ使う分だけ残す 742k 236k 1問あたり累計投入トークン 同じモデル、同じ問題群
同じ Opus 4.8 を走らせたときの、2つの外側の1問あたり累計投入量。左側の各ブロックの構成はイメージ、右下の2つの数字は Databricks の実測値です。

送らなかった情報が消えるわけではありません。モデルが本当に必要になったら、自分で「ファイルを読む」を呼んで取りに行きます。この設計が成り立つ前提は、モデルが自分から取りに行き、ちゃんと取ってこられることです。

つまり「シンプルな外側がいちばん強い」は身内びいきの結論ではありません。勝ったのはサードパーティのオープンソースプロジェクトです。Databricks 自社の製品は Omnigent で、こちらはモデルも外側もいつでも差し替えられるようにするものです。
5要点

思考レベルを振り切ると、高くて悪い

モデルの思考レベルを最大にしても、精度が上がるとは限りません。ただし料金は確実に上がります。

組み合わせ1問あたりコスト正解率
Opus 4.8 · pi · high約 $0.9385%
Opus 4.8 · pi · xhigh約 $2.2090%
Opus 4.8 · pi · max約 $3.6082%
GPT 5.5 · codex · med約 $1.3379.5%
GPT 5.5 · codex · xhigh約 $2.4279.5%

レベルとスコアは単調な関係ではない。Opus 4.8 を pi で走らせると、high は1問1ドル未満で85点、max は3ドル60セントかけて82点に落ちます。この組み合わせの頂点は中間の xhigh で90点。

余計に払った分がまるごと無駄になることもある。GPT 5.5 を codex で走らせると、med と xhigh の正解率はまったく同じ79.5%。後者は倍近く高いだけです。

レベル名はモデルをまたいで比較できない。high、xhigh、max は各社が独自に定義した名前です。ベンダーが違えば同名でも別物と考えてください。

上表で「約」とした金額と正解率は、原文の散布図から座標を読み取ったものです。原文の本文にはこれらの組み合わせが個別に記載されていません。
6要点

なぜ定番の SWE-Bench などを使わないのか

ここまでの結論を信じられるかどうかは、問題の作り方にかかっています。公開ベンチマークでは、彼らの問いに答えられません。

答えが漏れる。問題も解法も公開されているので、時間が経てばモデルの学習データに入り込みます。そうなると測っているのはもう能力ではありません。

実環境に合わない。彼らのコードベースは十数言語にまたがり、Scala、Go、Rust、Java、Python、Bazel、Protobuf があり、大量のマイクロサービスもあります。汎用ベンチマークではこの複雑さを反映できません。

そこで自社エンジニアが毎日マージしているコードを問題に作り替えました。レビューを通った PR は、それ自体が良い素材です。開発者が一歩ずつ直したコミット履歴があり、人によるレビューがあり、その変更が正しいか検証するテストもあります。

まず絞り、それから作り替える

選別条件理由
十分に新しい最近の記録を使ってこそ、現在のフレームワーク・書き方・規約が反映される
人が書いたものボットのコミット、サービスアカウント、AI 生成・自動生成の変更はすべて除外
質の高いテスト付きテストがなければ採点基準がない
変更が集中している少数のモジュールだけを触るもの。コードベースの半分にまたがる大改修は対象外
全レイヤーをカバーScala のバックエンド、Rust のシステムコード、React と TypeScript のフロントエンド、protobuf と gRPC のインターフェース、Bazel の設定まで揃える
マージ済みの PR 変更 + レビュー + テスト 何を解きたいか読む 課題文に書き直す: 問題と制約を明示 「なぜこう直すか」は削除 非テストファイル モデルが再現する部分 テストファイル 隠して最後に採点基準へ 1問 完成
マージ済みの PR から1問ができるまで。原文の記述をもとに本サイトが作図したイメージ図です。

課題文に書き直すとき解法を削る。PR の説明には、そのバグをなぜこう直すべきかがたいてい書かれています。それは答えを問題文に書いてしまうのと同じ。残すのは「何を達成するか」と「どんな制約があるか」だけです。

テストは別に取り出して隠す。彼らのビルドシステムは、変更されたファイルに依存するテストをもともと算出できます。そのテスト一式をそのまま走らせて採点基準にしました。

全問を人が見る。スクリプトと AI は候補を出すためだけに使用。元のテストを書き直す必要がある問題もあります。実装方法を1つに限定しすぎているものは緩め、緩すぎるものは締める。この書き直しに AI は使わず、すべて手作業です。

テスト書き換えの前後比較
あるテストの書き換え前後。元のテストは文字列の完全一致に依存しており、モデルが言い方を変えるだけで失敗と判定されていました。出力がもともと一定しない場面では良い検証方法ではないため、振る舞いが正しいかを見る形に変更しています。画像出典:Databricks

AI に採点させないのは、それが「正しそうに聞こえる答え」を評価してしまうから

採点の流れはこうです。モデルが「終わった」と言ったら、その時点のコードを保存し、隠しておいたテストを戻して走らせ、全部通ればその問題は正解。評価の全過程で大規模言語モデルを審査員に使っていません。理由はこうです。

We did not use an LLM judge to evaluate correctness, since we've found that this rewards sounding right over being right. 正しさの評価に LLM の審査員は使いませんでした。それは「正しいこと」より「正しそうに聞こえること」を評価してしまうと分かっているからです · Databricks

テストが通るか通らないかは二値で、解釈の余地がありません。だからこそ「質の高いテストが必須」という条件は外せないのです。採点基準の信頼性は、このテスト群にすべて賭けられています。

7要点

Databricks はどうやってカンニングを防ぎ、テストを組んだか

初期の実験では、いくつかのモデルのスコアが不自然に良すぎました。実行の全トレースを引き出して人の目で追うと、原因は環境にありました。どの問題もマージ済みのコミットから作られており、しかも完全な git 履歴が作業ディレクトリにそのまま置かれていたのです。シェルコマンドを実行できる Agent なら、git 履歴をたどって当時の「模範解答」をそのまま掘り出せてしまいます。

Agent が問題を受け取る ↓ コードを書かず、まず git log を実行 ↓ 後続のコミットから元の実装を発見 ↓ 丸写し → テスト全通過 → 「正解」判定

対処は単純明快。実行のたびに、作業コピーとリポジトリを丸ごと切り離し、git 履歴を取れなくしました。

追加のカンニング防止策
彼らが追加した守りの措置。画像出典:Databricks

すべてのコーディング Agent の外側とモデルは、それぞれ標準の初期設定のまま使用。Databricks のエンジニアが普段使える一般的なツールを添えただけで、テスト向けの特別なチューニングはしていません。

8まとめと示唆

まとめと示唆

これは Databricks の規模がなければできない話ではありません。マージ済みの PR が一定量あるチームなら、モデルが学習していないベンチマークはすでに手元にあります。採点基準は、自分たちが書いたテストそのものです。

混ぜて使う、単一モデルに賭けない。能力のフロンティアには OpenAI も Anthropic もオープンソースも同時にいます。今日、すべての帯を1社が独占している状況ではありません。

難度でタスクを振り分ける。6割は中難度、簡単なものは安いモデルへ、複雑な設計のときだけ最上位を呼ぶ。彼らの次の一手は、この振り分けの自動化です。

まず外側というレイヤーを測る。外側を選び直すほうがモデルを替えるより安くなることもあるのに、このレイヤーはほとんどのチームが測ったことすらありません。

コストは1つ片づけるごとで数える。トークン単価では総額を予測できず、思考レベルも高いほどよいわけではありません。

✅ 自分でコーディング Agent のベンチマークを作る

彼らは今後も問題を追加していく方針で、とくに難しい問題を増やし、新しい Agent や外側が出るたびにこのテストを通すとしています。

出典
Benchmarking Coding Agents on Databricks' Multi-Million Line CodebaseVinay Gaba、Ankit Mathur、Rishabh Singh、Patrick Wendell、Matei Zaharia / Databricks·databricks.com·2026-07-08
本サイトから
6枚の図表はいずれも原文に掲載されたものです。「PR から問題へ」の流れ図と「2つの外側がモデルに送る量」の比較図は、原文の記述をもとに本サイトが作図したイメージ図です。第5節の表で「約」とした金額は原文の散布図から座標を読み取ったもので、原文の本文には個別に記載がありません。pi の開発者、スター数、内部設計はプロジェクトページから、GLM 5.2 が智譜(Zhipu)製である点も含め、この2点は原文に記載がありません。
↑ 本文ここまで
✓ この記事は全文無料です

メンバーは全文 Markdown のコピー・保存に加え、自分の AI に購読・質問させることができます。

原文を読む ↗
📮 新着解説をメールでいち早く

役に立ちましたか?メールを登録すると、新着解説を公開と同時にお届けします。解除はいつでも。