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 サンドボックスプロバイダー。 |
潜在的に危険なツール呼び出しをホストシステムから分離します。 |
開発者の典型的なワークフロー
- プロジェクトを作成 CLI を使用:
atmosphere new my-agent --template ai-chat # Spring‑Boot スターターを選択 cd my-agent LLM_API_KEY=… ./mvnw spring-boot:run - @Agent クラスを記述
@Promptアノテーションが付いたメソッドはユーザーメッセージを受け取り、StreamingSessionを介してトークンをストリーミングできます。@Commandメソッドはスラッシュスタイルのコマンドを公開し、@AiToolメソッドは LLM が呼び出し可能なツールになります。 - ランタイムを選択 – デフォルトの組み込みアダプターを維持するか、
--runtime spring-ai/--runtime langchain4jを追加して別の SPI 実装を導入します。 - ガバナンスを設定(オプション)
application.ymlで – コスト制限、PII 編集ルールを設定するか、特定のツールに人間の承認を要求します。 - 実行 – エージェントは次の URL でアクセスできます:
ws://host/atmosphere/agent/my-agent(WebSocket ストリーム)http://host/atmosphere/agent/my-agent/mcp(MCP プロトコル)atmosphere-channelsモジュールによって生成された Slack/Discord Webhook URL。
- 観察とリプレイ – セッションテープを有効にして、すべての 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 から)
- ドキュメントサイト – https://atmosphere.github.io/docs
- Maven Central – https://central.sonatype.com/artifact/org.atmosphere/atmosphere-runtime
- npm パッケージ – https://www.npmjs.com/package/atmosphere.js
- CLI インストール –
brew install Atmosphere/tap/atmosphereまたはワンライナーインストールスクリプト。 - 主要モジュール –
atmosphere-runtime、atmosphere-ai、atmosphere-agent、atmosphere-mcp、atmosphere-channels、atmosphere-admin、atmosphere-sandbox。
TL;DR
Atmosphere は、@Agent アノテーションが付いたプレーンな Java クラスを、フル機能のストリーミング AI サービスに変える、本番グレードの JVM ネイティブフレームワークです。リアルタイムトランスポート、永続状態、ポリシー駆動のガバナンス、人間による承認、多くのチャットモデルプロバイダーとメッセージングチャネルへのすぐに使えるコネクタを提供します。すでに Java サービスを実行しており、ブラウザ、Slack、またはカスタム gRPC クライアントと通信できる、ガバナンスされたステートフルな LLM エージェントが必要な場合、Atmosphere は配管を提供するので、エージェントロジックに集中できます。
上記の詳細はすべてリポジトリの README から直接取得したものです。追加の機能は推測されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト