見出し画像

【簡単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を使う場合に近い評価になります。

この記事が気に入ったらサポートをしてみませんか?