0
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?

Databricksが企業向け検索エージェントKARLを発表したのでレポートを要約して読んでみた

0
Last updated at Posted at 2026-03-07

はじめに

Databricks社のAIリサーチチームから以下のようなポストがされていました。

KARL (Knowledge Agents via Reinforcement Learning) は、企業固有のデータに対してベクトル検索をツールとして使いながら複数ステップで情報を収集・推論するエンタープライズ検索エージェントとのこと。

強化学習(RL)でそのエージェントを訓練する仕組みが肝で、Claude 4.6やGPT 5.2を上回るコストと品質・レイテンシと品質のパレートフロンティアを達成したとしています。

以下にKARLのテクニカルレポート記事が公開されています。

非常に興味深かったので、元のテクニカルレポート(PDFで77ページ)を要約してみました。
全文読むのはしんどいけども概要をキャッチアップをしたい場合に利用ください。

本記事はテクニカルレポートの技術レポートをClaude Sonnet 4.6で要約したものです。
内容の正確性は確認しきれていない部分がありますのでご注意ください。

本題の前に感想

個人的に、エンタープライズ向けのドメイン特化エージェントはデータを持つ企業にとって非常に重要なテーマだと考えています。
直近は企業データを使わなくても汎用的に処理を実行できるエージェントが普及してきましたが、やはり「データとAIの組み合わせで価値を作る」というのが企業としての差別化要因であるわけで、その方向性を強化する仕組みを提供するアプローチには賛同しかありません。
DATA+AI SUMMIT 2026の目玉の一つになりそうな気がしています。ワクワク。


KARLとは(Introduction)

KARLはDatabricks AI Researchが開発した、エンタープライズ向けの知識エージェント訓練システムです。ベースモデルには GLM 4.5 Air を使用し、RLポストトレーニングによって検索エージェントとしての能力を引き出します。

本論文は4つの主要貢献を主張しています:

  1. KARLBench: 6種類の異質な検索タスクからなる評価スイートを整備
  2. マルチタスク学習の優位性: 複数の異質なタスクで訓練したモデルは、単一タスク特化モデルより汎化性能が高いことを実証
  3. エージェントによるデータ合成パイプライン: 長期推論とツール使用により多様・根拠付き・高品質な訓練データを生成し、能力向上と共に自己改善でブートストラップ
  4. OAPL: 大規模バッチオフポリシーRLに基づく新しいポストトレーニングパラダイム

論文で繰り返し強調される問題設定は「Grounded Reasoning(根拠づけられた推論)」です。これは金融・法律・医療・製造業など、企業が保有する膨大な独自データに基づいて推論しなければならないタスクを指します。汎用的なインターネット検索では対応できない、企業固有ナレッジへのアクセスが必須の領域です。

名前の「KARL」は「Karl the Fog」(サンフランシスコの海霧の愛称)から来ているそうです。

KARLBench — 6種類の検索能力を測る評価スイート

タスク概要

KARLを評価するために構築されたのが KARLBench です。6つの異なる検索タスクで構成されており、それぞれが異なる構造的課題を分離して測定します。

タスク 測定する能力 問いの例
BrowseComp-Plus 制約ベースのエンティティ検索 「The Trialの著者と同じ都市生まれのノーベル賞物理学者は?」
TREC-Biogen クロス文書レポート合成 「mRNAワクチンの新型コロナ変異株への有効性を示す証拠は?」
FinanceBench 長文書横断の表形式数値推論 「X社の2022年報告書から、営業利益の前年比変化率は?」
QAMPARI 網羅的エンティティ検索 「FIFAワールドカップで優勝したことのある全国はどこか?」
FreshStack 技術ドキュメントの手順的推論 「仮想環境内でModuleNotFoundErrorが出た場合の解決策は?」
PMBench 社内ノートでの網羅的事実検索 「ガバナンスに関する懸念を提起した顧客と具体的な内容は?」

BrowseComp-PlusとTREC-Biogenを訓練タスク(In-Distribution)とし、残りの4タスクは 分散外(OOD)評価 として使用しています。

PMBenchは本論文で新たに公開されたDatabricks内製のベンチマークです。製品マネージャーの会議メモや計画資料といった非形式的・断片的なテキストを対象に、現実的なエンタープライズ条件での検索ロバスト性を測定します。インデックスには各文書の先頭2048トークンを使用するシンプルな設計で、前処理の工夫で性能を上げないように意図しています。

データセット統計

各タスクの規模感を示すと:

データセット 問い数 文書数 文書平均トークン数
BrowseComp-Plus 830 100,195 481
TREC-Biogen 65 26,805,982 309
FinanceBench 150 53,399 718
QAMPARI 1,000 256,680 130
FreshStack 203 49,514 1,099
PMBench 57 3,395 1,518

TREC-Biogenの2600万文書規模は圧巻で(個人の感想)、広域な検索能力が要求されることが数字からも伝わってきます。

コーパス構築の方針

コーパスの前処理については、各データセット固有のチューニングを一切行わないことを方針としています。再チャンキング・意味的拡張・メタデータ付与・チャンクサイズ調整など、特定データセットに有利になる前処理は意図的に避けています。「コーパス固有の前処理ではなく、検索・推論能力の向上で性能を上げる」という姿勢です。

各タスクのベクトル検索設定も工夫されており、1回の検索で取得するチャンク数kは「取得トークン数を一定に保つ」ようにデータセット毎に調整(平均文書長の逆数に比例、上限k=20)しています。埋め込みモデルはBrowseComp-PlusにQwen3-8B、PMBenchにGTE-large、その他にQwen3-0.6Bを使用しています。

評価方法

答えの評価は全タスクでナゲットベース完結度 (Nugget-based Completion) に統一しています。答えを「ナゲット」と呼ぶ情報単位に分解し、エージェントがどの割合を答えられたかでスコアリングします。TREC-RAGやDeepScholar-Benchでも採用されている枠組みで、開放型の回答に対しても一貫した評価が可能です。

タスクによってナゲットへの変換方法が異なります:

  • QAMPARI: 各エンティティが1ナゲット
  • FreshStack・PMBench: タスク固有のプロンプトで正解をナゲット化
  • TREC-Biogen: 複数の参照回答それぞれをナゲット化し、その後統合

ポイントとして、エージェントに使えるツールはベクトル検索のみに限定しています。OfficeQAのような他のベンチマークでは複数ツールの連携が必要ですが、KARLBenchでは検索・推論の本質的な難しさを分離して測定するために、意図的にシンプルな設定を採用しています。

KARLの学習アーキテクチャ

エージェントハーネス

エージェントはベクトル検索を繰り返し呼び出しながら情報を収集し、最終的な答えを生成します。各ステップで、モデルのコンテキストにはシステムプロンプトと過去のツール呼び出し履歴が格納されています。

長い軌道を扱うためのコンテキスト圧縮の仕組みが特徴的です。履歴がトークン数の閾値を超えると、自動的に圧縮がトリガーされます。BrowseComp-Plusでは150Kキャラクターを閾値としています。

興味深いのは、この圧縮に同じエージェント自身を使う点です。圧縮用の別モデルを用意せず、かつ要約データセットで事前訓練もしません。圧縮ステップ自体もRLの最適化対象に含め、エンドツーエンドで「何を圧縮すれば将来の報酬が最大化されるか」をエージェントが学びます。実験で後述しますが、この圧縮能力の向上がKARLの性能向上に明確に貢献しています。

Stage I: エージェントによるデータ合成(質問-回答の生成)

訓練データはどこから来るのか?というと、ここも同じエージェントが生成します。

質問-回答合成エージェントは、少数の具体例(Few-shot)とコーパスを受け取り、ベクトル検索で文書を探索しながら多様で難しい質問-回答ペアを自律的に生成します。具体的には:

  • TREC-Biogenの場合: 評価セットから4件のシード例を使い、最大50ステップのベクトル検索(k=20)で探索した後、8件の候補Q-Aペアを生成
  • BrowseComp-Plusの場合: コーパスから10件のシード文書 + 検証セットから4件のシード例を使い、最大60ステップ(k=5)で探索後、8件の候補を生成(文書シードを追加することで文書カバレッジが25%向上)

従来の手法(SPICE, NaturalReasoning等)が静的な文書セットに条件付けしてデータを生成するのと異なり、探索した文書に根拠づけられたデータが生成できる点がポイントです。

生成されたデータは重複排除エージェントが評価セットとのリークをチェックします。まず完全一致を除去し、次にLMSysのdecontaminationパイプライン(Yang et al., 2023)でニアデュプリケートを検出します。具体的にはQwen3-8B-Embeddingで類似問いをトップ20取得し、gpt-4o-miniがパラフレーズ判定を行います。

image.png

Stage II: 難易度によるフィルタリング(解法合成)

各質問に対して複数のSolverエージェントが独立に解答し、パスレート(正答率) で難易度を推定します。TREC-BiogenとBrowseComp-Plusともに1問あたり8ロールアウトを生成します。

  • 全正解の問題 → 既に解けるので除外(学習信号なし)
  • 全不正解の問題 → 現状では解けない、または問題自体が欠陥の可能性があるので除外
  • 中間の問題 → 学習信号が最も豊か → 訓練データとして採用

TREC-Biogenはスコアが連続値([0,1]区間)のため、モデルの平均スコアを基準に二値化してからパスレートフィルタを適用します(閾値はマルチタスクRL Iter.1/2では0.6・0.7、TREC専門家モデルの3イテレーションでは0.6・0.75・0.9)。

さらにQuality Filterエージェントが曖昧な問題・不正解の参照答えを除去します(TREC-BiogenにはGPT-5-mini、BrowseComp-PlusにはGPT-4o-miniを使用)。

訓練を重ねるにつれてエージェント自体が向上し、より高品質なデータを合成できるようになる自己改善ループが成立しています。実際に、BrowseComp-PlusのIter.2訓練データ(KARL Iter.1が合成)では、中央値軌道長がIter.1の50ステップから20ステップへと大幅に短縮しており、モデルが学習とともに効率的な検索方法を学んでいることが示されています。

image.png

オフポリシーRL (OAPL)

訓練アルゴリズムはOAPL (Optimal Advantage-based Policy Optimization with Lagged Inference policy) を使用しています(Ritter et al. 2026として同時並行で公開)。KL正則化RLの目標関数とA⋆POのアイデアを組み合わせた手法です。

直感的には、グループロールアウトから最適価値関数V⋆を推定し、その最適価値との差(最適アドバンテージ)を目標にした最小二乗回帰で方策πを更新します。β1で価値推定の滑らかさを、β2でKL正則化の強さを独立に制御できる設計になっています。

マルチステップなエージェント設定への適用として、圧縮ステップがある長いロールアウトは圧縮ステップで分割し、各セグメント(x, y)として扱います(xが圧縮済み履歴、yがその後のステップ)。これにより極端に長いロールアウトをGPUメモリに乗せる問題を回避しています。

既存のオンラインRL手法(特にGRPO)との大きな違いは:

  • 大規模バッチオフポリシー訓練: データ生成コストを複数の更新ステップに分散できるため、ハイパーパラメータスイープも効率的に実施可能
  • ヒューリスティック不要: GRPOで大規模MoEを安定させるために必要だった重要度重み付けクリッピング・オフポリシーデータ削除・ルーターリプレイが不要
  • インフラ設計の簡素化: trainer-inference engine(vLLM等)間の乖離に頑健なため、インフラ上の制約が大幅に緩和
  • マルチタスクへの自然な拡張: 複数タスクの損失を合算するだけで対応できる

とはいえ、オフポリシーRLの理論的保証や大規模MoEでの挙動については、今後さらなる検証が必要ではないかと思います。

マルチタスクRL

BrowseComp-Plus(制約を満たすエンティティを絞り込む「深い検索」)とTREC-Biogen(広範な生物医学文書から情報を統合する「広い検索」)という、構造的に真逆と言えるほど異質な2タスクを同時訓練することで、訓練していないタスクへの汎化性能を獲得しています。

単一タスク専門家で実験すると、KARL-TRECはTREC-Biogenで85.0のSOTA級スコアを出す一方でBrowseComp-Plusには転用できず、KARL-BCPはBrowseComp-Plusで59.6を出す一方でTREC-Biogenには転用できません。この結果から2つのタスクが本質的に異なる検索能力を測定していることが確認されており、それを同時訓練することで多様な汎化能力が生まれる設計になっています。

比較対象として、2つのシングルタスク専門家(KARL-TRECとKARL-BCP)の出力をSFT蒸留で1モデルにまとめるマルチエキスパート蒸留も実験しています(DeepSeek-V3.2やGLM-5で採用されているアプローチです)。

結果として:

  • 分散内(BrowseComp-Plus + TREC-Biogen): 両手法でほぼ同等の性能
  • 分散外(FreshStack等4タスク): マルチタスクRLが蒸留を明確に上回る

並列思考を組み合わせた場合の差はさらに顕著で、蒸留モデルは分散外でほぼスケールしない(59.4→59.6)のに対し、KARLは分散外でも継続してスケールします。蒸留はタスク固有パターンを模倣するため分散外ではスケールしない一方、RLはより汎用的な検索能力を獲得するという理解です。

Test-Time Compute によるスケーリング

並列思考 (Parallel Thinking)

N個のロールアウトを並列実行し、集約エージェントが最終答えを合成するアプローチです。KARLBench全タスクで有効なタスク非依存の汎用手法として位置付けられています。

単純な多数決(Majority Vote)やBest-of-Nと大きく異なる点は、集約エージェントが各ロールアウトの回答を超えた新しい答えを生成できることです。集約の際もベクトル検索ツールが使えるためです。PMBenchではN=5のケースで23.7%の問いに対して、集約が個別ロールアウトより優れた回答を生成しました。

集約のオーバーヘッドは小さく、BrowseComp-PlusでN=10の場合でも集約ロールアウトの平均ターン数は3.7回に留まります。N=15を超えると回答の飽和とコンテキスト肥大化から収益逓減が始まりますが、N=20まではKARLがGLM 4.5 Airを全タスクで一貫して上回り続けており、RL学習で得た汎化能力はTest-Time Computeの効果と補完的に組み合わさることが確認されています。

価値誘導探索 (Value-Guided Search: VGS)

よりタスク特化型のアプローチとして、部分ロールアウトから将来の成功確率を予測する価値モデルを訓練し、各ステップで最も価値の高い分岐を選択する木探索を行います。

価値モデルはトークンレベルでのバイナリ交差エントロピー損失で訓練します(σ(V(x, y≤t))を部分ロールアウトy≤tが最終的に正解に至る確率として学習)。重要な発見として、Qwen3-4B-Thinkingというコンパクトなモデルでも十分に有効な誘導が得られています。

木探索の実装はシンプルな幅優先探索(BFS)で、各ステップでk=2の候補を生成し価値の高い方を選択します。N本の並列BFSを実行してN個のロールアウトを得た後、集約戦略として次の3手法を比較しています:

  • Majority Voting (MV): 最多得票の回答を選択
  • Weighted Majority Voting (WMV): 価値モデルをスコアとして重み付け多数決
  • Best-of-N (BoN): 価値モデルスコアが最高の1ロールアウトを選択

結果としてWMVが最も良くスケールし、BrowseComp-Plusで70.4を達成(並列思考の収束値を上回る)。価値モデルが単なる頻度以上の情報を提供することがWMVの優位性から示され、一方でBoNより投票の組み合わせが有効なことはVGSの情報統合能力を示しています。

なお、VGSはBrowseComp-Plusのような短い事実的な回答を持つタスクで特に有効です。開放型回答が多いタスクは投票系集約が使いにくいため、そうしたタスクには並列思考の方が汎用的に機能します。

実験結果

KARLBenchスコア比較

主要モデルのスコア一覧(長いので折り畳み)
モデル BrowseComp+ TREC-Bio FreshStack FinanceBench QAMPARI PMBench 総合
GLM 4.5 Air 44.7 66.0 52.9 72.7 45.9 33.4 52.6
Qwen 3.5 397B 55.8 68.2 51.9 79.3 42.8 34.7 55.5
GPT 5 68.3 68.2 55.6 86.7 44.4 37.5 60.1
GPT 5.2 47.8 62.0 47.9 80.3 41.1 37.9 52.8
Claude 4.5 Sonnet 54.6 75.2 55.0 79.3 54.8 32.6 58.6
Claude 4.5 Opus 62.5 74.7 57.4 80.7 54.9 39.1 61.6
Claude 4.6 Sonnet 57.9 77.7 62.6 81.3 50.2 43.8 62.3
Claude 4.6 Opus 75.9 79.9 61.4 83.0 58.6 46.1 67.5
KARL-TREC 42.2 85.0 56.7 68.3 50.8 37.5 -
KARL-BCP 59.6 68.0 51.6 77.0 44.1 32.4 -
KARL-BCP (VGS N=17) 70.4 - - - - - -
KARL 58.5 80.2 55.2 76.0 47.8 35.7 58.9
KARL (par. N=3) 62.2 83.7 57.7 80.8 55.1 44.8 64.1
KARL (par. N=10) 67.5 86.7 58.6 84.5 59.7 47.8 67.5
KARL (par. N=20) 69.5 86.7 58.1 84.2 60.8 49.0 68.1

主要な発見:

  • シングルKARL(テスト時追加計算なし)でClaude Sonnet 4.5(高推論努力)と同等スコア(58.9 vs 58.6)
  • KARL Parallel N=10でClaude Opus 4.6と同等の品質(67.5)を コスト33%削減・レイテンシ47%削減 で達成
  • シングルコールKARLは $0.10/クエリ以下 で55点超モデル中最安

特筆すべきは、KARLはベースモデル(GLM 4.5 Air: 52.6点, コスト高め)より コストが低いのに6点以上高スコア という点です。RLでより効率的な検索戦略を学んだ結果、少ないステップ・トークンで解決できるようになっています。「高性能化とコスト削減を同時達成する」という主張は、単なるマーケティングではなくこのメカニズムで裏付けられています。

マルチイテレーション訓練の効果

KARL-TRECを使ったケーススタディとして、3イテレーションの訓練経過が報告されています:

イテレーション TREC-Biogen FreshStack QAMPARI
GLM 4.5 Air(ベース) 66.0 52.9 45.9
Iter. 1 76.0 52.2 48.2
Iter. 2 82.0 56.7 49.8
Iter. 3 85.0 56.7 50.8

TREC-Biogenでは各イテレーションで着実に改善し、Iter.1でClaude Sonnet 4.5を超え、Iter.2でClaude Opus 4.5を超えています。プラトーに達しておらず、追加イテレーションでさらに伸びる可能性が示唆されています。分散外タスクのFreshStackとQAMPARIでも継続的に向上しており、TREC-Biogenのみで訓練しても構造的に異なる検索能力が向上することが確認されています。

RLは「シャープ化」以上の効果をもたらす

RLポストトレーニングについて「シャープ化(既に解ける問題をより高確率で解けるようにする)に過ぎないのか」という研究上の問いがあります。本論文での結論は能力拡張です。

具体的な証拠として:

  • max@k曲線全体が向上: k=1だけでなくk=16でも改善。RL後のモデルはmax@2がGLM 4.5 AirのMax@16を上回る(2回の試行で基底モデルが16回試みても解けなかった問題を解く)
  • 解決済みカテゴリの拡大: BrowseComp-PlusのPass@16で見ると、訓練前に「Unsolved(0%)」だった問題の37.2%が「Partial」へ移行し、「Partial」の33.3%が「Solved」へ移行。劣化は最小(「Solved」から「Partial」への逆流は6.4%のみ)

検索環境アブレーション

いくつか興味深いアブレーション実験が報告されています。

コンテキスト圧縮の効果

  • 圧縮あり: BrowseComp-Plusスコア 0.570
  • 圧縮なし: 0.389

大幅な性能低下が確認されており、KARLは長期探索においてコンテキスト管理戦略を明示的に習得していることが示されています。

埋め込みモデルのロバスト性

  • Qwen3-Embedding-8B(訓練時と同じ): スコア 0.570
  • GTE-large + ハイブリッド検索(訓練時と異なる): スコア 0.568

ほぼ変化なし。特定の埋め込みモデルに過学習せず、汎用的な検索戦略を学んでいることを示しています。

検索と圧縮の交差評価(圧縮能力が検索能力と独立して向上しているか確認):

検索モデル \ 圧縮モデル GLM 4.5 Air KARL-BCP
GLM 4.5 Air 0.44 0.54
KARL-BCP 0.46 0.57

GLM 4.5 Airが検索していてもKARL-BCPが圧縮するだけで0.44→0.54に向上します。RLが検索能力と圧縮能力を独立して改善していることが確認されています。

RLが何を学んだか

検索行動の定量分析

RLトレーニングが具体的に何を変えたかを示す定量指標:

軌道長の短縮(BrowseComp-Plus合成データのパスレートカテゴリ別):

  • Unsolved(全不正解): 平均ステップ数 大幅短縮
  • Partial(部分正解): 同様に短縮
  • Solved(全正解): 51.1ステップ → 36.3ステップ(最も劇的な短縮)

既解決の問題を「訓練データから除外している」にもかかわらず、KARLはそれらをより少ないステップで解けるようになっています。汎化的な効率化が起きている証拠です。

検索多様性の向上(BrowseComp-Plus評価セット):

  • GLM 4.5 Air → KARL Iter.1 → KARL Iter.2 と累積ユニーク文書数が増加
  • BrowseComp-Plus: ベースモデルより +37%の文書探索多様性
  • TREC-Biogen: +8%の文書探索多様性

RL目的関数は検索多様性を直接最適化していないにも関わらず、副次的に多様性が向上しています。GLM 4.5 Airでは同じ文書周辺を繰り返し探索するパターンが多く、それがRLで解消されています。

無駄な検索の削減(全必要文書を取得できた87件のBrowseComp-Plus問いに限定して分析):

  • 必要文書取得後の追加検索ステップ: 91ステップ(ベース)→ 52ステップ(Iter.1)→ 32ステップ(Iter.2)
  • 同時に回答精度も向上: 53% → 64% → 71%

証拠取得後に無駄に検索を続ける挙動が激減し、かつ精度も上がっています。

検索行動のプロファイル分類

6種類の行動パターンの分類を定義し、ロールアウトを分類しています:

  1. Explore then Commit: 広く探索してから回答確定(主要パターン)
  2. Explore then Verify: 探索後に候補答えを検証してから確定
  3. Giving Up Early: 十分な探索なしで早期終了
  4. Confidently Wrong Early: 不十分な探索で誤答を早期確定
  5. Running Out of Context: コンテキスト制限で途中終了
  6. Exhaustive Search, No Convergence: 網羅的に探索するが収束せず

KARLの行動プロファイルはClaude Sonnet 4.5と類似しており、「Explore then Commit」が支配的です。GLM 4.5 Airは「Exhaustive Search, No Convergence」とコンテキスト枯渇が多く、探索から確定への移行が苦手であることが示されています。

ただし、KARLでは「Giving Up Early」カテゴリも増加しています。短い探索で正解することが多くなった結果、一部のケースで探索が不十分なまま答えようとする spurious correlation を学んだ可能性があると分析されています。

また、数値推論が必要な問題(FinanceBench相当)では、必要な証拠が手元にあるにもかかわらず計算を拒否して探索を続け、最終的に早期終了するパターンが確認されています。検索戦略は改善されましたが、取得済み証拠に対する後推論(数値計算等)の能力改善はRLでは不十分だったというわけです。算術推論の明示的な強化が今後の課題として挙げられています。

参考文献

0
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
0
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?