# LLM比較器
## 定義
LLM比較器(LLM-as-comparator)は、2 つ以上のアイテムを入力として受け取り「どちらが優れるか/どの順に並べるか」を判定する役割を LLM に担わせる設計パターンである。従来の比較関数が数値計算で実装されるのに対し、LLM 比較器はプロンプトで表現された主観的・曖昧な基準を扱える。(Source: [[joisino-LLMでソート-2026]])
LLM 比較器の出力は、ソートアルゴリズムの比較演算子として機能する。Python では `functools.cmp_to_key` でラップすることで標準ライブラリのソートに接続できる。
## 特性と限界
### LLM コンパレータの利点
- **主観的・曖昧な基準を扱える**: 「好み」「感情的傾向」「政治的スタンス」など、数値化困難な概念を比較できる
- **汎用性**: 専用モデルの学習なしに、プロンプトの書き換えだけで比較基準を変更できる
- **相対比較の安定性**: 絶対評価(ポイントワイズ法)よりも相対比較の方が LLM にとって容易で安定する。差が小さく微妙なニュアンスが重要な場面で特に顕著
### LLM コンパレータの限界
1. **非推移性**: $A \succ B$, $B \succ C$ でも $A \succ C$ が成立する保証がない。厳密なソートは不可能
2. **非対称性の欠如(位置バイアス)**: `llm(a, b)` と `llm(b, a)` の結果が食い違うことがある。提示順序による優劣判定の逆転が実証されている(Zheng+ NeurIPS Datasets 2023)
3. **呼び出しコスト**: ソート $n$ 件には $O(n \log n)$ 回の LLM 呼び出しが必要。経済的・時間的コストが従来のソートと桁違いに大きい
4. **一貫性の欠如**: 同一の入力ペアでも呼び出しのたびに結果が変わりうる(確率的生成)
## 公理的枠組みと逸脱
ソートアルゴリズムは比較関数が以下の 3 公理を満たすと仮定する:
- **反対称性**: $a \succ b$ かつ $b \succ a$ なら $a = b$
- **推移性**: $a \succ b$ かつ $b \succ c$ なら $a \succ c$
- **完全性**: $a \succ b$ または $b \succ a$ のいずれかが必ず成立
LLM 比較器はこのいずれも保証しない。これを無視してソートアルゴリズムを実行すると、アルゴリズムによっては無限ループや停止不能が発生しうる。
## 非推移性への対処
非推移的な比較結果の全体整列は**フィードバックアーク集合問題**(feedback arc set problem on tournaments, Ailon+ JACM 2008)として定式化される。$n$ 要素と $\binom{n}{2}$ 個のペア比較結果が与えられたとき、矛盾するペア比較を最小化する並び順を求める問題(NP 困難)。
実用的な近似: **KwikSort**(ランダムピボットのクイックソート)が期待近似度 3 を達成する。ランダム pivot を選び、その pivot との比較結果のみで左右に分割して再帰的にソートする。
## コストモデルの特殊性
LLM 比較器は「2 件の比較」も「$c$ 件の一括比較」もほぼ同じ 1 回の呼び出しで処理できる。これは古典的な計算モデル($c$ 件の比較には $\Omega(c)$ コスト)と異なり、**セットワイズ法**($c$ 件一括比較)・**$(c-1)$ 分ヒープ**(Zhuang+ SIGIR 2024)という新しい最適化を生む。
## 横断的知見
- **「汚い比較関数」との組み合わせが効果的**: Bai+ NeurIPS 2023 の Sorting with Predictions フレームワークでは、低コストなルールベース比較を前段に置くことで LLM 呼び出し回数を $O(n)$ に削減できる(予測が良い場合)。LLM 比較器は本命として少数回のみ呼び出す構造が理想的(Source: [[joisino-LLMでソート-2026]])
## 未解決の問い
- LLM 比較器の非一貫性(確率的応答)は、複数回呼び出してマジョリティボートを取ることで軽減できるか。そのコスト対効果は。
- LLM の位置バイアスはモデルアーキテクチャ(デコーダのみ/エンコーダ-デコーダ)によって異なるか。
- LLM を比較器として特化学習(ファインチューニング)したモデルは、汎用 LLM と比べてどの公理違反が減少するか。
## 関連
- [[LLMランキング]] — 比較器を用いたランキング手法全体
- [[pairwiseランキング]] — LLM 比較器の主要な応用パターン
- [[LLM評価]] — LLM の品質を別の LLM で評価する「LLM-as-judge」パターンと構造的に類似
## 出典
- [[joisino-LLMでソート-2026]]
- Ailon+ JACM 2008: feedback arc set problem, KwikSort
- Zheng+ NeurIPS Datasets 2023: 位置バイアス実証
- Zhuang+ SIGIR 2024: $(c-1)$ 分ヒープ
- Bai+ NeurIPS 2023: Sorting with Predictions