SkillSight:AIエージェントのスキル検索精度を劇的に向上させる

エージェントが利用できるスキル(ツールやAPI、手順書などのドキュメント)は、SRA-Benchで約26,000件、SkillBench-Suppでは約77,000件におよびます。これほど大規模になると、膨大な選択肢から正しい1件を見つけ出す「スキル検索(Skill Retrieval)」の精度が、そのままエージェントの実力を左右します。

すべてのスキル説明をプロンプトに詰め込むと、コンテキスト長を圧迫してコストが増大するだけでなく、誤選択のリスクも高まります。そのため多くのシステムでは、まず埋め込みベースの検索(Dense Retrieval)で候補を絞り込み、その後にLLMへ渡す構成が採用されています。

しかし、この Dense Retrieval によるスキル検索には見落とされがちな弱点があります。スキルの説明文は「このスキルは○○を実行します」「呼び出しには××というパラメータが必要です」といった、共通の定型的表現が多く使われがちです。その結果、内容の一致度ではなく「説明文の定型パターン」自体が検索スコアを不当に底上げしてしまうのです。

この現象は Document-side Background Bias と呼ばれています。本記事では、このバイアスの定量的な分析と、追加学習を行わずに検索スコアを補正する手法「SkillSight」について解説します。

具体的には、Dense Retrieval がスキル検索で苦戦する原因の分析、SkillSight によるスコア補正の仕組み、そして2つのベンチマークと3つのエージェントモデルを用いた実験結果を順番に紐解いていきます。

1. スキル検索はなぜ難しいのか

スキル検索が抱える固有の難しさは、クエリとスキル文書における性質の非対称性にあります。クエリにはタスクごとに「何を、何に対して、どんな制約のもとで実行したいか」という具体的な内容が記述されます。一方でスキル文書は再利用を前提としているため、以下の項目がどのスキルでもほぼ同じ書式・言い回しで整理されます。

  • Capability Scope(対応できる作業範囲)
  • Invocation Interface(呼び出しインタフェース)
  • Execution Conditions(実行条件)
  • Usage Instructions(使用方法)

この共通する構造的な規則性が Dense Retrieval の類似度計算に影響を与えてしまう点が、最初の着眼点です。

この課題は、「ランキングの挙動」「トークンの統計」「埋め込み表現の幾何構造」という3つの角度から紐解くことができます。

まずランキングの挙動について、一般的なテキスト検索ベンチマーク(ArguAna, FiQA, SciFact)とスキル検索用の SRA-Bench を比較してみます。正解スキルより上位に来てしまう不正解文書(ハードネガティブ)の平均割合は、ArguAna で \(0.05%\)、FiQA で \(0.23%\)、SciFact で \(0.42%\) であるのに対し、SRA-Bench では \(1.24%\) と際立って高い数値を示します。また、同じ再現率(Recall)を達成するのに必要な Top-\(k\) の深さも、SRA-Bench の方が通常のテキスト検索より大幅に深くなります。

この結果は、「スキル検索では、本来は不正解であるものの紛らわしい候補が、一般的なテキスト検索よりも上位に紛れ込みやすい」ことを意味しています。

続くセクションでは、この現象の背後にある仕組みを、トークン統計と埋め込み空間の両面からさらに掘り下げていきます。

図1. スキル検索(SRA-Bench)と一般的なテキスト検索ベンチマークの比較。(a) Top-k深度別のgold recall。(b) 正解文書より上位に来る候補の平均割合。SRA-Benchでは1.24%と、他のベンチマーク(0.05〜0.42%)より明確に高い。

2. 共通する説明文がスコアを歪めるメカニズム

Dense Retrieval では、クエリと文書の埋め込みの内積によってスコアを計算します。

$$s(q, d) = q^\top d$$

このスコアには、タスクに本当に必要な能力と一致しているかを示す「タスク固有の証拠」と、そのスキル文書が「いかにもスキルらしい典型的な書式に従っているか」を示す「共有された背景」という、性質の異なる2つの信号が混ざり込んでいます。後者が強く作用すると、要求に合致しないスキルであっても、単に表現の書きぶりが似ているというだけで高いスコアを獲得してしまいます。

この問題に対し、まずコーパス中の各トークン \(t\) における IDF(逆文書頻度)を以下のように定義します。

$$\text{idf}(t) = \log\frac{N+1}{\text{df}(t)+1} + 1$$

ここで \(N\) はコーパス全体の文書数、\(\text{df}(t)\) はトークン \(t\) を含む文書数です。この IDF 分布に対し、画像の二値化処理などで用いられる Otsu 法(大津の判別分析法) を適用することで、閾値より低い IDF を持つ「汎用トークン」の集合 \(T_g\) を自動抽出します。

実証データによると、この汎用トークンを含むスキルのうち、実際にそのスキルが正解(gold skill)である割合は、SRA-BenchSkillBench-Supp のいずれにおいてもほぼ \(0\) に集中しています。対照的に、それ以外のトークンは正解率の高い領域にも幅広く分布しています。つまり汎用トークンは、単に「スキルらしさ」を演出しているだけであり、どのスキルが正解かを判別する力(識別性)をほとんど持っていません。

図2. 汎用トークンとそれ以外のトークンのgold-skill rate分布。汎用トークンはほぼ0付近に集中しており、正解スキルを区別する情報をほとんど持たない。

この傾向を埋め込み空間上でモデル化するため、各汎用トークン \(t\) を含む文書の平均埋め込み \(g_t\) を算出し、これらとコーパス全体の平均埋め込みを束ねた行列に対して特異値分解(SVD)を適用します。これにより、正規直交基底 \(B\) からなる低次元の「背景部分空間」を定義します。

任意の正規化された埋め込み \(v\) に対し、この背景部分空間への射影の大きさを背景エネルギーと呼び、以下のように算出します。

$$e_B(v) = \left\Vert{} B^\top v \right\Vert{}_2^2$$

一般的なテキスト検索データセットでは、クエリ側の背景エネルギー \(E_Q\) と文書側の背景エネルギー \(E_D\) がほぼ同等(\(E_D = E_Q\) の直線付近に分布)になる傾向があります。しかしスキル検索データセットにおいては、一貫して \(E_D > E_Q\) となり、文書側だけが背景部分空間へ強く引き寄せられていることが確認できます。これは、スキル文書がクエリに比べて遥かに「定型的な書きぶり」に依存していることを示す決定的な証拠です。

このエネルギーの非対称性は、検索スコアの計算結果にも直接的な偏りをもたらします。背景部分空間への射影行列を \(P_B = BB^\top\) と置くと、内積スコアは以下のように直交分解できます。

$$q^\top d = \underbrace{(P_B q)^\top (P_B d)}_{\text{背景方向の一致}} + \underbrace{((I – P_B) q)^\top ((I – P_B) d)}_{\text{残差方向の一致}}$$

文書側の背景エネルギーが大きい場合、この分解式の第1項(背景方向の一致)が不当に大きくなり、スキルの本来の能力とは無関係にスコア全体が底上げされてしまいます

つまり、共通して使われる説明文の定型パターンが、タスク適合度を示す本来の証拠を覆い隠してしまうことこそが、スキル検索の精度を阻害する根本的な原因なのです。

図3. クエリと文書の背景エネルギー比較。(a) 平均背景エネルギーの散布図。スキル検索データセットは対称線($E_D=E_Q$)から離れ、文書側のエネルギーが高い。(b) 個々のクエリ・文書の背景エネルギー分布(SciFact, ToolQA)

3. SkillSightによる2段階のキャリブレーション

前セクションの分析を踏まえて構築された SkillSight は、追加の学習やモデル推論を一切必要としない「Training-free」な補正フレームワークです。既存の Dense Retriever が出力した埋め込み表現に対して後処理を加えるだけで動作するため、すでに運用されている検索基盤へそのまま組み込める点が大きな実務上のメリットです。

Semantic Background Calibration(SBC:意味的背景キャリブレーション)

SBC では、クエリと文書の埋め込みベクトルを、先ほど導出した「背景部分空間」と直交する方向へ射影します。

$$q_\perp = (I – P_B) q, \qquad d_\perp = (I – P_B) d$$

この射影済みベクトル同士の内積を、背景ノイズを取り除いた意味的スコアとして利用します。

$$s_\perp(q, d) = q_\perp^\top d_\perp$$

ここで重要なポイントは、射影後にベクトルを再正規化しない点です。背景エネルギーが高い(=定型文の書きぶりに強く寄っていた)文書ほど、直交射影によって残るベクトル長自体が縮小します。あえて再正規化を行わないことで、「定型文寄りの文書のスコアを自然に減衰させる」という効果がそのまま機能します。

Lexical Evidence Calibration(LEC:字句レベルの証拠キャリブレーション)

LEC は、キーワードの一致度という面から補正をアプローチします。まず、クエリのトークン集合から識別力の低い汎用トークン \(T_g\) を除外します。

$$T_q^{sp} = T_q \setminus T_g$$

汎用トークンを取り除いた残りのトークン群の中でも、トークンごとに識別力の強弱が存在します。そこで、各トークンの文書出現率 \(p(t) = \text{df}(t) / N\) を用い、以下の重みを割り当てます。

$$w_\beta(t) = \text{idf}(t) \left(1 – p(t)\right)^\beta, \qquad \beta \ge 0$$

\((1 – p(t))^\beta\) は、多くの文書に共通して現れるトークンの影響力を抑えるための割引項です($\beta$ の値を大きくするほど割引が強力になり、\(\beta = 0\) のときは通常の IDF 重みと同等になります)。

この重みづけを利用し、候補文書 \(d\) に対する字句スコアを「非汎用トークンの加重カバー率」として次のように定義します。

$$s_{lex}(q, d) = \frac{\sum_{t \in T_q^{sp}} w_\beta(t)\, \mathbb{I}[t \in d]}{\sum_{t \in T_q^{sp}} w_\beta(t)}$$

2つのスコアの統合

意味的スコアと字句スコアはスケールが異なるため、それぞれ候補集合 $C_q$ 内での平均・標準偏差を用いた \(z\)-score 正規化を行い、最終スコアとして統合します。

$$s_{\text{SkillSight}}(q, d) = \tilde{s}_\perp(q, d) + \left[\tilde{s}_{lex}(q, d)\right]_+ \hspace{3mm} (\text{※} [x]_+ = \max(x, 0) \text{を意味します})$$

この数式は、意味的スコアを主軸としつつ、候補集合内で平均以上に字句が一致している文書のみを加点対象とすることを意味します。平均以下の文書に対するペナルティ(減点)は行われず、仮に候補集合内で字句スコアに顕著な差がない場合は加点がゼロとなり、純粋に意味的スコアのみでランキングが決定されます。

4. 実験結果

実験設定とベースライン

検証には、約5,400件のクエリと約26,000件の候補スキルを持つ SRA-Bench と、より大規模な約77,000件の候補スキルを持つ SkillBench-Supp の2つのベンチマークを使用しています。

比較対象には、BM25SPLADE などのスパース検索、Qwen3-Embedding-0.6B を用いた Dense RetrievalColBERTv2、埋め込み空間の共通方向を除去する ABTT、Dense-sparse 融合の BGE-M3 Hybrid、さらに Qwen3-Reranker-0.6B による2段階リランキング(Dense + Reranker)まで、多角的な検索手法が含まれます。

手法SRA-Bench R@10SRA-Bench Latency (ms)SkillBench-Supp R@10SkillBench-Supp Latency (ms)
Dense66.020.1356.560.57
Dense + Reranker77.181,460.3556.831,740.79
SkillSight86.231.1764.242.57

精度向上と圧倒的な処理速度

SkillSight は、SRA-Bench において Recall@10 を素の Dense Retrieval(66.02)から 86.23(+20.21ポイント) へ大幅に引き上げました。また SkillBench-Supp においても 56.56 から 64.24(+7.68ポイント) へ向上させており、Hit@5 や MRR@10 の各指標においても Dense + Reranker を一貫して上回っています。

特筆すべきはその処理速度です。レイテンシは SRA-Bench で 1.17 ミリ秒、SkillBench-Supp で 2.57 ミリ秒にとどまり、Dense + Reranker と比較して 677〜1,248倍高速、より軽量な Dense–BM25 RRF と比べても 85〜143倍高速です。

  • 高速動作の理由: SBC で用いる背景部分空間や射影済みの文書表現をあらかじめオフラインで事前計算できるためです。オンライン(検索時)に追加発生する計算処理は、クエリの射影と絞り込んだ候補内でのキーワード照合のみで完結します。

End-to-End エージェント評価での効果

実際のタスク実行環境(end-to-end 評価)では、上位50件の BM25 候補から自身で1つのスキルを選び出す「LLM Selection」および、推論の途中で必要に応じてスキルの全文を読み込む「Progressive Disclosure」という2つの既存戦略と比較検証を行いました。

3つのモデル(Llama-3.1-8B-Instruct / GPT-5.4-mini / Qwen3-4B-Instruct)および6つのベンチマークタスク(TheoremQA, LogicBench, ToolQA, CHAMP, MedCalc, BigCodeBench)で検証した結果、正解スキルを直接与えない non-oracle 設定において、SkillSight はすべてのモデルで最も高い Overall スコアを記録し、LLM Selection に対してそれぞれ 4.97、1.84、4.28 ポイントの差をつけました。

  • 非力なモデルほど効果を発揮: 機能説明が似ていても操作や呼び出し条件が細かく異なるスキルが多い ToolQA タスクでは、Llama-3.1-8B で +10.21ポイント、Qwen3-4B で +5.46ポイント と大きな差が現れました。モデル自身の推論能力が限られるほど、リトリーバー側の検索精度がシステムのボトルネックになりやすいことを示しています。
  • リソース削減: LLM Selection と比較して、処理のレイテンシは 8.0〜64.0% 削減、消費トークン数も 6.7〜13.1% 削減 されています。

特化型検索器との比較と高い汎用性

専用に事前学習されたスキル検索器との比較では、SkillRouter に対して SRA-Bench で Recall@10 を 15.84ポイント上回りつつ 1,397倍高速 という結果を示しました。一方、SkillBench-Supp では SkillRouter が 2.13 ポイント上回る場面もありましたが、この場合も SkillSight は 716倍高速 で動作しており、精度と速度のバランスにおいて実用上非常に強力な位置づけとなります。

さらに、Qwen3・SkillRouter・SkillRet という3種類の異なる埋め込みモデルそれぞれに SkillSight を適用したところ、SRA-Bench で 8.21〜21.80ポイント、SkillBench-Supp で 2.62〜7.68ポイント の改善が一貫して確認されました。特定の埋め込みモデルに依存することなく適用できる、非常に汎用性の高い補正手法であると言えます。

5. アブレーションについて

SBCとLECの寄与度分析

SBC と LEC それぞれのコンポーネントがどれほど寄与しているかを分解・検証した結果は以下の通りです。

構成MRR@10役割と特徴
SkillSight(フル構成)74.02SBC と LEC の組み合わせで最高の精度を達成
SBC のみ(LEC除外)65.77大まかなランキング精度を強力に維持
LEC のみ(SBC除外)54.28単独では限定的だが、微細な順位付けを補完

このスコアの変化から、背景部分空間を除去する SBC が検索全体の精度向上に支配的な役割を果たしており、LEC は意味的に酷似した候補同士の順序を整える補完的な働きをしていることが分かります。

また、単独での拡張性も優れています。

  • Dense retrieval + LEC のみ: スコアが 66.02 から 79.76 へ向上
  • BM25 + SBC のみ: スコアが 63.51 から 75.41 へ向上

このように、dense(埋め込み)と sparse(キーワード)のどちらをベースにする場合でも、各補正機能は単体で確実な改善効果をもたらします。

背景部分空間を作るトークン選定の検証

背景部分空間を推定する際に「どのトークンを抽出・利用すべきか」という設計判断についても検証が行われています。

  • 低 IDF の汎用トークン(採用案): Recall@10 = 86.23(最良)
  • 高 IDF トークン(レア語): Recall@10 = 79.48 に急落
  • 全トークン / ランダム選択: 再現率はある程度保たれるものの、Hit@5 や MRR@10 の上位精度が低下

この結果は、「頻出する定型的な言い回し・書きぶりだけ」を狙い撃ちして背景部分空間を構築するという設計アプローチの正しさを強く裏付けています。

実用・運用面でのインサイト

システム構築や運用の観点からも、重要な知見がいくつか得られています。

  • 最適な提示候補数(Top-\(k\))の選定
    • エージェントに渡す候補数(Top-\(k\))を 1 から 3 に増やすと精度は著しく向上します。しかし、3 を超えて拡張するとレイテンシが増大するだけでなく、「機能説明の雰囲気が似ているだけの無関係なスキル」が混入し始め、かえってエージェントの判断精度を落とす原因となります。
    • 精度・候補同士の干渉・推論コストのトレードオフを考慮した結果、システム全体として Top-3 をデフォルト設定とする構成が最適とされています。
  • 既存システムへの導入容易性
    • SBC で使用する背景部分空間や文書側の射影ベクトルは、スキルコーパスが更新されない限り、あらかじめオフラインで1度計算しておくだけで済みます。
    • オンライン側では簡単な計算処理しか発生しないため、すでに運用している Dense retriever のインデックス構造を崩すことなく、後処理プラグインとして極めてスムーズに組み込むことが可能です。
図4. Top-k設定別のend-to-end精度・レイテンシのトレードオフ(Qwen3-4B-Instruct、SRA-Bench)。丸がSkillSight、四角がベースライン。星印がデフォルト設定のTop-3。

6. 限界とトレードオフ

SkillSight は非常に強力な成果を示しているものの、あらゆる環境で無条件に万能というわけではありません。

大規模コーパスである SkillBench-Supp においては Recall@10 こそ大きく改善するものの、Hit@5 や MRR@10 の伸び幅は SRA-Bench に比べるとやや控えめであり、上位ランクの精度改善効果にはデータセットの特性に依存する側面が存在します。また、専用に事前学習された SkillRouter と比較すると、大規模環境の SkillBench-Supp では 2.13 ポイント下回る結果となっており、学習ベースの手法が持つ精度の天井を常に超えられるわけではない点には留意が必要です。

また運用面においても、考慮すべき注意点があります。SBC が依拠する背景部分空間や、LEC で用いる IDF・出現率の統計情報は、いずれもコーパス全体を一括集計した値に基づいています。そのため、スキルの追加や削除が頻繁に発生する動的な環境では、これらの統計量を定期的に再計算するコストと、更新の即時性との間にトレードオフが生じます。

動的に変動し続けるスキルライブラリへの即時追従や、背景表現を検索モデル自体に組み込んで学習させるアプローチは、今後のさらなる発展課題と言えます。したがって現時点における SkillSight は、「比較的構成が安定したスキルライブラリに対して、後付けで適用する高性能な補正プラグイン」という位置づけで捉えておくのが最も実用的です。

おわりに

本記事で解説した SkillSight は、「スキル文書には定型的な説明パターンが多く含まれ、それが Dense Retrieval のスコアを歪めてしまう」という丁寧な問題分析から出発し、意味表現の射影とキーワード重みの両面からバイアスを補正するシンプルな設計となっています。

特に魅力的なのは、大がかりな新規モデルを構築するのではなく、既存の Dense Retriever に後付けできる軽量な補正のみで Recall を20ポイント以上も改善している点です。追加学習やモデル推論を一切必要とせず既存の検索基盤へそのまま乗せられ、Dense + Reranker より最大 1,248 倍高速で動作するという結果は、精度と推論コストの双方を追求するエージェントシステムの実装において非常に具体的な示唆を与えてくれます。

実務でエージェントのスキルライブラリを設計する際には、まず素の Dense Retrieval による検索結果に対し、実際どの程度「説明文が似ているだけの紛らわしい候補」が混入しているかを検証するのが第一歩となります。その上で Recall が伸び悩む場合に、SBC・LEC のような軽量な後処理プラグインを段階的に導入するのが現実的でスマートなアプローチと言えそうです。

一方で、スキルライブラリが頻繁に更新される動的な環境や、さらに高い上位ランク精度が要求される場面では、専用の学習ベース手法との使い分けや併用も視野に入ります。動的なライブラリ更新への即時対応や、背景表現自体のモデルへの統合など、今後の更なる発展可能性も含めて、エージェント向け検索技術の進化に引き続き注目していきたいところです。

More Information