AG-UI 개요
AG-UI 개요 (The Agent–User Interaction Protocol)
AG-UI는 AI 에이전트가 사용자 대상 애플리케이션에 연결되는 방식을 표준화하는 개방형(open), 경량(lightweight), 이벤트 기반(event-based) 프로토콜이에요.
출처: 문서
본문
AG-UI는 사용자 대상 애플리케이션과 어떤 에이전틱 백엔드든 연결하는 범용적이고 양방향적인 연결로 설계되었어요. 단순함과 유연성을 위해 만들어졌으며, 모델/에이전트 런타임과 사용자 대상 프론트엔드 애플리케이션 사이에서 에이전트 상태, UI 의도, 사용자 상호작용이 흐르는 방식을 표준화합니다. 덕분에 애플리케이션 개발자는 복잡한 ad-hoc 연결을 피하면서 애플리케이션 요구에 집중하고, 안정적이고 디버깅 가능하며 사용자 친화적인 에이전틱 기능을 빠르게 출시할 수 있어요.
에이전틱 프로토콜 (Agentic Protocols)
"A2UI"와 "AG-UI"가 헷갈리시나요? 이해가 가요! 이름이 비슷하지만 둘은 꽤 다르고 함께 잘 동작합니다. A2UI는 에이전트가 UI 위젯을 전달하도록 하는 생성형 UI 스펙이고, AG-UI는 에이전틱 프론트엔드를 어떤 에이전틱 백엔드에든 연결하는 에이전트↔사용자 상호작용 프로토콜이에요.
AG-UI는 세 가지 대표적인 공개 에이전틱 프로토콜 중 하나입니다.
| 층 (Layer) | 프로토콜 / 예시 | 목적 (Purpose) |
|---|---|---|
| 에이전트 ↔ 사용자 상호작용 | AG-UI (Agent–User Interaction Protocol) |
에이전트를 사용자 대상 애플리케이션에 연결하는 개방형 이벤트 기반 표준 — 실시간·멀티모달·대화형 경험을 가능하게 합니다. |
| 에이전트 ↔ 도구 & 데이터 | MCP (Model Context Protocol) |
에이전트가 외부 시스템(도구, 워크플로, 데이터 소스)에 안전하게 연결하게 해주는 (Anthropic이 시작한) 공개 표준. |
| 에이전트 ↔ 에이전트 | A2A (Agent to Agent) |
분산 에이전틱 시스템에서 에이전트가 조정하고 작업을 공유하는 방식을 정의하는 (Google이 시작한) 공개 표준. |
빌딩 블록 (지금 & 곧 제공) — Building blocks (today & upcoming)
AG-UI가 제공하는 핵심 빌딩 블록들을 소개할게요:
- Streaming chat — 취소와 재개가 가능한 응답성 높은 멀티턴 세션을 위한 실시간 토큰·이벤트 스트리밍.
- Multimodality — 타입이 있는 첨부 파일과 실시간 미디어(파일·이미지·오디오·트랜스크립트); 음성, 미리보기, 주석, 출처(provenance)를 지원.
- Generative UI, static — 모델 출력을 앱 제어 하에 안정적이고 타입이 있는 컴포넌트로 렌더링.
- Generative UI, declarative — 제한적이면서도 개방적인 에이전트 UI를 위한 작은 선언형 언어; 에이전트가 트리와 제약을 제안하면 앱이 검증하고 마운트.
- Shared state — (읽기 전용 & 읽기-쓰기). 에이전트와 앱이 공유하는 타입이 있는 저장소. 빠른 협업을 위해 스트리밍된 event-sourced diff와 충돌 해결을 제공.
- Thinking steps — 트레이스와 도구 이벤트에서 중간 추론을 시각화 (원시 chain of thought는 없음).
- Frontend tool calls — 에이전트에서 프론트엔드가 실행하는 액션으로(그리고 다시 돌아오는) 타입이 있는 핸드오프.
- Backend tool rendering — 앱과 채팅에서 백엔드 도구 출력을 시각화하고, 부작용을 일급 이벤트로 발행.
- Interrupts (human in the loop) — 상태를 잃지 않고 흐름 중간에 일시정지, 승인, 편집, 재시도, 또는 에스컬레이션.
- Sub-agents and composition — 스코프된 상태·트레이싱·취소를 갖는 중첩 위임.
- Agent steering — 실시간 사용자 입력으로 에이전트 실행을 동적으로 리다이렉트해 행동과 결과를 안내.
- Tool output streaming — 도구 결과와 로그를 스트리밍해 UI가 장기 실행 효과를 실시간으로 렌더링.
- Custom events — 프로토콜이 커버하지 않는 요구를 위한 개방형 데이터 교환.
왜 에이전틱 앱에 AG-UI가 필요한가 (Why Agentic Apps need AG-UI)
에이전틱 애플리케이션은 에이전트 이전 시대에 프론트엔드-백엔드 개발을 지배했던 단순한 요청/응답 모델을 깨뜨려요. 클라이언트가 요청하면 서버가 데이터를 반환하고, 클라이언트가 렌더링하며 상호작용이 끝났죠.
사용자 대상 에이전트의 요구사항
에이전트는 소프트웨어일 뿐이지만, 전통적인 REST/GraphQL API 뒤에서 서비스되기 어렵게 만드는 특성을 지닙니다:
- 에이전트는 장기 실행(long-running) 이며 중간 작업을 스트리밍해요 — 종종 멀티턴 세션에 걸쳐서요.
- 에이전트는 비결정적(nondeterministic) 이며 애플리케이션 UI를 비결정적으로 제어할 수 있어요.
- 에이전트는 구조화 + 비구조화 IO를 동시에 섞어요 (예: 텍스트와 음성, 그리고 도구 호출과 상태 갱신).
- 에이전트는 사용자 상호작용적 구성(composition) 을 필요로 해요: 예를 들어 하위 에이전트를 (종종 재귀적으로) 호출할 수 있어야 하죠.
- 그 외 더 많아요...
AG-UI는 에이전틱 프론트엔드와 백엔드 사이의 동적 통신을 가능케 하는 이벤트 기반 프로토콜입니다. 웹의 기반 프로토콜(HTTP, WebSockets) 위에 에이전틱 시대를 위해 설계된 추상 계층으로 구축되어, 전통적인 클라이언트-서버 아키텍처와 AI 에이전트의 동적이고 상태가 있는 특성 사이의 간극을 메워요.
AG-UI 실제 사용 (AG-UI in Action)
원하는 프레임워크로 AG-UI 기능의 데모 앱을 미리보기·코드·워크스루 문서와 함께 AG-UI Dojo에서 확인할 수 있어요.
지원 통합 (Supported Integrations)
AG-UI는 CopilotKit이 LangChain 및 CrewAI와 맺은 최초 파트너십에서 탄생했으며, 매우 인기 있는 에이전트-사용자 상호작용 인프라를 더 넓은 에이전틱 생태계로 가져왔어요.
1st party = AG-UI가 내장되어 있고 안내 문서를 제공하는 플랫폼.
Direct to LLM
| Framework | Status | AG-UI Resources |
|---|---|---|
| Direct to LLM | Supported | Docs |
에이전트 프레임워크 - 파트너십
| Framework | Status | AG-UI Resources |
|---|---|---|
| LangChain | Supported | Docs, Demos |
| CrewAI | Supported | Docs, Demos |
에이전트 프레임워크 - 1st Party
| Framework | Status | AG-UI Resources |
|---|---|---|
| Microsoft Agent Framework | Supported | Docs, Demos |
| Google ADK | Supported | Docs, Demos |
| AWS Strands Agents | Supported | Docs, Demos |
| AWS Bedrock AgentCore | Supported | Docs |
| Mastra | Supported | Docs, Demos |
| Pydantic AI | Supported | Docs, Demos |
| Agno | Supported | Docs, Demos |
| LlamaIndex | Supported | Docs, Demos |
| AG2 | Supported | Docs Demos |
| AWS Bedrock Agents | In Progress | – |
에이전트 프레임워크 - 커뮤니티
| Framework | Status | AG-UI Resources |
|---|---|---|
| Claude Agent SDK | Supported | Demos |
| Claude Managed Agents SDK | Supported | Integration, Demos |
| Langroid | Supported | Demos |
| OpenAI Agent SDK | In Progress | – |
| Cloudflare Agents | In Progress | – |
에이전트 상호작용 프로토콜
| Protocol | Status | AG-UI Resources | Integrations |
|---|---|---|---|
| A2A Middleware | Supported | Docs | Partnership |
인프라 / 배포
| Platform | Status | AG-UI Resources | Integrations |
|---|---|---|---|
| Amazon Bedrock AgentCore | Supported | Docs | 1st Party |
스펙 (표준)
| Framework | Status | AG-UI Resources |
|---|---|---|
| Oracle Agent Spec | Supported | Docs, Demos |
생성형 UI
| Framework | Status | AG-UI Resources |
|---|---|---|
| A2UI | Supported | Docs |
| MCP Apps | Supported | Docs |
SDK
| SDK | Status | AG-UI Resources | Integrations |
|---|---|---|---|
| Kotlin | Supported | Getting Started | Community |
| Golang | Supported | Getting Started | Community |
| Dart | Supported | Getting Started | Community |
| Java | Supported | Getting Started | Community |
| Rust | Supported | Getting Started | Community |
| Ruby | Supported | Getting Started | Community |
| C++ | Supported | GitHub Source | Community |
| .NET | Supported | Getting Started | Community |
| Nim | In Progress | PR | Community |
| Flowise | In Progress | GitHub Source | Community |
| Langflow | In Progress | GitHub Source | Community |
클라이언트 (Clients)
| Client | Status | AG-UI Resources | Integrations |
|---|---|---|---|
| CopilotKit | Supported | Getting Started | 1st Party |
| Terminal + Agent | Supported | Getting Started | Community |
| Chat platforms (Slack, Microsoft Teams) | Supported | Channels SDK, OpenTag example | 1st Party |
| React Native | Supported | Example | 1st Party |
AG-UI 클라이언트가 반드시 웹 애플리케이션일 필요는 없어요. 프로토콜은 렌더링 대상을 기술하는 것이 아니라 이벤트 스트림을 기술하므로, 터미널, 모바일 앱, 채팅 플랫폼 각각이 클라이언트가 될 수 있어요.
채팅 플랫폼 클라이언트는 누구나 AG-UI에 맞춰 만들 수 있는 것이에요. Channels SDK가 그 구현 중 하나고, OpenTag는 그 위에 구축된 완전한 애플리케이션입니다. AG-UI 위에서 Python LangGraph 에이전트를 서빙해 Slack과 Microsoft Teams로 보내죠. 그 애플리케이션에서 에이전트와 런타임은 자체 호스팅되며, 플랫폼 자격 증명과 메시지 전달은 자체 호스팅 프로토콜이 아닌 호스팅 서비스인 CopilotKit Intelligence가 처리합니다.
빠른 시작 (Quick Start)
필요에 맞는 경로를 선택하세요:
- Build agentic applications — AG-UI 호환 에이전트로 구동되는 에이전틱 애플리케이션 빌드.
/quickstart/applications - Build new AG-UI integrations — 새 에이전트 프레임워크용 통합, 맞춤 사내 솔루션, 또는 에이전트 프레임워크 없이 AG-UI 사용.
/quickstart/introduction - Build AG-UI compatible clients — AG-UI 호환 에이전트용 새 클라이언트(웹, 모바일, Slack, 메시징 등) 빌드.
/quickstart/clients
AG-UI 탐구 (Explore AG-UI)
AG-UI의 핵심 개념과 기능을 더 깊이 파고들어 보세요:
- Core architecture — AG-UI가 에이전트, 프로토콜, 프론트엔드를 어떻게 연결하는지 이해하기.
/concepts/architecture - Events — AG-UI의 이벤트 기반 프로토콜 알아보기.
/concepts/events
리소스 (Resources)
AG-UI 구현을 빌드·최적화·확장하는 데 도움이 되는 가이드, 도구, 통합을 살펴보세요. 실무 개발 워크플로부터 디버깅 기법까지 다양한 주제를 담고 있어요.
- Developing with Cursor — Cursor로 AG-UI 구현을 더 빠르게 빌드.
/tutorials/cursor - Troubleshooting AG-UI — AG-UI 서버와 클라이언트 작업 시 흔한 문제 해결.
/tutorials/debugging
기여 (Contributing)
기여하고 싶으신가요? Contributing Guide를 확인해 AG-UI를 개선하는 데 참여하는 방법을 배워보세요.
지원과 피드백 (Support and Feedback)
도움을 받거나 피드백을 제공하는 방법은 다음과 같아요:
- AG-UI 스펙·SDK·문서(오픈소스) 관련 버그 리포트와 기능 요청은 GitHub 이슈 만들기
- AG-UI에 대한 토론·Q&A는 Discord 커뮤니티 참여
- 프로덕션 아키텍처·구현 지원은 Production support 참고
더 알아보기 (Learn more)
- 에이전틱 프로토콜 — MCP, A2A, AG-UI의 관계
- 빠른 시작: 클라이언트 — AG-UI 클라이언트 빌드
- 빠른 시작: 서버 — AG-UI 서버 구현