ag-ui-protocol/ag-ui
AG-UI: the Agent-User Interaction Protocol. Bring Agents into Frontend Applications.
AG‑UI: エージェントとユーザーの対話のためのオープンプロトコル
概要 – AG‑UI(エージェントとユーザーの対話)は、AI エージェントがユーザー向けアプリケーションと通信する方法を標準化する、軽量でイベントベースのプロトコルです。エージェントが発行できる約 16 種類のイベントタイプと、アプリが返信できるいくつかの単純な入力形状を定義します。ミドルウェア層がトランスポート(SSE、WebSockets、webhooks など)と緩い形式マッチングを処理し、バックエンド指向のエージェントを任意のフロントエンド UI に簡単に接続できます。
重要性 – 最新の AI エージェント(LangChain、CrewAI、Microsoft Agent Framework など)は推論に優れていますが、ライブのユーザーインターフェースへの統合はまだアドホックです。AG‑UI は、新興のエージェントプロトコルスタックの エージェントから人間へ の層に位置します(MCP はツールを提供し、A2A はエージェント同士の通信を可能にし、AG‑UI はエージェントを人々に接続します)。共通の契約を提供することで、開発者は UI コンポーネントを再利用し、状態を共有し、グルーコードを書き直すことなくエージェントを交換できます。
主な機能
- ストリーミングによるリアルタイムチャット – エージェントは部分的な応答をイベントとしてプッシュします。
- 双方向状態同期 – UI とエージェントは共有状態モデルを最新に保ちます。
- 生成 UI メッセージ – エージェントは、クライアントがその場でレンダリングする UI 要素(フォーム、テーブルなど)を記述できます。
- コンテキスト強化 – イベントは、より豊かな応答のために追加のユーザーコンテキスト(位置情報、最近のアクションなど)を運ぶことができます。
- ツール統合フック – フロントエンドライブラリは、エージェントが呼び出せるツール(ファイルアップロードなど)を公開できます。
- ヒューマンインザループ – ユーザーはエージェントのアクションに介入、編集、承認できます。
サポートされているエコシステム – プロジェクトは、参照 HTTP 実装とデフォルトコネクタに加えて、多くの言語(Kotlin、Go、Dart、Java、Rust、Ruby、C++、.NET など)向けの SDK を提供します。ファーストパーティ統合には、CopilotKit、LangChain、CrewAI、Microsoft Agent Framework、Google ADK、AWS Strands、LlamaIndex などが含まれます。Claude SDK、Langroid、Cloudflare Agents など向けのコミュニティアダプタもあります。
はじめに – 最も簡単な入り口は CLI スターターです:
npx create-ag-ui-app my-agent-app
これにより、プロトコルを使用してエージェントバックエンドを Web UI に接続する最小限のアプリがスキャフォールドされます。AG‑UI Dojo (https://dojo.ag-ui.com) は、各ビルディングブロックの一口サイズの例(50〜200 行)を示し、ドキュメントはアプリケーションとフレームワーク統合の両方のクイックスタートガイドを提供します。
典型的なユースケース
- エージェントバックエンド(例:LangChain グラフ)は
message、stateUpdate、toolCallイベントを発行します。 - AG‑UI ミドルウェア はこれらを標準イベントペイロードに変換し、WebSocket 経由でストリーミングします。
- フロントエンドクライアント(React、React‑Native、ターミナル、Slack など)はイベントを受信し、チャット UI をレンダリングし、共有状態を更新し、ユーザー入力を AG‑UI 互換リクエストとして送り返すことができます。
- ループは続き、製品内でインタラクティブでコンテキスト認識型の AI 体験を可能にします。
コミュニティとガバナンス – プロジェクトは MIT ライセンスであり、活発な Discord、隔週のワーキンググループ、公開ロードマップ(GitHub Projects)があります。通常のプルリクエストフローと詳細な CONTRIBUTING ガイドを通じて貢献を歓迎します。
TL;DR – AG‑UI は、AI エージェントとユーザーインターフェース間の通信を標準化する実際のオープンソースプロトコルであり、多くの言語とフレームワークにわたってリアルタイムチャット、状態同期、生成 UI 機能を提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト