Mitigating Errors in LLM-Generated Web API Invocations via Retrieval-Augmented Generation and Constrained Decoding
本論文は、LLMが生成するWeb API呼び出しの正確性を向上させるための補完的な戦略として、検索拡張生成(RAG)と制約付きデコーディング(CD)を提案および評価し、RAGはフル呼び出し生成におけるハルシネーションの抑制に効果的である一方で、CDは不正なパラメータの防止においてより信頼性の高い手段を提供し、異なるシナリオ全体で全体的な正確性を大幅に向上させることを明らかにしている。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたは家を建てようとしていると想像してください。しかし、熟練の建築家を雇う代わりに、非常に賢く、博識ではあるものの、少し注意散漫な助手(大規模言語モデル、すなわちLLM)に設計図を書いてもらうことにしました。
問題は、この家を建てるための「ルール」が助手の頭の中には入っていないことです。それらは、OpenAPI仕様書と呼ばれる巨大で複雑なマニュアル(どのドアを開け、どの鍵を使い、どのサイズのレンガを注文すべきかを正確に指示する文書)に書かれています。
もしあなたが助手に単に「ドアを作って」と頼んだとしたら、助手は間違ったサイズを選んだり、間違った鍵を使ったり、あるいはマニュアルに存在しないドアを勝手に作り出したりするかもしれません。これは**ハルシネーション(幻覚)**と呼ばれます。
この論文は、その助手が勝手にルールを捏造するのをやめ、マニュアルを完璧に遵守させるために、2つの特定のツールを授ける方法について述べています。
問題点:「推測ゲーム」
研究者たちは、AIモデルにウェブサービス(Slackにメッセージを送ったり、Googleカレンダーをチェックしたりするなど)に接続するためのコードを書かせた際、AIが絶えずミスを犯すことを発見しました。
- 間違った「ドア」(エンドポイント)を選んでしまう。
- 存在しない鍵を使おうとする。
- マニュアルにない機能を勝手に作り出す。
解決策:2つの新しいツール
研究者たちは、実際のコーディングタスクのデータセットを用いて、これを修正するための2つの異なる方法をテストしました。
ツール1:「カンニングペーパー」(検索拡張生成 - RAG)
比喩: あなたがテストを受けていると想像してください。ただし、教科書の特定のページを教室に持ち込むことが許可されています。AIが答えを書く前に、ロボット司書(リトリーバー)が膨大なマニュアルの中から、あなたが必要としている「ドア」に関する正確なページを見つけ出し、AIに手渡します。
- 仕組み: 研究者たちは、APIマニュアルの関連部分を抽出して、AIのプロンプトの中に貼り付けるシステムを構築しました。
- 結果: 評価はまちまちでした。
- 良かった点: AIが「どの」ドアを選ぶべきか分からないとき、カンニングペーパーは正しいものを見つける助けとなりました。これにより、AIが偽のドアを捏造することを防ぎました。
- 悪かった点: AIがすでにどのドアを選ぶべきかを「知っている」場合、カンニングペラーは逆にAIを混乱させることがありました。AIはカンニングペーパーにある20個の候補を見て、「これらすべてを使うべきだ!」と考えてしまったのです。たとえそのタスクに一つだけで済む場合でもです。これにより、コードは乱雑で不正確なものになりました。
- 結論: 正しい経路を見つけるのには役立ちますが、AIが必要のないオプションまで使おうとする「過剰な意欲」を持たせてしまうことがあります。
ツール2:「線路」(制約付きデコーディング - CD)
比喩: AIを列車だと想像してください。通常、列車は地図上のどこへでも行けますし、線路を外れて沼地へ突っ込むこともできます(これがハルシネーションです)。**制約付きデコーディング(Constrained Decoding)**は、有効な目的地にのみ通じる鋼鉄の線路を敷くようなものです。列車は物理的に線路を外れることができません。
- 仕組み: 研究者たちはマニュアルを取り込み、それを厳格なルール(迷路のようなもの)に変換しました。AIがコードの次の単語を打ち込もうとするたびに、システムはこうチェックします。「この単語はルールによって許可されているか?」もしAIが偽のドアや間違ったキーを打とうとした場合、システムはそれをブロックし、AIに有効な選択肢を選ばせるよう強制します。
- 結果: こちらが明確な勝者でした。
- ハルシネーション・ゼロ: AIは、偽のURL、メソッド、または引数を一つも捏造することができませんでした。ルールを破ることは数学的に不可能でした。
- 精度の向上: 勝手に物事を捏造できないため、書かれたコードが正解となる確率が大幅に高まりました。
- 結論: これが最も信頼できるツールです。AIにマニュアルへの服従を強制します。
コンボ:「カンニングペーパー」+「線路」
研究者たちは、これら2つのツールを同時に使うことも試みました。
- 結果: 一部のモデルでは非常にうまく機能し、最高スコアを記録しました。しかし、一貫性はありませんでした。時として「カンニングペーパー」がAIに多くのオプションを使わせようとし、「線路」が「不正な」動きを阻止したとしても、AIは依然として「不必要な」動きをしてしまうことがありました。
- 結論: 強力ではありますが、「線路」単体の方がより安全で一貫しています。
まとめ
この論文は、AIはコードを書くことには長けているが、複雑な外部ルールブックに従うことに関しては非常に苦手であると結論付けています。
- **RAG(カンニングペーパー)**は、AIに参考書を与えるようなものです。助けにはなりますが、AIが多すぎる情報に気を取られてしまう可能性があります。
- **CD(線路)**は、AIの周りに、有効な動きしか許されない檻を作るようなものです。これは、AIがルールを捏造するのを止めるための最も効果的な方法です。
研究者たちは、AIに壊れることなくウェブサービスに接続するコードを書かせたいのであれば、単にAIの記憶力に頼るべきではないと言っています。適切なマニュアルを与える(RAG)、あるいはさらに優れた方法として、ルールを厳格に守らせる(CD)必要があります。「線路」のアプローチこそが、コードが実際に動作することを保証するための最も信頼できる方法なのです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。