スケール向けに構築
EDDIはJava 25とQuarkusで稼働し、仮想スレッド(Project Loom)を活用した大規模I/O並行性を実現。Node.jsのイベントループとは異なり、仮想スレッドは最小限のオーバーヘッドで真のマルチスレッド並列性を提供。
なぜ仮想スレッドがAIエージェントに重要なのか
最新のAIエージェントは基本的にI/Oバウンドです。
Java仮想スレッドはこれをエレガントに解決します。
パフォーマンスハイライト
- 仮想スレッド、並行LLM呼び出しのための数百万の軽量スレッド
- Quarkusランタイム、開発モードのホットリロードを備え、コンテナ向けに最適化されたクラウドネイティブJava。従来のJVMスタックと比べて大幅に高いスループット、高速な起動、より小さなメモリフットプリントを実現
- Loom対応コネクションプール、Agroalコネクションプーリングは、仮想スレッドワークロード下で従来のプールに影響するThreadLocalボトルネックを回避
- NATS JetStream、イベント駆動アーキテクチャによる水平スケーリング
- デュアルデータベース、MongoDBまたはPostgreSQL、環境変数一つで切り替え。両方対応の単一Dockerイメージ
- SSEストリーミング、Server-Sent Eventsによるリアルタイムチャット応答、グループディスカッションフィード、ライブログストリーミング
- ワンコマンドインストール、Docker ComposeでEDDI + データベース + スターターエージェントをデプロイするインタラクティブウィザード
- Red Hat認定、CI/CDでの自動プリフライトチェックによるコンテナ認定
コンテキストにおけるパフォーマンス
すべてのシナリオで勝つランタイムはありません。純粋なI/Oルーティングに特化したシナリオではNode.jsがJavaを上回ることもありますが、CPU集約型タスクを含むワークロードでは一貫してJavaが優位です、これはまさにAIエージェントが必要とするものです。最新のエージェントは、大量のI/O(LLM API呼び出し、ベクトルクエリ)と集約的な計算(データ変換、ルーティングロジック、埋め込み処理、コンフィデンス評価)の複雑な組み合わせを実行します。この混合ワークロードのプロファイルこそ、Quarkus上の仮想スレッドが最大の強みを発揮する領域です。
EDDIのアーキテクチャはこの現実に合わせて意図的に最適化されています:I/O中心のエージェントオーケストレーション層には仮想スレッドを備えたQuarkusを採用し、高い仮想スレッド並行性の下で従来のプーリングライブラリに見られるThreadLocal競合の問題を回避するLoom対応コネクションプール(Agroal)と組み合わせています。