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 에이전트를 일반 웹 서비스처럼 실행할 수 있게 해줍니다. 대부분의 LLM 기반 에이전트가 필요로 하는 배관을 처리합니다: 실시간 전송을 통한 스트리밍 응답, 영구 상태, 거버넌스(정책, 비용 제한, PII 편집), 인간 개입 승인, 다중 채널 노출(WebSocket, SSE, gRPC, Slack, Discord, …). 핵심 라이브러리는 Maven Central(org.atmosphere:atmosphere‑runtime)에 있으며, 동반 JavaScript 클라이언트(atmosphere.js)는 npm에 게시됩니다.
핵심 개념 및 상호 작용 방식
| 개념 | Atmosphere가 제공하는 것 | AI 에이전트에 중요한 이유 |
|---|---|---|
| @Agent 어노테이션 | 클래스를 AI 에이전트로 선언합니다. 이 어노테이션은 메모리, 계획 도구, 가상 파일 시스템, 하위 에이전트 위임, 명령 엔드포인트를 자동으로 연결합니다. | 보일러플레이트를 작성하지 않고도 딥 에이전트를 즉시 얻을 수 있습니다. |
| 스트리밍 전송 | 하나의 브로드캐스터가 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에 노출합니다. | 하나의 코드베이스로 웹 채팅, 내부 도구, 메시징 봇을 지원합니다. |
| 샌드박스 실행 | 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에서 직접 가져온 것입니다. 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트