9月25日、Michal Sutterが「Perplexity Trains Its Computer Agent on Real Mistakes With Hint-Guided Self-Distillation」と題した記事を公開した。Perplexityが実際のユーザーセッションの失敗事例をヒント付き自己蒸留で学習させることで、ツール呼び出し失敗率を21.2%削減することに成功した手法が詳しく紹介されている。AIエージェントの後学習における「失敗を捨てる」という業界慣行に正面から挑んだ研究として注目に値する。
「成功事例だけ学ぶ」の何が問題か
AIエージェントの後学習(post-training)では、成功したセッションのみを模倣する拒絶サンプリングファインチューニング(Rejection Sampling Fine-Tuning / RFT)が一般的だ。RFTとは、モデルが生成した複数の出力候補のうち正解に到達したものだけを選別し、それらを訓練データとして再学習させる手法である。AutoGPTやToolFormerをはじめとする多くのAIエージェント研究でも広く採用されてきた主流アプローチだ。
しかしこの手法には根本的な欠陥がある。エージェントは途中で誤ったツール呼び出しをしても、最終的に正解を返すことがある。その場合、「誤り→リカバリー」という全軌跡を模倣することになり、誤った行動パターンまで強化してしまう。また失敗セッションを丸ごと捨てると、「何が間違いだったか」という明確な情報も失う。AIエージェント市場が急拡大し、ツール呼び出しの精度がサービス品質に直結するようになった今、この問題への対処は業界全体の課題でもある。
Perplexityの研究チームは、この問題をヒント誘導型自己蒸留(Hint-Guided Self-Distillation)で解決しようとした。
手法の核心:3種類のターン処理
手法の設計は「どのセッションを模倣するか」と「どのターンの誤りを修正するか」を分離している点にある。各アシスタントターンは以下の3種類のいずれかとして扱われる:
- Imitate(模倣):成功セッション内のエラーなしターン。クロスエントロピー(CE)損失で学習。
- Correct(修正):検証済みのヒントが付いたエラーターン(セッションの成否を問わない)。KLダイバージェンス損失で学習。
- Keep as context(文脈保持):残りのターン。入力には含めるが損失は与えない。
失敗セッションも「修正ターン」として活用できるため、捨てられることなく学習に貢献する。
なお、ここで登場するKLダイバージェンス(Kullback–Leibler divergence)とは、2つの確率分布の「ずれ」を定量化する指標だ。本手法では、ヒントありのTeacherモデルとヒントなしのStudentモデルの出力分布のずれを最小化するために使われる。
ヒントが訓練シグナルになるまで
ここが技術的に最も興味深い部分だ。
「ヒント」とは、モデルがすでに持っていた情報に基づいた短い修正指示である。たとえば、あるセッションで検索ツールのrecency_filterに'year'という値が渡されたが、スキーマが許容するのは'day'、'week'、'month'のみだった。この場合のヒントは「失敗した呼び出し、バリデーションエラー、許容値または省略の提案」を含む。重要なのは、ヒントは事後的な知識(hindsight)に基づかない点だ。ミスの前に利用可能だった情報のみを使うことで、訓練バイアスを抑えている。
修正の仕組みはOn-Policy Self-Distillation(OPSD)を使う。同じGLM 5.2チェックポイントを2回実行する。
- Teacher pass:ヒントを見た状態で実行し、正解に近い次トークン確率分布を生成する
- Student pass:ヒントなしで実行し、Teacherの分布を soft target として学ぶ
Teacher passではteacher forcingという手法を用いる。これは、モデルの推論時に前ステップの予測ではなく正解トークンを強制的に入力として与えることで、出力の確率分布を安定して計算できるようにする技術だ。ここでの役割は「Teacherが各位置でどの次トークンを出力すべきかの分布を効率よく得ること」であり、別途サンプリングで代替の回答文を生成するコストをかけずに済む。StudentはこのTeacherの分布をforward KLにより近似することで、ヒントなしの状態でもより正確なツール呼び出しを学習する。
総損失は **CE + λ × KL**(模倣トークン数で除算)。λを0にすれば通常のSFTと等価になる。CE項は修正学習だけではモデルが文脈を無視してしまうリスクを防ぐための安全弁として機能する。
実際の数字:どれだけ改善したか
オフライン評価では、ツールエラー率がベースのGLM 5.2の2.79%から、RFT単体で1.35%、RFT+OPSDで**0.87%**まで下がった。ただし各チェックポイントの訓練データが異なるため、厳密なアブレーション比較ではないとPerplexityは断りを入れている。
ライブA/Bテスト(各条件約10万ユーザー)では:
- 初期チェックポイント vs ベースGLM 5.2:2.82% vs 2.94%(統計的に非有意)
- 後期チェックポイント vs 前チェックポイント:1.77% vs 2.24%(21.2%削減、統計的に有意)
一方、ユーザーの強い不満の割合(Strong dissatisfaction)は2.58%→2.54%で、有意差なし。ツール呼び出し失敗の削減がユーザー満足度の改善に直結しているわけではない点は、今後の課題として残る。
ヒント自体の有効性も確認されている。985件のツールエラーターンに対し、ヒントを与えた場合の元の失敗回避率は75.1%から**93.7%**に向上した。
利用可能性と今後
ベースモデルであるGLM 5.2はHugging Faceで公開されているが、後学習済みの重みや訓練コードは非公開だ。このモデルは現時点でPerplexity Computer内のモデルオプションとしてのみ動作する。Perplexity Computerは、ブラウザ操作やファイル処理などをAIが自律的に実行するコンピュータ操作エージェントサービスであり、OpenAI OperatorやAnthropic Claudeのコンピュータ使用機能と競合する製品として位置づけられる。こうした製品においてツール呼び出しの精度は核心的な品質指標であり、今回の研究はその改善を実運用データで実証した点で意義が大きい。再現性という観点では訓練コード非公開という制約があるものの、手法の設計思想自体は他のエージェント開発にも応用できる可能性がある。
技術的な詳細はPerplexityの公式ブログに掲載されている。
詳細はPerplexity Trains Its Computer Agent on Real Mistakes With Hint-Guided Self-Distillationを参照していただきたい。