verl-project/uni-agent
Uni-Agent is a framework for training long-horizon agents.
Uni‑Agent: 大規模な長期的エージェントのトレーニング
概要 – Uni‑Agentは、LLMベースの「エージェントハーネス」(例: Claude Code、Mini‑SWE‑Agent)を統合されたトレーニングおよび推論パイプラインに組み込むことができるオープンソースフレームワークです。エージェント、ツール、タスク、サンドボックス実行環境の抽象化を提供し、並行して数千のステートフルセッションを実行することで、教師ありファインチューニング(SFT)や強化学習(RL)のための追跡可能な軌跡を収集できます。
主要なアイデア
- ゲートウェイ – プロンプト文字列を受け取り、選択したモデルエンドポイント(OpenAI互換またはAnthropic互換)に転送し、生成されたトークンを返す軽量サービスです。既存のハーネスはこのゲートウェイに接続できます。
- モジュール式抽象化 –
Agent、Tool、Task、Sandboxは独立した再利用可能なコンポーネントです。他のスタックに触れることなく、ツール(例: コード実行エンジン)やタスク定義を交換できます。 - 大規模な並行処理 – 分散ワーカーが(veFaaSやModalを介して)隔離されたサンドボックスを起動し、ゲートウェイセッションをプールし、非同期の相互作用をスケジュールします。このシステムは、各軌跡、ログ、報酬をセッションにリンクしながら、1000以上の同時長期的セッションを処理できます。
- 再現可能なレシピ – リポジトリにはすぐに実行できる設定例、ベンチマークスクリプト、結果テーブルが同梱されており、自分で数値を確認できます。
典型的なワークフロー
- インストール – ライブラリをインストールします(ドキュメントでは
colocate_asyncなどのverlエクストラを扱っています)。 - サンドボックスを起動 – ローカルまたはクラウドプロバイダー上でサンドボックスを起動します。サンドボックスはエージェントのツール使用と状態を隔離します。
- 推論を実行 – ゲートウェイを介して多数のエージェントを起動し、評価データやベンチマークスコアを生成します。
- RLでトレーニング – 同じ相互作用スタックを強化学習ループ(GRPO/GSPOスタイルの目的関数、部分ロールアウト)に使用します。トレーニングスクリプトの例は
examples/quickstart/training/にあります。
パフォーマンスのハイライト (READMEより)
- 並列推論 – SWE‑Bench VerifiedやTerminal‑Benchなどのベンチマークで、480B Qwen3‑Coderモデルで64.2%のスコアを達成。
- RLによる改善 – 例えば、R2E‑Gymデータセット上のReActエージェントは、RL後にベーススコア22.2%から36.8%に改善。他のモデル/エージェントの組み合わせでも同様の向上が見られます。
- Qwen3.5‑4B RL実行は64台のH100 GPUを使用し、SWE‑Bench Verifiedでステップ50でピークに達しました。
重要な理由 – 多くのステップ(数百のターン、10万トークン以上)にわたって計画できるエージェントをトレーニングすることは、計算負荷が高くなります。Uni‑Agentはパイプラインの配管(サンドボックス管理、非同期スケジューリング、データ収集)を抽象化し、研究者がエージェントロジック、報酬設計、モデル改善に集中できるようにします。
実行環境 – veFaaS(Volcengine)やModalなどのサーバーレスバックエンドをサポートし、弾力的なサンドボックスプロビジョニングを実現しますが、開発用にローカルで実行することもできます。
はじめに – ドキュメントでは、インストール、サンドボックス起動、推論、RLトレーニングをカバーするクイックスタートガイドを提供しています。設定例は完全に実行可能で、ロードマップ(issue #79)には今後の機能がリストされています。
ライセンス – Apache 2.0。
すべての詳細はリポジトリのREADMEから直接取得されています。追加の主張はありません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト