XAgent: 複雑なタスクをサブタスクに分解し、セキュアな Docker サンドボックスで実行する自律的な汎用エージェント

解決する課題

XAgent は、継続的な人間の介入なしに複雑で汎用的なタスクを解決するよう設計された自律エージェントです。データ分析、コーディング、リサーチなどのマルチステップワークフローを、管理しやすいサブタスクに分割し、サンドボックス化された環境で安全に実行するという課題に対処します。

仕組み

XAgent はタスク実行を管理するために、3 つのパートからなるアーキテクチャを使用します:

  • Dispatcher: タスクを適切なエージェントに動的に割り当てます。
  • Planner: 上位目標をサブタスクとマイルストーンに分解し、進行に応じて計画を修正します。
  • Actor: ツール群を使用して実際のステップを実行し、障害に直面した際には人間と協働できます。

安全性を確保するため、すべてのアクションは ToolServer 内で実行されます。ToolServer は Docker ベースのコンテナで、セキュアな環境を提供します。このサーバーはエージェントにファイルエディタ、Python ノートブック、ウェブブラウザ、bash シェルへのアクセスを許可します。

対象ユーザー

安全な実行環境を維持しながら、自律的なソフトウェアエンジニアリング、データサイエンス、一般的なリサーチタスクを実行できる LLM 駆動アシスタントが必要なユーザーを対象としています。

ハイライト

  • Sandboxed Execution: 安全性のため、すべてのツール使用は Docker コンテナ内で行われます。
  • Human-in-the-loop: 情報が不足している場合、エージェントは AskForHumanHelp ツールを通じて積極的に人間の支援を求めることができます。
  • Extensible Toolset: Python ノートブック、シェルアクセス、Rapid API 統合など、幅広いツールをサポートします。
  • Integrated GUI: コマンドライン以外でもエージェントとやり取りできるウェブベースのインターフェースを提供します。

Sources