ag-ui-protocol/ag-ui
AG-UI: the Agent-User Interaction Protocol. Bring Agents into Frontend Applications.
AG‑UI: 에이전트-사용자 상호 작용을 위한 개방형 프로토콜
정의 – AG‑UI(에이전트-사용자 상호 작용)는 AI 에이전트가 사용자 대상 애플리케이션과 통신하는 방식을 표준화하는 가볍고 이벤트 기반 프로토콜입니다. 에이전트가 내보낼 수 있는 약 16개의 이벤트 유형과 앱이 다시 보낼 수 있는 몇 가지 간단한 입력 형태를 정의합니다. 미들웨어 계층은 전송(SSE, WebSockets, webhooks 등)과 느슨한 형식 일치를 처리하여 백엔드 지향 에이전트를 모든 프런트엔드 UI에 쉽게 연결할 수 있게 합니다.
중요성 – 최신 AI 에이전트(LangChain, CrewAI, Microsoft Agent Framework 등)는 추론에 뛰어나지만 라이브 사용자 인터페이스에 통합하는 것은 여전히 임시방편입니다. AG‑UI는 새로운 에이전트 프로토콜 스택의 에이전트-인간 계층에 위치합니다(MCP는 도구를 제공하고, A2A는 에이전트 간 통신을 허용하며, AG‑UI는 에이전트를 사람에게 연결합니다). 공통 계약을 제공함으로써 개발자는 UI 구성 요소를 재사용하고 상태를 공유하며 글루 코드를 다시 작성하지 않고 에이전트를 교체할 수 있습니다.
주요 기능
- 스트리밍 실시간 채팅 – 에이전트가 부분 응답을 이벤트로 푸시합니다.
- 양방향 상태 동기화 – UI와 에이전트가 공유 상태 모델을 최신 상태로 유지합니다.
- 생성 UI 메시지 – 에이전트가 클라이언트가 즉시 렌더링하는 UI 요소(양식, 테이블 등)를 설명할 수 있습니다.
- 컨텍스트 강화 – 이벤트는 더 풍부한 응답을 위해 추가 사용자 컨텍스트(위치, 최근 작업 등)를 전달할 수 있습니다.
- 도구 통합 훅 – 프런트엔드 라이브러리가 에이전트가 호출할 수 있는 도구(예: 파일 업로드)를 노출할 수 있습니다.
- 인간 개입 – 사용자가 에이전트 작업에 개입, 편집 또는 승인할 수 있습니다.
지원 생태계 – 이 프로젝트는 참조 HTTP 구현과 기본 커넥터를 제공하며 여러 언어(Kotlin, Go, Dart, Java, Rust, Ruby, C++, .NET 등)용 SDK를 제공합니다. 퍼스트파티 통합에는 CopilotKit, LangChain, CrewAI, Microsoft Agent Framework, Google ADK, AWS Strands, LlamaIndex 등이 포함됩니다. Claude SDK, Langroid, Cloudflare Agents 등에 대한 커뮤니티 어댑터도 있습니다.
시작하기 – 가장 쉬운 진입점은 CLI 스타터입니다:
npx create-ag-ui-app my-agent-app
이 명령은 프로토콜을 사용하여 에이전트 백엔드를 웹 UI에 연결하는 최소 앱을 스캐폴드합니다. AG‑UI Dojo (https://dojo.ag-ui.com)는 각 빌딩 블록의 작은 예제(50-200줄)를 보여주며, 문서는 애플리케이션 및 프레임워크 통합에 대한 빠른 시작 가이드를 제공합니다.
일반적인 사용 사례
- 에이전트 백엔드(예: LangChain 그래프)가
message,stateUpdate,toolCall이벤트를 내보냅니다. - AG‑UI 미들웨어가 이를 표준 이벤트 페이로드로 변환하고 WebSocket을 통해 스트리밍합니다.
- 프런트엔드 클라이언트(React, React‑Native, 터미널, Slack 등)가 이벤트를 수신하고 채팅 UI를 렌더링하며 공유 상태를 업데이트하고 사용자 입력을 AG‑UI 호환 요청으로 다시 보낼 수 있습니다.
- 루프가 계속되어 제품 내에서 대화형, 컨텍스트 인식 AI 경험을 가능하게 합니다.
커뮤니티 및 거버넌스 – 이 프로젝트는 MIT 라이선스이며 활발한 Discord, 격주 워킹 그룹, 공개 로드맵(GitHub Projects)이 있습니다. 일반적인 풀 리퀘스트 흐름과 자세한 CONTRIBUTING 가이드를 통해 기여를 환영합니다.
TL;DR – AG‑UI는 AI 에이전트와 사용자 인터페이스 간의 통신을 표준화하는 실제 오픈 소스 프로토콜로, 다양한 언어와 프레임워크에서 실시간 채팅, 상태 동기화, 생성 UI 기능을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트