【簡単AI論文】AnyTool: Self-Reflective, Hierarchical Agents for Large-Scale API Calls (Microsoft)
この論文は、人工知能(AI)の一種である大規模言語モデル(LLM)が、さまざまなツールを使ってユーザーの質問に答える方法について書かれたものです。
しかし、LLMは、正確な数字や専門的な知識については間違えやすいです。
そこで、この論文では、LLMがツールを使って、正確な答えを出すことができるようにする方法を提案しています。
ツールとは、インターネット上にあるAPIと呼ばれるもので、特定の機能を提供するプログラムのことです。
例えば、天気予報や為替レートや画像認識などのAPIがあります。
LLMがこれらのAPIを呼び出して、ユーザーの質問に答えることができれば、より正確で役に立つ回答ができるというわけです。
この論文で提案されている方法は、AnyToolという名前で、以下のような特徴があります。
1.外部のモジュールを訓練する必要がなく、GPT-4の機能だけで動作します。
GPT-4には、関数呼び出しという機能があり、APIの名前やパラメータを入力すると、APIの結果を返してくれます。
AnyToolは、この機能を利用して、APIを探したり使ったりします。
2.16,000以上もあるAPIの中から、ユーザーの質問に関係するものを探すために、階層的な構造を持ちます。
APIは、Rapid APIというサイトで、カテゴリやツールという単位で分類されています。
AnyToolは、この分類に従って、メタエージェント、カテゴリエージェント、ツールエージェントという3種類のエージェントを作ります。
エージェントとは、LLMが特定の役割を果たすために作る仮想的な存在です。
メタエージェントは、ユーザーの質問に合わせて、カテゴリエージェントを作ります。
カテゴリエージェントは、自分の担当するカテゴリに含まれるツールの中から、関係するものを選んで、ツールエージェントを作ります。
ツールエージェントは、自分の担当するツールに含まれるAPIの中から、解決に役立つものを選んで、API候補プールというものに入れます。
このようにして、AnyToolは、大きなAPIの集合を分割して、効率的に探索することができます。
3.自己反省という機構を持ちます。
これは、最初に提案した解決策がユーザーの質問に答えられなかった場合に、AnyToolが自分の行動を振り返って、改善する方法です。
自己反省は、APIの探索と解決の両方に適用されます。
APIの探索では、失敗の理由や歴史的な文脈を考慮して、エージェントを再活性化して、API候補プールを拡張します。
解決では、不適切なAPIや不足している情報を特定して、API候補プールや文脈を更新します。
このようにして、AnyToolは、より深くて広い探索を行うことができます。
4.現実的なシナリオに合わせた評価方法を提案します。
以前の研究では、API候補の選択と解決の2段階で評価を行っていましたが、これは不適切なAPI候補を選んだ場合に、過剰に高い評価になるという欠点がありました。
そこで、AnyToolでは、API候補の選択は評価しないで、解決のみを評価します。
つまり、AnyToolが提案した解決策が、ユーザーの質問に答えられるかどうかを、GPT-4に判断してもらいます。
この方法は、実際にAnyToolを使う場合に近い評価になります。
この記事が気に入ったらサポートをしてみませんか?