概要
XAgentは、オープンソースの実験的な大規模言語モデル(LLM)駆動型の自律エージェントで、人手による介入なしに幅広い複雑なタスクを解決するように設計されています。汎用性の高い超知能エージェントとして、与えられたあらゆるタスクに取り組むことを目指しており、その能力を強化するための開発が継続的に行われています。
主な目的と対象ユーザー層
- 主な目的: 複雑なタスクを自動的に解決できる自律型LLMエージェントを提供し、様々なアプリケーションに汎用的なソリューションを提供すること。
- 対象ユーザー層: タスクの自動化、複雑な問題解決、AIのフロンティア探求のために自律型AIエージェントの活用に関心のある開発者、研究者、組織。これには、データ分析、ソフトウェア開発、研究、およびインテリジェントな自動化を必要とするあらゆる分野のユーザーが含まれます。
機能の詳細と操作
- 自律性: XAgentは多様なタスクを独立して解決でき、人間の参加の必要性を最小限に抑えます。
- 安全性: 操作はDockerコンテナ内に制限され、安全な実行環境が保証されます。
- 拡張性: 新しいツールや新しいエージェントを簡単に追加して、XAgentの能力を強化できます。
- ユーザーインターフェース: フレンドリーなグラフィカルユーザーインターフェース (GUI) とコマンドラインインターフェース (CLI) の両方を提供し、対話を可能にします。
- 人間とエージェントの協力: XAgentはユーザーと協力し、複雑なタスクのガイダンスに従い、課題が発生した際には支援を求めます。
- モジュール式アーキテクチャ:
- Dispatcher: タスクを動的にインスタンス化し、異なるエージェントに振り分けます。
- Planner: タスク計画を生成および改良し、マイルストーンを設定してサブタスクに分割します。
- Actor: 様々なツールを活用し、人間と協力して、目標達成とサブタスク完了のためのアクションを実行します。
- ToolServer: 強力で安全なツールを提供するDockerベースのサーバー:
- File Editor: ファイルの書き込み、読み取り、変更。
- Python Notebook: Pythonコードの実行、アイデアの検証、図の描画のための対話型環境。
- Web Browser: ウェブページの検索と閲覧。
- Shell: プログラムのインストールやサービスのホストを含むシェルコマンドの実行。
- Rapid API Integration: Rapid API (ToolBenchコレクション) から幅広いAPIにアクセスし、呼び出します。
- タスク実行ワークフロー:
- ユーザーはCLIまたはGUIを介してタスクを送信します。
- XAgentはタスクを処理し、計画を生成し、アクションを実行します。
- 生成されたすべてのファイルと中間ステップは、ローカルワークスペースと実行履歴に保存されます。
- 安全な共有のために機密情報を削除した状態で、履歴をロードして以前の実行を再現できます。
ユーザーのメリット
- 効率の向上: 複雑なタスクを自動化し、時間とリソースを節約します。
- 問題解決能力の強化: 様々な分野の複雑な問題に取り組むことができます。
- 安全な操作: Dockerコンテナ化により、アクション実行のための安全な環境が保証されます。
- 柔軟性とカスタマイズ性: 特定のニーズに合わせて新しいツールやエージェントで簡単に拡張できます。
- コラボレーションの改善: 人間ユーザーとAIエージェント間のシームレスな対話を容易にします。
- 再現性: 詳細な実行履歴により、過去の実行を簡単に再現および分析できます。
互換性と統合
- オペレーティングシステム: ToolServerのセットアップにはDockerとDocker Composeが必要です。
- Pythonバージョン: Python >= 3.10が必要です。
- APIキー: OpenAI APIキーで設定可能(gpt-4-32kを推奨、gpt-4およびgpt-3.5-turbo-16kをサポート)。
- Docker統合: ToolServerはDockerコンテナとして実行され、自己完結型環境を提供します。
- Web UI: GUI操作のためにウェブブラウザ (http://localhost:5173) を介してアクセス可能。
お客様からのフィードバックとケーススタディ
- データ分析: データ検査、環境検証、コード生成、レポート作成(例: iris.zip分析)など、複雑なデータ分析をユーザーが成功させるのを支援します。
- 推薦: 情報が不十分な場合に積極的に人間の入力を求めることで、人間とエージェントの協力関係を示します(例: レストランの推薦)。
- モデルトレーニング: 機械学習モデルのトレーニング(例: 映画レビュー感情分析のためのBERTモデルのトレーニング)のような複雑なタスクが可能です。
- 評価: 検索とレポート、コーディングと開発、データ分析、数学、ライフアシスタントに分類される50を超える実世界の複雑なタスクにおいて、人間の好み評価でAutoGPTを上回ります。
アクセスとアクティベーション方法
- ソースコード: GitHub (github.com/OpenBMB/XAgent) で利用可能。
- ToolServerセットアップ:
- Dockerイメージのプル:
docker compose up - ローカルソースからのビルド:
docker compose buildの後docker compose up
- Dockerイメージのプル:
- XAgentセットアップ:
- 要件のインストール:
pip install -r requirements.txt assets/config.ymlでAPIキーを設定。- XAgentの実行:
python run.py --task "put your task here" --config-file "assets/config.yml"
- 要件のインストール:
- GUIアクセス: XAgent-Serverコンテナの起動後、
http://localhost:5173にアクセス。デフォルトの認証情報: ユーザー名guest、パスワードxagent。