生成人工知能(AI)で人気が高まっているトレンドに、「エージェント」機能をAIモデルに搭載するというものがある。これはデータベースやライブサーチ機能を備えたウェブブラウザーのような外部のプログラムを利用できる機能だ。
OpenAIは2023年11月に「Assistant」APIを導入し、AIエージェントという概念を世に広めた。これは開発したアプリケーションのために、特定の機能を呼び出すことをより容易にするためのものだ。さらに米国時間5月30日には、OpenAIと競合するAnthropicが、「Claude」向けの「Tool use」の一般提供を開始し、開発者からの関心を高めようとしている。Tool useは、「AIを外部のツールやサービスと統合し、作業の自動化やおすすめ項目のパーソナライズ、データ分析の効率化」を行うように設計されているという。
Anthropicは、3月に「Claude 3」シリーズモデルを導入した際に、Tool use(関数呼び出しという名でも知られる)を初公開した。ベータ版のTool useの利用方法を紹介した、かなり充実した内容の開発者向けのユーザーガイドもすでに公開されている。
30日の発表をもって、Tool useはベータ版の状態を脱し、Anthropicの「Messages API」や、「Amazon Bedrock」ならびにGoogleの「Vertex AI」を通じて提供される。
以下にTool useの動く仕組みを説明しよう。例えば、「ニューヨークの現在の天気は?」というプロンプトを入力すると、Claudeがこれを解釈して、天気に関するデータを返す天気アプリなど、要求される機能を実行するアプリへのAPIコールを生成する。そうしたアプリの出力データがメッセージとして送り返されたのち、Claudeがこれを自然言語を用いた回答に変換してユーザーに提供する。
シェルスクリプトの例。このスクリプトは、Claudeにツール定義を提供し、ユーザープロンプトを与える。このプロンプトがClaudeによって解釈され、ツール選択に利用される。
提供:Anthropic
呼び出すアプリや都市名のようなパラメーターの渡し方は、Claudeが作成可能なJSONかPythonのどちらかのコールで示される。
Anthropicは、実際の情報を返すアプリ(上記の例では天気アプリ)については、同社が提供していない点を強調している。これについては、開発者が提供する必要がある。また、Claudeはアプリに直接アクセスするのではなく、アプリへのリクエストを送り、アプリから返されたデータを受け取るだけだ。開発者は、Claudeに特定のツールを使用させることも、プロンプトを解釈してツールを選ぶように設定することもできる。
Claudeには「Haiku」「Sonnet」「Opus」という3つのモデルがあり、ツールリクエスト作成に関する洗練度はそれぞれに異なる、とAnthropicは説明している。
「Opusは最も同時性が高いツールに対応可能で、他のモデルと比べて、抜けている引数の把握に優れている。因数が明示されていない曖昧なケースや、ユーザーリクエストの入力にツールが不要とも考えられる場合に、状況を明確にするための指示を求める傾向が比較的強い。Haikuはデフォルトで、(該当のクエリーに関連がなくても)より頻繁にツールを利用しようとし、明示されていなくても、抜けている引数を推論する」
このような基本構成は、多くの枠組みに拡張できる。その例としては、生成AIを既知の優れたデータソースに基づかせる一般的なアプローチである、検索拡張生成(RAG:Retrieval Augmented Generation)用のデータベースへのクエリーなどがある。
提供:Anthropic
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。