top of page
Search

AIエージェントの汎用性を高めるフレームワーク:DynaSaur

Writer: Shingo SakamotoShingo Sakamoto

2024年末ごろから、「AIエージェント」というキーワードを聞く機会が増えてきました。2024年12月30日の日本経済新聞の記事「25年はAIエージェントが働く アポも資料作成も自律的に」 では、Google・Microsoft・Amazon・Apple等、名だたる企業がAIエージェントに言及していることに注目し、2025年はAIエージェントがより普及していく年になるのではないかと予想しています。


そこで、今回はAIエージェントに関連する興味深い論文を1つご紹介します。

(Source: ChatGPTで筆者が作成)


AIエージェントとは何か?

文脈にもよりますが、一般的に、AIエージェントはAIをベースとして自律的に行動するシステムのことを指します。例えば「予算10万円で夫婦二人の北海道旅行の計画を立てて」というタスクをAIエージェントに依頼することを考えます。このシチュエーションでAIエージェントに期待される行動は、Webから情報を収集して、適切なプランを策定し、旅行サイトで航空券やホテルを予約することです。このように、AIエージェントはチャットやコンテンツ生成といった特定の役割を果たすサービスを超えて、より複雑なタスクを人間が介在することなく実施できる点に特徴があります。


では、AIエージェントはユーザーの抽象的な依頼にどのように対応するのでしょうか。Google傘下のKaggle(データサイエンスと機械学習に特化したコンペティションプラットフォーム)が最近発表したエージェントに関するホワイトペーパーによると、AIエージェントはオーケストレーション、モデル、ツールという要素から構成されます。オーケストレーションには、役割や指示の定義、メモリの活用、推論・計画等、モデルを統括しうまく扱うための技術が含まれています。ReActやReflectionといった自己反省を促すプロンプトテクニックもオーケストレーションでは利用されています。なお、ReActは言語モデルがタスクを解決する際に推論 (Reasoning) と行動 (Acting) を同時に行うことで、より効果的に問題を解決できるようにする手法、Reflectionとは大規模言語モデル(LLM)が自身の出力を振り返り、改善するプロセスを指しています。ここで、モデルというのは、GPT等のLLMが想定されています。

(Source: https://www.kaggle.com/whitepaper-agents)


AIエージェントが利用できる外部の機能をツールと呼びます。ホワイトペーパー内の例では航空券の予約タスクにおいて、Google Flights、Google検索の実行、実行可能コード、計算機等の外部機能が、AIエージェントが利用可能なツールとして提示されています。エージェントは与えられたタスクを解くためにツール群の中から最適なツールを選択し、適切な入力(例えば、Google検索を行う際の検索キーワード)を与えて操作します。ツールを操作することで得られた結果をLLMにフィードバックとして与えることで次のアクションを生成します。そして、プランの作成とツールの実行を繰り返し実行することで最終的なアウトプットを得ます。


ここで、AIエージェントに与えるツールはあらかじめ人間が考えて定義しておく必要があります。特定のタスクをこなすだけのAIエージェントではツールの準備も容易ですが、タスクが複雑になったり、より広範な課題解決にエージェントを使う場合はどのツールを準備すればよいのか、判断が困難になります。また、使うツールが増えると各ツールのメンテナンスコストもかかるようになります。


以上の要因から、LLMの精度が向上し、オーケストレーションの優れた手法が構築されたとしても、ツールがAIエージェントの精度向上におけるボトルネックになり得ます。人間があらかじめ考えて作成したツール群からしかアクションを選択できないためにAIエージェントがとり得るアクションの幅が著しく制限されてしまうのです。


DynaSaur:ツールをエージェントが作成するフレームワーク

University of MarylandとAdobeの研究部門による論文「DynaSaur : Large Language Agents Beyond Predefined Actions」では一般的なAIエージェントの構成において限られた数のツールしか利用できないことがAIエージェントのアクションの幅を制限している点を課題として挙げています。そこで、AIエージェントがより広範なアクションを取れるようにツール自体をAIエージェントに構築させる仕組みを提案しており、このフレームワークを「DynaSaur」と名付けています。


DynaSaurではアクションが必要なタイミングでAIエージェント自身がツールを作成することができます。ツールの作成は、Web検索から数値計算まで汎用的な用途のコードを書くことができるPythonがベースになっています。各チェックポイントにおいて、必要に応じてAIエージェントはPythonスニペット(スニペットはプログラミングや検索エンジンの結果表示テンプレート)を作成・実行して得られた結果をもとに次のアクションを決定します。また、Pythonスニペットをライブラリに登録しておくことで以前に作成したスニペットを再利用する仕組みも搭載されています。


Pythonスニペットを作成する際はdocstring(コードの中に書かれる説明文で、関数、クラス、モジュール、またはメソッドの目的や使い方を記述したもの)を必ず記述するようにして、ライブラリから目的のスニペットを探しやすくしています。ライブラリからPythonスニペットを探す際は、アクションの目的を文章化して、目的に合致したスニペットが存在するか、文章の類似度検索を行います。この類似度検索のためにdocstringに記載された説明が重宝されるというわけです。なお、目的を満たす関数が見つからない場合はPythonスニペットをゼロから作成し、利用後はライブラリに登録するようにします。


DynaSaurの全体像は次の図のようになります。


まず、あらかじめ人間が準備したアクション「Au」とタスク「u」がエージェントに対する入力として与えられます。ここで「Au」にはタスクをこなす上で必要な初期アクションセットが定義されており、例えば「最終的な回答を出力する」「アクションを検索する」というアクションが「Au」に含まれます。


入力を受け付けたAIエージェントはアクションセットに含まれるアクションを選択し、IPythonカーネル(Jupyter NotebookやJupyter Lab上でPythonコードを実行するエンジン)を経由してアクションを実行します。AIエージェント自身が作成したPythonスニペットの検索、インターネットからの情報取得、OSとのやりとり等のアクションを通じて新しい観察「o」を得ます。得られた「o」をもとに次のアクションを策定して実行する、という具合にサイクルが続いていきます。


DynaSaurの評価にはGAIA(General AI Assistants Benchmarkの略で、AIアシスタントの能力を総合的に評価するためのベンチマーク)が利用されています。AIエージェントが利用できるツールに制限がないこと、テストの評価がシンプルで解釈がしやすいことからGAIAが選択されています。以下の表はGAIAベンチマークの結果であり、執筆当時最先端であった他のエージェントシステムとスコアが比較されています。ベースモデルとしてGPT-4o mini、 GPT-4oを用いた場合のいずれでもDynaSaurが全体的に優れたスコアを記録したことが報告されています。(スコアが高いほど優れている)


DynaSaurが優れたスコアを残すことができた要因として、アクション選択の自由度が高いこと、アクションを再利用可能な形でライブラリに登録できること、初期アクションとしてユーザー定義のアクションセットが与えられていること、等が挙げられています。また、本論文ではさらに、利用できるツールを制限したAIエージェントにタスクを実行させ、タスクに失敗するケースを詳細に分析しています。タスク失敗時の要因分析ではアクションが不十分であることに起因して最終的な出力に失敗するケースが多かったことが明らかになりました。


不十分なアクションがタスク失敗の第一要因となっていることから、DynaSaurの特徴である、「AIエージェント自身がアクションを任意に作成・実行できる」ことが最終的な出力の精度向上に寄与していることが示唆されます。


さらに、論文内では、AIエージェント自身が新しいアクションを任意に作成・実行できることで解決できるタスクの幅が広がる例が示されています。新しいアクションを任意に作成することができず、与えられたアクションの中からアクションを選択するAIエージェントを「Agent A」、追加のアクションを任意に作成・実行できるAIエージェントを「Agent B」として準備し、両者がGAIAベンチマークで問われるタスクを解く様子が比較されています。


このタスクでは、エクセルファイルに記載されたルートをルールに従って辿ることが求められています。「Agent A」は、初期化されたアクションセットの中からエクセルファイルを読みだすアクションを選択していますが、こちらのアクションではセルの色などのメタデータを読みだすことができず、タスクが完遂できませんでした。一方で、「Agent B」は既存のアクションではタスクが解決不可能であることを察して、新しいツールを作成(Pythonスニペットの生成)しています。結果としてタスク解決に必要な情報をエクセルファイルから読み取ることに成功し、正答を導き出すことに成功しています。このように、アクションの作成権限をAIエージェント自身に与えることで解決できるタスクの幅が広がることがケーススタディからも示されています


GAIAで問われるタスクが広範なこともあり、DynaSaurが新たに作成したアクションが特定のタスクに特化したものとなりすぎてしまい、結果として作成されたアクションの多くは汎用性が低く再利用が難しくなってしまう点が課題として挙げられていました。このようにライブラリに登録されたアクション同士の関連性が低い状態は効率が悪い状態ともいえるでしょう(著者らはこの状態をアクションが”sparse”であると表現しています)。この問題に関しては、タスクのカリキュラムを作成して簡単なタスクから徐々に複雑なタスクを解くように構成することで、初期段階で生成したアクションが後に再利用されるように促す方法が対処法として提案されています。


今回はAIエージェントの汎用性を高める手法を検証した「DynaSaur : Large Language Agents Beyond Predefined Actions」という論文をご紹介しました。タスク特化型のAIシステムから汎用的なAIシステムへという流れは今後も続いていくことが考えられます。AIエージェント自体にツールを作成する自由を委譲することはたしかに汎用性を高める可能性を感じさせますが、一方でシステムに過度な自由度を与えることは安全性や倫理的な問題を引き起こすことも考えられます。2025年にAIエージェントがどのように社会に浸透していき、どのような化学反応を起こすのか、注目していきたいと考えております。


IDATEN Ventures(イダテンベンチャーズ)について

フィジカル世界とデジタル世界の融合が進む昨今、フィジカル世界を実現させている「ものづくり」あるいは「ものはこび」の進化・変革・サステナビリティを支える技術やサービスに特化したスタートアップ投資を展開しているVCファンドです。


お問い合わせは、こちらからお願いします。


今回の記事のようなIDATENブログの更新をタイムリーにお知りになりたい場合は、下記フォームからぜひ IDATEN Letters に登録をいただければ幸いです。


Comments


Commenting has been turned off.

©2017 by IDATEN Ventures. Proudly created with Wix.com

Azabudai Hills Garden Plaza B 5F

5-9-1 Toranomon, Minato-ku

Tokyo 105-0001 JAPAN

All rights reserved © IDATEN Ventures
  • Facebook - Grey Circle
  • Twitterの - 灰色の円
bottom of page