Ap pWorldを紹介するよ: AIエージェントのための新しいテストプラットフォームだよ。
Ap pWorldは、制御された環境でAIエージェントのためのリアルなタスクをシミュレートする。
― 1 分で読む
日常生活では、買い物の注文やメッセージの送信、ファイル管理など、いろんなアプリを使うことが多いよね。機械やコンピュータプログラム、つまり自律エージェントがこれらのタスクをうまく手助けするためには、単純なコマンドを出すだけじゃダメなんだ。彼らは周りにあるものを見て、異なるアプリとやり取りし、複雑なコードを理解できる必要があるんだ。これは、複数のアクションをこなしたり、いろんな状況に基づいて選択をしたりすることを含むよ。
でも、今あるプログラムのテストの多くは、単純なタスクにしか焦点を当てていないんだ。エージェントに深く考えさせたり、複雑なステップを管理させたりする挑戦はしていない。そこで、新しいプラットフォーム「Ap pWorld」を作ったんだ。
Ap pWorld って何?
Ap pWorldは、プログラムがいろんなアプリを使って現実的なタスクをこなすためのコントロールされた環境なんだ。この環境には、日常のアプリがたくさんあって、さまざまなツールや架空のユーザーによるリアルなデータも含まれているよ。挑戦的なテストの場を設計することで、自律エージェントが高度なコーディングやクリティカル・シンキングを必要とするリアルワールドのタスクをどれだけうまくこなせるかを理解できるようにしてるんだ。
Ap pWorldの特徴
コントロールされた実行環境:
Ap pWorldは、エージェントが安全に作業できるスペースなんだ。現実世界のリスク(迷惑メールを送ったり、お金を使ったりすること)に直面せずにアプリとやり取りできるんだ。プラットフォームは人気アプリの機能を真似してて、エージェントはコントロールされたプログラミングインターフェースを通じてそれらにアクセスして使えるよ。挑戦的なタスク:
エージェントが解かなきゃいけない一連のタスクを作ったんだ。これらのタスクは複雑で、推論や計画、コーディングといったスキルのミックスが必要になるようにデザインされてるよ。エージェントは複数のアプリからアクションを組み合わせたり、誤解を招くような気晴らしに対処したりしないといけないんだ。堅牢な評価:
エージェントを完璧な解と単純に比較する代わりに、Ap pWorldでは洗練された評価方法を用いてる。タスクの前後でデータの状態を追跡して、エージェントがエラーを出さずにタスクを無事に終わらせたかどうかを判断してるよ。
Ap pWorldの応用
AIの能力が高まることで、デジタルライフの多くのタスクを自動化する可能性が見えてきたよ。例えば、買い物を注文するという基本的なことでも、リストを確認したり、他の人にニーズを伝えたり、アプリから正しいアイテムを選んだりと、いろんなステップがあるんだ。こういうタスクを自動化するには、エージェントが複数のアプリを管理して、変化する状況に基づいて意思決定しなきゃならないんだ。
例のタスク
例えば、エージェントがワークアウト中に音楽を流さなきゃいけないタスクを考えてみて。まず、ワークアウトプランをリストしたメモをチェックする必要がある。エージェントはそのメモを読むために少しコードを書かないといけなくて、次に今日は何曜日か確認して、最後にワークアウトがどれくらい続く予定かを考えるんだ。これにはメモの詳細を読んだり、プレイリストの曲の長さを把握したり、正しいプレイリストを選ぶために制御フローを維持することが含まれるよ。
Ap pWorldの構築
Ap pWorldを作るために、まず9つの日常アプリを含む高品質な実行フレームワークを開発したんだ。これらのアプリは、ショッピングサイトやメールサービス、送金システムなど、ほとんどの人が使うリアルなツールを表すように設計されてるよ。
Ap pWorldでは、エージェントが457のアプリケーションプログラミングインターフェース(API)を通じてこれらのアプリとやり取りするんだ。この環境は、実際のユーザーの行動を模倣した100人の架空のユーザーの行動に基づくリアルなデータで満たされているよ。それに加えて、750のユニークなタスクを特集したベンチマークも作ったんだ。これらの挑戦では、エージェントがさまざまなプロンプトや予期しない状況に対応できるコードを生成する必要があるんだ。
リアルなデータの作成
リアルなユーザーの活動をシミュレートするために、人々が日常のルーチンでアプリを使う様子を反映したデータベースを作ったんだ。これには、友達同士での請求書の分割やグループ活動の計画など、一般的なシナリオをプログラミングすることが含まれてるよ。データは、ルームメイトや同僚など、さまざまな関係を反映するように構造化されていて、タスクにさらなる複雑さを加えてるんだ。
タスクデザイン
Ap pWorldの各タスクは、一般的なシナリオを基に作られているんだ。たとえば、最近の購入を色の好みを考慮しながら注文するタスクがあったりするよ。これらのタスクは、エージェントが異なる経路や結果について考えさせる要素を含むようにデザインされていて、新しい情報に基づいて適応することが求められるんだ。
パフォーマンスの評価
エージェントがこれらのタスクでどれだけうまく機能するかを評価するために、プログラム的な評価システムを開発したんだ。エージェントがやったことを正しい解と単に比較するのではなく、タスクが試みられた後のデータベースの最終状態を確認するんだ。期待される変化や、タスク実行中に起こる可能性のある意図しない結果をチェックすることで、モデルがさまざまな有効な方法でタスクを完了し、目指す結果を達成できるかを確かめるんだ。
エージェントのベンチマーキング
Ap pWorldを構築した後、いくつかの人工知能モデルをテストしてそのパフォーマンスを測定したんだ。これらのモデルは、Ap pWorld用に設計された挑戦を使って評価されて、インタラクティブなコーディングやAPIの使用がどれだけ効率的かを重点的に見てるよ。
パフォーマンスのメトリクス
モデルは、主に2つのメトリクスに基づいて評価されたんだ:
- タスク目標達成率(TGC): エージェントがどれだけの割合で個々のタスクを成功裏に完了できたかを示す。
- シナリオ目標達成率(SGC): 完全なタスクシナリオのうち、どれだけの割合が成功裏に解決されたかを測定する。
結果は、最高のAIモデルでさえ私たちが作ったタスクに困難を感じて、簡単なタスクの約半分しか完了できず、より複雑な挑戦ではさらに少ないということを示しているよ。これによって、Ap pWorldのタスクが実際に挑戦的で、高いレベルの推論やインタラクションを要求していることがわかるんだ。
モデルが直面した一般的な課題
評価中に、モデルが犯す典型的なミスを観察したよ:
- 相互作用の失敗: 時には、エージェントが実際に環境やデータをチェックせずに答えを推測しちゃって、間違った結果につながることがあったんだ。
- APIの使い方の誤解: エージェントは正しいAPIを使っていても、間違ったパラメータや利用可能なものについての誤った仮定で使用することがあったよ。
- 指示を完全に守らない: ある場合、エージェントは指示に従っているけど、重要な詳細を見逃してタスクが不完全になったりエラーを引き起こしたりすることがあったんだ。
今後の方向性
これから、Ap pWorldはAIや自律エージェントの設計に関するさらなる研究の多くの道を開いてくれるよ。このプラットフォームは、より複雑なタスクを追加したり、異なるタイプのアプリと連携したり、甚至は共同タスクのために複数のエージェント間の調整を可能にしたりすることができるんだ。
環境の拡張
一つのアプローチは、エージェントがAPIに頼るだけでなく、アプリと直接対話できるユーザーインターフェイス(UI)機能を追加してAp pWorldを強化することだよ。これによって、人間が現実の状況でテクノロジーとどのように関わるかを反映できるようになるんだ。
マルチエージェントシナリオ
さらに、複数のエージェントが関わるシナリオを探求することで、面白い実験ができるかもしれない。たとえば、異なるエージェントが協力してミーティングをスケジュールしたり、共有リソースを管理したり、チームワークを必要とする問題を解決したりしていくことができるよ。
品質と安全性の確保
AI技術が進化する中で、これらのエージェントが責任を持って働くことを保証するのは重要だよ。Ap pWorldは、実際の状況でデプロイする前にエージェントの挙動をテストして評価するための安全な環境を提供しているんだ。
結論
Ap pWorldは、日常のタスクに対するAIエージェントのテストとベンチマーキングにおいて一歩前進したことを示しているよ。挑戦的な課題が詰まったリアルな環境を作ることで、自律エージェントの能力と限界をより良く理解できるんだ。これによって、彼らのデザインや機能を改善して、AIが私たちのデジタルライフでシームレスに支援できる未来に一歩近づくことができるんだ。
タイトル: AppWorld: A Controllable World of Apps and People for Benchmarking Interactive Coding Agents
概要: Autonomous agents that address day-to-day digital tasks (e.g., ordering groceries for a household), must not only operate multiple apps (e.g., notes, messaging, shopping app) via APIs, but also generate rich code with complex control flow in an iterative manner based on their interaction with the environment. However, existing benchmarks for tool use are inadequate, as they only cover tasks that require a simple sequence of API calls. To remedy this gap, we built $\textbf{AppWorld Engine}$, a high-quality execution environment (60K lines of code) of 9 day-to-day apps operable via 457 APIs and populated with realistic digital activities simulating the lives of ~100 fictitious users. We then created $\textbf{AppWorld Benchmark}$ (40K lines of code), a suite of 750 natural, diverse, and challenging autonomous agent tasks requiring rich and interactive code generation. It supports robust programmatic evaluation with state-based unit tests, allowing for different ways of completing a task while also checking for unexpected changes, i.e., collateral damage. The state-of-the-art LLM, GPT-4o, solves only ~49% of our 'normal' tasks and ~30% of 'challenge' tasks, while other models solve at least 16% fewer. This highlights the benchmark's difficulty and AppWorld's potential to push the frontiers of interactive coding agents. The project website is available at https://appworld.dev/.
著者: Harsh Trivedi, Tushar Khot, Mareike Hartmann, Ruskin Manku, Vinty Dong, Edward Li, Shashank Gupta, Ashish Sabharwal, Niranjan Balasubramanian
最終更新: 2024-07-26 00:00:00
言語: English
ソースURL: https://arxiv.org/abs/2407.18901
ソースPDF: https://arxiv.org/pdf/2407.18901
ライセンス: https://creativecommons.org/licenses/by/4.0/
変更点: この要約はAIの助けを借りて作成されており、不正確な場合があります。正確な情報については、ここにリンクされている元のソース文書を参照してください。
オープンアクセスの相互運用性を利用させていただいた arxiv に感謝します。
参照リンク
- https://www.latex-project.org/help/documentation/encguide.pdf
- https://github.com/stonybrooknlp/appworld
- https://www.openapis.org/
- https://jupyter.org
- https://fastapi.tiangolo.com/
- https://platform.openai.com/docs/guides/function-calling
- https://gvisor.dev/
- https://fastapi.tiangolo.com/reference/testclient/
- https://coverage.readthedocs.io/