Atmosphere/atmosphere

Portable AI agent runtime for the JVM. One @Agent class runs on Spring AI, LangChain4j, Anthropic, or 9 more behind one SPI. Token streaming, tool calls, human approvals, and governance over WebSocket, SSE, gRPC, or WebTransport/HTTP3. Speaks MCP, A2A, and AG-UI.

Atmosphere – JVM 上の AI エージェント向けリアルタイムエンジン

それは何か – Java 中心のフレームワークで、深い AI エージェントを通常の Web サービスと同じように実行できます。ほとんどの LLM ベースのエージェントが必要とする配管を処理します:リアルタイムトランスポートでのストリーミング応答、永続状態、ガバナンス(ポリシー、コスト制限、PII 編集)、人間による承認、マルチチャネル公開(WebSocket、SSE、gRPC、Slack、Discord、…)。コアライブラリは Maven Central(org.atmosphere:atmosphere‑runtime)にあり、付随する JavaScript クライアント(atmosphere.js)は npm で公開されています。


コアコンセプトとその連携方法

コンセプト Atmosphere が提供するもの AI エージェントにとっての重要性
@Agent アノテーション クラスを AI エージェントとして宣言します。このアノテーションは、メモリ、プランニングツール、仮想ファイルシステム、サブエージェント委任、コマンドエンドポイントを自動的に配線します。 ボイラープレートを書かずにディープエージェントをすぐに得られます。
ストリーミングトランスポート 1 つのブロードキャスターが WebSocket、Server‑Sent Events、ロングポーリング、gRPC、オプションの HTTP/3 WebTransport を提供できます。 クライアントは、ファイアウォールやモバイルネットワークの背後でも、チャット UI のようにトークン単位の出力を受け取れます。
AgentRuntime SPI プラグ可能なアダプター(atmosphere-ai、atmosphere‑spring‑ai、atmosphere‑langchain4j、Anthropic、Cohere など)が @Agent 呼び出しを基盤の LLM プロバイダーに変換します。 エージェントコードを変更せずに、OpenAI から Gemini、Ollama、またはカスタムモデルに切り替えられます。
ガバナンスレイヤー ポリシーアドミッション、@AgentScope、コスト上限、PII 編集、キルスイッチ、プランアンドベリファイ検証。 エージェントがツールを呼び出したりトークンを消費したりする前に、組織のルールを確実に遵守させます。
永続セッションとチェックポイント SQLite または Redis バックアップの会話メモリ、長期ファクト、リプレイバッファ、チェックポイントストア(オプションの Temporal バックアップ)。 エージェントは休止状態になり、再起動後も存続し、人間の承認ステップ後に再開できます。
マルチチャネルアダプター 組み込みモジュールが同じエージェントを MCP、A2A、AG‑UI、Slack、Telegram、Discord、WhatsApp、Messenger、ブラウザコンソール UI に公開します。 1 つのコードベースで Web チャット、内部ツール、メッセージングボットを強化できます。
サンドボックス実行 atmosphere-sandbox SPI と、安全なコードまたはブラウザ自動化のためのデフォルトの Docker サンドボックスプロバイダー。 潜在的に危険なツール呼び出しをホストシステムから分離します。

開発者の典型的なワークフロー

  1. プロジェクトを作成 CLI を使用:
    atmosphere new my-agent --template ai-chat   # Spring‑Boot スターターを選択
    cd my-agent
    LLM_API_KEY=… ./mvnw spring-boot:run
    
  2. @Agent クラスを記述 @Prompt アノテーションが付いたメソッドはユーザーメッセージを受け取り、StreamingSession を介してトークンをストリーミングできます。@Command メソッドはスラッシュスタイルのコマンドを公開し、@AiTool メソッドは LLM が呼び出し可能なツールになります。
  3. ランタイムを選択 – デフォルトの組み込みアダプターを維持するか、--runtime spring-ai / --runtime langchain4j を追加して別の SPI 実装を導入します。
  4. ガバナンスを設定(オプション)application.yml で – コスト制限、PII 編集ルールを設定するか、特定のツールに人間の承認を要求します。
  5. 実行 – エージェントは次の URL でアクセスできます:
    • ws://host/atmosphere/agent/my-agent(WebSocket ストリーム)
    • http://host/atmosphere/agent/my-agent/mcp(MCP プロトコル)
    • atmosphere-channels モジュールによって生成された Slack/Discord Webhook URL。
  6. 観察とリプレイ – セッションテープを有効にして、すべての AI イベントを SQLite に保存します。後で、モデルにアクセスせずに実行を再構築でき、デバッグや小規模モデルの蒸留に役立ちます。

Atmosphere を誰が使うべきか?

状況 推奨される選択
リアルタイムストリーミングを備えたステートフルでガバナンスされたエージェントを必要とする既存の JVM サービス(Spring Boot、Quarkus、Netty など)。 Atmosphere – プラグアンドプレイ、書き直し不要。
サーバーレスで実行できる短期のステートレスボット(例:Cloudflare Workers)。 サーバーレスエージェントプラットフォームの方が簡単です。Atmosphere の永続性は過剰です。
人間による承認、監査証跡、コンプライアンス証拠(PII、コスト上限、OWASP Agentic Top 10)を必要とするチーム。 Atmosphere のガバナンスモジュールと管理コンソールが組み込みの証拠を提供します。
すでに Spring AI または LangChain4j を使用しており、同じモデル/プロバイダーを維持しつつ、ストリーミング、マルチチャネル、ポリシー適用を追加したいプロジェクト。 対応する atmosphere‑spring‑ai または atmosphere‑langchain4j アダプターを追加します。

強みと制限(README に記載されているとおり)

強み

  • 統合されたリアルタイムトランスポート層(WebSocket、SSE、gRPC、オプションの HTTP/3)。
  • ディープエージェントのデフォルト(メモリ、プランニング、仮想 FS、サブエージェント)と細かい制御。
  • プラグ可能なランタイムアダプター – OpenAI、Anthropic、Cohere、または Spring‑AI 互換のプロバイダーを交換できます。
  • 強力なガバナンス:ポリシーアドミッション、コスト/PII 制限、プランアンドベリファイ、永続的な HITL。
  • マルチチャネル公開(MCP、A2A、AG‑UI、Slack、Discord など)追加コードなし。
  • オープンソース、Maven Central + npm 配布、CI バッジは活発なテストを示しています。

制限 / 範囲

  • これはホスティングプラットフォームではありません。サーブレットコンテナ(Tomcat、Jetty など)とコンピューティングリソースを提供する必要があります。
  • 支払い/コマース機能は範囲外です – LLM の請求管理は自分で行う必要があります。
  • 一部のアダプターにはバージョン制約があります(例:atmosphere‑spring‑ai‑alibaba は Spring Boot 3.5 でのみ動作します)。
  • フレームワークは JVM 言語に焦点を当てています。非 JVM エコシステムには別のブリッジが必要です。

クイックリファレンスリンク(README から)


TL;DR

Atmosphere は、@Agent アノテーションが付いたプレーンな Java クラスを、フル機能のストリーミング AI サービスに変える、本番グレードの JVM ネイティブフレームワークです。リアルタイムトランスポート、永続状態、ポリシー駆動のガバナンス、人間による承認、多くのチャットモデルプロバイダーとメッセージングチャネルへのすぐに使えるコネクタを提供します。すでに Java サービスを実行しており、ブラウザ、Slack、またはカスタム gRPC クライアントと通信できる、ガバナンスされたステートフルな LLM エージェントが必要な場合、Atmosphere は配管を提供するので、エージェントロジックに集中できます。


上記の詳細はすべてリポジトリの README から直接取得したものです。追加の機能は推測されていません。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト