The Batch に掲載され「Andrew」と署名されたこの短いレターは、エージェント型デザインパターンに関するシリーズの第 3 回である。レターはツール利用(関数呼び出し)を、情報の収集、アクションの実行、データの操作のために、LLM に呼び出しを要求できる関数を与えるパターンとして定義し、これを AI のエージェント型ワークフローの主要なデザインパターンと呼んでいる。レターによれば、このパターンは、一般消費者向けの大規模な LLM の一部がすでに組み込んでいるウェブ検索やコード実行をはるかに超えるものである。
レターはこの仕組みを 2 つの例で説明する。レビュアーの評価が最も高いコーヒーメーカーはどれかと尋ねられた LLM は、ウェブ検索を実行することにするかもしれない。LLM はファインチューニングされるか、あるいはプロンプトで(場合によっては few-shot プロンプティングで)指示されて、検索エンジンの呼び出しを要求する特別な文字列を生成する。後処理のステップがその文字列を検出し、適切なパラメータで検索関数を呼び出して、その結果を追加のコンテキストとして LLM に返す。100 ドルを年利 7% の複利で 12 年運用するといくらになるかと尋ねられた場合には、transformer ネットワークで答えを直接生成するのではなく、コード実行ツールを使って Python の式を実行するかもしれない。レターによれば、直接生成では正しい答えが得られる見込みは低い。
要点
- レターによれば、LLM の開発者は早い段階で、事前学習済みの transformer に出力トークンを生成させるだけでは限界があること、そして LLM にウェブ検索ツールを与えればはるかに多くのことができるようになることに気づいた。
- レターは、ツール要求の文字列の正確な形式は実装によって異なると述べている。
- レターによれば、開発者はいまや関数を使って、さまざまな情報源を検索したり、メールやカレンダーといった生産性ツールと連携したり、画像を生成・解釈したりしている。LLM には多数の関数について、それぞれが何をし、どのような引数を想定しているかを詳しく説明したプロンプトを与えることができ、LLM は仕事に応じて適切な関数を選ぶことが期待される。
- LLM が数百ものツールにアクセスでき、そのすべてがコンテキストに収まらない場合には、現在のステップに最も関連するサブセットを選ぶためにヒューリスティクスが使われることがあるとレターは述べ、これを検索拡張生成(retrieval augmented generation)システムがコンテキストに含めるテキストのサブセットを選ぶやり方になぞらえている。
- レターは、大規模マルチモーダルモデルが広く利用できるようになる以前は LLM が画像を直接処理できなかったため、初期のツール利用の研究の多くはコンピュータビジョンのコミュニティから生まれたと指摘している。そこでは、物体認識のような関数を呼び出すことが、LLM ベースのシステムが画像を扱う唯一の方法だった。
- レターは、レターの前年の半ばにリリースされた GPT-4 の関数呼び出し機能を、汎用的な実装に向けた重要な一歩と呼び、それ以来、同じようにツール利用を器用にこなせるよう開発される LLM がますます増えていると述べている。
背景
レターは、ツール利用についてさらに学びたい読者に 3 本の研究論文を薦めている。また、ツール利用を、シリーズの前回のレターで取り上げたリフレクションと並べて、著者が自身のアプリケーションでかなり確実に機能させられるデザインパターンと位置づけている。そして、今後のレターではプランニングとマルチエージェント協調のパターンを取り上げると予告し、これらは AI エージェントにはるかに多くのことを可能にするが、成熟度が低く予測可能性も低いと説明している。