AIエージェントに1,000以上の認証済みアプリツールキット、ユーザーごとのセッション、アクション実行用サンドボックスを提供するTypeScript・Python SDK。
apple-aiml-research/ToolSandbox
ユーザーシミュレーターとマイルストーンベースの評価機能を備えた、LLMエージェントのツール利用を評価する状態を保持する対話型ベンチマーク。
- スター
- 288
- フォーク
- 33
- 未解決の Issue
- 3
- 最終コミット
- 先月
これは何?
ToolSandboxは、大規模言語モデルによるツール利用を評価するベンチマークで、Appleの研究論文とともに公開されました。単一のプロンプトでステートレスなREST APIをテストするベンチマークとは異なり、ツールは永続的なワールド状態(設定、連絡先、メッセージ、リマインダー)に対して実行されます。そのため、あるツール呼び出しによって、後続の呼び出しが返す内容が変わることがあります。
このフレームワークには、エージェントと複数ターンの会話を行うユーザーシミュレーターと、相互に暗黙の依存関係を持つPythonツール群が含まれています。たとえば、メッセージを送信するには先にモバイル通信を有効にする必要があります。シナリオは、ベースとなるデバイス状態を拡張する形でPythonコードに定義でき、頑健性をテストするために、ツールへダミーを追加したり、名前を変更したり、説明を削除したりできます。
評価はマイルストーンベースです。各シナリオでは、達成すべき中間状態と最終状態をDAGで定義し、特定の呼び出し手順との一致ではなく、有効な順序で状態に到達したかどうかをスコアリングします。プロジェクトには `tool_sandbox` CLIが用意されており、OpenAI、Anthropic、Google Gemini、Cohereのモデルと、vLLM経由で提供されるオープンソースモデルに対応しています。
主な機能
- 01設定、連絡先、メッセージ、リマインダーからなる永続的なワールド状態に対して、状態を保持したツール実行を行う。
- 02オンポリシーの複数ターン対話評価に使える、組み込みのユーザーシミュレーター。
- 03中間ステップの有効な順序を問わない、マイルストーンDAGによるスコアリング。
- 04ダミーツールの追加、ツール名の変更、型ヒントの削除などによるシナリオ拡張。
- 05OpenAI、Anthropic、Gemini、Cohere、およびvLLMでホストされたオープンソースモデルに対応。
ユースケース
- 状態依存関係のある複数ステップのツール利用について、異なるLLMの性能を比較する。
- タスクの完了に必要なツールや情報が不足しているとき、エージェントがそれを認識できるかテストする。
- 対話形式でのエージェントのツール呼び出し動作に対する回帰テストを構築する。
クイックスタート
- 1
Python 3.9 の conda 環境を作成する
conda create -n ToolSandbox python=3.9 - 2
環境を有効化する
conda activate ToolSandbox - 3
リポジトリのルートからプロジェクトと開発用依存関係をインストールする
pip install '.[dev]' - 4
ユーザーシミュレーターとエージェントの両方に GPT-4o を使って、単一のシナリオを実行する(API キーのプレースホルダーを置き換える)
env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13
使う前に知っておきたいこと
- メタデータにライセンスが明確に記載されていないため、再利用条件が不明です。
- ホスト型モデルでシナリオを実行するには有料の API キーが必要です。また、検索シナリオには RapidAPI キーも必要です。
- ツール呼び出しはサンドボックスを介さず、ホストマシン上で直接実行されます。
トピック
よくある質問
- ToolSandbox とは?
- ユーザーシミュレーターとマイルストーンベースの評価機能を備えた、LLMエージェントのツール利用を評価する状態を保持する対話型ベンチマーク。 ToolSandboxは、大規模言語モデルによるツール利用を評価するベンチマークで、Appleの研究論文とともに公開されました。単一のプロンプトでステートレスなREST APIをテストするベンチマークとは異なり、ツールは永続的なワールド状態(設定、連絡先、メッセージ、リマインダー)に対して実行されます。そのため、あるツール呼び出しによって、後続の呼び出しが返す内容が変わることがあります。
- ToolSandbox は無料で使えますか?ライセンスは?
- ToolSandbox は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ToolSandbox は今もメンテナンスされていますか?
- 半年以内に更新あり。ToolSandbox の最終コミットは 2026年9月11日 です。
- ToolSandbox は何に使えますか?
- 状態依存関係のある複数ステップのツール利用について、異なるLLMの性能を比較する。 タスクの完了に必要なツールや情報が不足しているとき、エージェントがそれを認識できるかテストする。 対話形式でのエージェントのツール呼び出し動作に対する回帰テストを構築する。
- ToolSandbox のインストール方法は?
- Python 3.9 の conda 環境を作成する: conda create -n ToolSandbox python=3.9 環境を有効化する: conda activate ToolSandbox リポジトリのルートからプロジェクトと開発用依存関係をインストールする: pip install '.[dev]' ユーザーシミュレーターとエージェントの両方に GPT-4o を使って、単一のシナリオを実行する(API キーのプレースホルダーを置き換える): env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13
- ToolSandbox はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/apple-aiml-research/ToolSandbox
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Pythonコードでアクションを記述・実行するAIエージェントを構築するための、軽量なPythonライブラリ。
LLM、VLM、AIGCモデルのベンチマーク評価に加え、推論性能の負荷テストや結果のダッシュボード表示にも対応する、カスタマイズ可能なフレームワーク。
チャット履歴を再生するだけでなく、記憶を保存・想起・振り返ることで、AIエージェントが時間とともに学習できるようにするメモリシステムです。
LLMをツールやデータにつなぐMCPサーバー、クライアント、対話型アプリを構築するPythonフレームワーク。
単一エージェントの強化学習環境向け標準Python APIと、OpenAI Gymからフォークした参照環境群。