3줄 요약
• Akka는 액터 모델 위에 Agent 컴포넌트를 1급 시민으로 얹어, 세션 메모리·MCP/A2A·durable execution이 SDK 한 묶음에 들어 있는 보기 드문 풀스택이다.
• 같은 2026년, MS Agent Framework 1.0 (.NET+Python), Google ADK 1.0 (Python/Go/Java/TS), OpenAI Agents SDK (sandbox+manifest)가 동시에 GA를 찍었지만 추상화 층이 모두 다르다.
• AiAgent를 직접 설계할 때는 "런타임이 핵심인가, 거버넌스가 핵심인가, 워크스페이스가 핵심인가, 멀티 언어 이식성이 핵심인가"라는 네 질문이 곧 프레임워크 선택이다.
1. 왜 지금 Akka의 AiAgent를 다시 봐야 하는가
2026년 4월~5월, Agent 프레임워크의 표면이 한꺼번에 굳어졌다.
- 2026-04-03 Microsoft Agent Framework 1.0 GA (.NET + Python, Semantic Kernel + AutoGen 통합)
- 2026-04-15 OpenAI Agents SDK 차세대 진화 발표 (model-native harness + sandbox-aware orchestration)
- 2026-04 (Google Cloud Next) Google ADK 1.0 GA (Python/Go/Java/TypeScript 4언어 동시)
- 2026-05 Akka Agentic AI Platform 가이드 공개 — Orchestration·Agents·Memory·Streaming 4코어 단일 SDK
Gartner는 2025년 6월 발표한 보도자료에서 "2027년까지 에이전틱 AI 프로젝트의 40% 이상이 비용 폭증·불명확한 비즈니스 가치·부적절한 위험 통제로 취소될 것"이라고 경고했다. 프레임워크 선택을 가볍게 보면 60% 진영에 들어가지 못한다는 뜻이다.
이 글의 목적은 AiAgent를 직접 설계·개발할 때 참고할 4사 비교다. 단순 기능 표가 아니라 레이어가 어디에 있는가를 본다.
2. Akka Agent SDK — 액터 모델 위에 얹은 1급 컴포넌트
Akka는 2026년에 새로 만든 SDK가 아니다. 2009년부터 JVM 액터 모델(Actor Model: 1973년 Carl Hewitt이 제안한 동시성 모델 — 모든 상태를 액터가 캡슐화하고 비동기 메시지로만 통신)의 표준 구현이었고, 그 위에
Agent 컴포넌트를 새로 추가했다는 점이 다른 진영과 결정적으로 다르다.2.1 Agent 컴포넌트의 본질
Agent는 하나의 일에만 집중하는 lightweight 단일 목적 컴포넌트다. Java 기준 골격은 다음과 같다.@Component(id = "research-agent") public class ResearchAgent extends Agent { public Effect<String> query(String question) { return effects() .systemMessage("You are a research analyst.") .userMessage(question) .thenReply(); } }
선언적 모델 호출(
effects().systemMessage().userMessage().thenReply())이 핵심이고, 그 아래에는 액터 모델이 깔려 있다. 즉 Agent 인스턴스는 곧 액터이고, 메일박스·감독·위치 투명성·durable state가 그대로 따라온다.2.2 세션 메모리 (단기 + 장기)
- 단기: 세션 ID로 묶인 여러 턴의 대화 기록을 자동 관리. 여러 에이전트가 같은 세션을 공유해 핸드오프 시 컨텍스트가 끊기지 않는다.
- 장기: semantic knowledge, skills, retrieved data를 사용자·세션·에이전트·시스템 경계를 넘어 영구화. RAG/벡터스토어를 별도 도입하지 않아도 SDK 안에서 다룬다.
2.3 멀티 LLM + MCP/A2A 네이티브
항목 | Akka가 지원하는 것 |
LLM 제공자 | OpenAI, Anthropic, Azure OpenAI, Bedrock, Google Gemini, Hugging Face, Ollama, LocalAI |
도구 | 로컬 함수, 외부 API, MCP 서버 모두 동일 인터페이스로 LLM에 노출 |
프로토콜 | MCP, A2A, ACP 모두 — Linux Foundation A2A 생태계와 직접 상호운용 |
2.4 감독 방식 두 갈래
Akka가 다른 SDK에 없는 결정적 명료함을 제공하는 지점이다.
- Workflow 감독: 개발자가 명시적 단계를 코드로 적고, 각 단계에서 Agent를 함수처럼 호출. 예측 가능성 1순위.
- Autonomous Agent 감독: 위임(delegation), 핸드오프(handoff), 팀(team), 중재(arbitration)를 SDK가 선언적으로 조율. AutoGen/CrewAI 스타일을 1급으로 표현.
같은 SDK에서 둘 다 고를 수 있다는 점이 핵심이다. 다른 진영은 보통 한쪽에 치우친다.
2.5 Production-grade 본능
Akka는 처음부터 미션 크리티컬 인프라(은행 코어, 트레이딩, 통신사 신호망)에서 검증된 액터 런타임이다. Agent에도 그대로 상속된다.
- 클러스터링·자동 페일오버·transparent multi-region replication 기본 탑재
- stateful workflow engine으로 워크플로우 중단/재시작 시 정보 손실 없음 (
no information is lost) — 일명 durable execution(컨테이너가 죽어도 마지막 체크포인트에서 이어 실행)
- HIPAA, SOC2, DORA compliance 표준 준수
- session replay, human-in-the-loop, full observability 기본 제공
3. 같은 시점, 4사 스펙 비교
추상화 층이 모두 다르다는 사실을 한 표에서 보자.
구분 | Akka | MS Agent Framework 1.0 | Google ADK 1.0 | OpenAI Agents SDK |
GA / 발표 | 2009- (Agent 컴포넌트 신설) | 2026-04-03 GA | 2026-04 (Cloud Next) | 2026-04-15 차세대 발표 |
추상화 중심 | 액터 런타임 위의 Agent | 그래프 워크플로우 + 멀티에이전트 SDK | 크로스 언어 SDK + A2A | Harness + Sandbox + Manifest |
지원 언어 | Java, Scala (.NET 별도) | .NET, Python | Python, Go, Java, TypeScript | Python first, TS 예정 |
1급 프로토콜 | MCP, A2A, ACP | MCP, A2A 네이티브 | A2A 본가 + MCP | MCP, skills, shell, apply patch |
장기 실행 | stateful workflow + multi-region replication | graph workflow | Vertex Agent Engine | snapshotting + rehydration |
sandbox / 격리 | 분산 액터 자체 | Azure Container Apps | Cloud Run / GKE | 7 providers (E2B/Modal/Vercel 등) |
라이선스 | BSL + 일부 OSS | MIT | Apache 2.0 | MIT |
3.1 추상화 층이 다르다는 게 무슨 뜻인가
- Akka는 런타임(액터+감독) 위에 SDK가 얹힌 구조. "긴 시간 살아 있는 분산 에이전트"가 자연스럽다.
- Microsoft는 그래프 워크플로우 + 멀티 에이전트 오케스트레이션 SDK. Semantic Kernel의 엔터프라이즈 기반에 AutoGen의 멀티 에이전트가 합쳐졌다.
Microsoft.Agents.AI단일 네임스페이스 + YAML 선언적 정의.
- Google ADK는 크로스 런타임 SDK. 같은 에이전트 로직이 Python/Go/Java/TS 4 런타임에 그대로 이식된다. A2A 프로토콜의 본가답게 inter-agent 통신이 1급.
- OpenAI는 harness + sandbox 분리 + Manifest 워크스페이스 계약. "파일을 읽고 코드를 수정하고 쉘을 실행하는" coding-agent에 초점. harness/compute 분리로 보안·durability·scale을 동시에 해결.
3.2 공통점 — MCP + A2A가 사실상 표준
4사 모두 MCP(도구 호출)와 A2A(에이전트 간 통신)를 네이티브로 흡수했다. 이것은 우연이 아니라 2026년 에이전트 인프라의 수렴점이다.
- MCP: 도구·데이터 소스를 모델에 노출하는 표준 (Anthropic 발 → 업계 공용)
- A2A: Linux Foundation 거버넌스, 150+ 조직 프로덕션 채택. 이종 프레임워크 간 에이전트 직접 통신.
→ 결론: 어느 SDK를 골라도 MCP/A2A 너머의 생태계는 같다. 차이는 그 위에 올라가는 런타임·SDK 추상화에 있다.
3.3 차이점 — 누가 무엇을 1급으로 두는가
차원 | Akka 1급 | MS Agent FW 1급 | Google ADK 1급 | OpenAI Agents SDK 1급 |
액터 런타임 | ✅ | — | — | — |
워크플로우 그래프 | 부분 | ✅ AutoGen + SK 통합 | 부분 | — |
크로스 언어 이식 | — | .NET + Python | ✅ 4언어 동일 로직 | — |
파일 / 쉘 / 패치 | — | — | — | ✅ |
거버넌스 내장 | ✅ HIPAA / SOC2 / DORA | AGT 사이드카 | — | — |
Manifest 워크스페이스 | — | — | — | ✅ |
sandbox 분리 | 분산 액터 자체 | Azure | GKE | ✅ 7 providers |
4. AiAgent를 직접 설계할 때 — 결정 트리
내가 만드는 에이전트의 성격을 다음 네 질문으로 분류하면 프레임워크가 거의 자동으로 결정된다.
4.1 Q1. 에이전트가 얼마나 오래 살아남아야 하는가
- 수 초~수 분 단위 단발 응답 → 어느 SDK도 충분. 가장 친숙한 언어로 가도 된다.
- 수 시간~수 일 단위 장기 실행, 중간에 죽으면 복구 필수 → Akka 또는 OpenAI Agents SDK. Akka: stateful workflow + cluster replication으로 노드 단위 복구. OpenAI: snapshotting + rehydration(스냅샷에서 새 컨테이너에 상태를 다시 채워 넣는 복구 방식)으로 sandbox 단위 복구.
- GitHub PR/스케줄 트리거로 잠깐 깨어났다 자는 cron형 → Claude Code Routines가 더 맞을 수 있다 (이 글의 비교 범위 밖).
4.2 Q2. 파일·코드·쉘을 직접 만지는가
- 그렇다 (coding agent, ops agent, evidence inspector) → OpenAI Agents SDK가 가장 정렬돼 있다.
shell,apply patch,AGENTS.md,skills가 1급 primitive다.
- 아니다 (대화·분석·도메인 추론) → Akka·MS·Google 중 다른 기준으로 선택.
4.3 Q3. 어느 언어·런타임 위에서 굴려야 하는가
- JVM (Scala/Java/Kotlin) 또는 .NET 본격 백엔드 → Akka (JVM 액터 모델 최고 성숙도)
- .NET 풀스택 + Azure 위주 → Microsoft Agent Framework 1.0 (.NET first-class, Azure OpenAI 통합)
- GCP 위주 + Python/Go/Java/TS 어디든 이식해야 함 → Google ADK 1.0 (4 언어 같은 로직)
- Python 중심 + sandbox provider 자유롭게 갈아끼우고 싶다 → OpenAI Agents SDK
4.4 Q4. 거버넌스/보안이 1급이어야 하는가
- HIPAA/SOC2/DORA/EU AI Act 같은 규제 산업 → Akka가 가장 단단하다. SDK 자체에 compliance가 내장. 추가로 메모라이저: MS AGT vs Google AX 비교에서 정리한 대로 MS Agent Governance Toolkit(AGT)을 사이드카로 얹으면 OWASP Agentic Top 10까지 정량 차단 (단일 룰 평가 0.012ms, 50 에이전트 병렬 35,481 ops/sec).
- 연구·프로토타입·내부 도구 → 어느 쪽이든. 단, 프로토타입 단계에서 정한 SDK가 그대로 프로덕션으로 따라간다는 점은 항상 의식하자.
5. AiAgent 디벨롭 — 실무 체크리스트
단계 | 질문 | Akka 답 | OpenAI Agents SDK 답 |
컴포넌트 정의 | Agent를 어떻게 표현하나 | @Component + extends Agent | SandboxAgent + Manifest |
세션 기억 | 멀티턴/멀티에이전트 컨텍스트 | 세션 ID로 자동 공유 | configurable memory + state externalization |
도구 노출 | LLM에 함수를 어떻게 주나 | function tools / MCP / A2A 동일 인터페이스 | MCP + shell + apply patch + skills |
장기 실행 | 노드/컨테이너 죽으면 | cluster 자동 페일오버 + workflow durable | snapshotting + rehydration |
모델 교체 | 다른 LLM으로 바꾸려면 | application.conf 한 줄 | provider 1-line swap |
관찰성 | 무엇이 기본인가 | session replay + HITL + full observability | run/session 기록 + trace |
거버넌스 추가 | OWASP Top 10 차단 | MS AGT 사이드카로 add-on | MS AGT 사이드카로 add-on |
6. 결론 — 액터 모델은 우연이 아니라 수렴점이다
이 비교에서 드러난 핵심은 한 줄이다.
"멀티 에이전트 + 장기 실행 + 분산 + 메시지 패싱"이라는 2026년 에이전트의 요구사항은, 1973년 Carl Hewitt이 제안한 액터 모델의 정의와 거의 동의어다.
- MS Agent Framework의 멀티 에이전트 그래프 워크플로우 → 액터 트리
- Google ADK의 A2A 통신 → 액터 간 비동기 메시지
- OpenAI Agents SDK의 sandbox/subagent 분리 → 액터의 위치 투명성 + 격리
Akka가 새 트렌드에 올라탄 게 아니라, 다른 진영이 같은 결론에 도달한 것에 가깝다. 그래서 Akka의
Agent 컴포넌트는 새 추상이 아니라, 25년 묵은 액터 위에 "Agent 셔츠"를 입힌 가장 자연스러운 선택지로 읽힌다.AiAgent를 직접 설계한다면, 자신이 풀려는 문제의 추상화 층이 어디인지를 먼저 그리자. 거기에 맞는 SDK가 위 결정 트리의 끝에 매달려 있다.