Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
AI 인터페이스7분 읽기·Updated 2026년 10월·ExodeUI 팀

A2UI 설명: 에이전트-UI 프로토콜이 수행하는 작업(및 수행하지 않는 작업)

A2UI는 AI 에이전트가 클라이언트가 렌더링할 인터페이스를 설명할 수 있게 해주는 선언적 JSON 프로토콜입니다. 작동 방식, 존재하는 렌더러, 수행하지 않는 작업.

핵심 요약과 정의

핵심 포인트

A2UI(Agent to UI)는 Google에서 만든 개방형 선언적 JSON 프로토콜입니다. AI 에이전트는 인터페이스에 대한 설명을 보내고 클라이언트는 에이전트에서 코드를 실행하는 대신 자체 기본 구성 요소를 사용하여 인터페이스를 렌더링합니다. 이는 애니메이션 시스템, 구성 요소 라이브러리 또는 완성된 렌더러가 아닌 신뢰 경계를 넘어 UI 구조와 데이터를 이동하는 방법입니다. ExodeUI는 A2UI 렌더러가 아니며 Google과 제휴하지 않습니다.

A2UI는 무엇입니까?

A2UI는 에이전트 중심 인터페이스용 프로토콜입니다. AI 에이전트는 텍스트 벽을 반환하거나 생성된 코드를 실행하는 대신 UI를 설명하는 JSON 메시지 스트림(생성할 표면, 포함된 구성 요소, UI를 채우는 데이터)을 보냅니다. 클라이언트는 해당 메시지를 수신하고 이미 신뢰하는 구성 요소로 결과를 렌더링합니다. A2UI는 Google에서 만들었으며 CopilotKit 및 오픈 소스 커뮤니티의 기여를 통해 Apache 2.0 라이선스를 받았습니다. 2026년 10월 현재 생산 사양은 v0.9.1이고 v1.0은 출시 후보였습니다.

A2UI가 해결하려는 문제

상담원은 유용한 답변을 생성하는 데 능숙하지만 이를 인터페이스로 전달하는 데는 능숙하지 않습니다. 텍스트 응답에는 비교표, 주문 양식 또는 대시보드가 ​​표시될 수 없습니다. 임의의 HTML 또는 JavaScript를 생성하면 프레젠테이션 문제가 해결되고 보안 문제가 생성됩니다. 클라이언트가 이제 작성하지 않은 코드를 실행하고 있기 때문입니다. A2UI는 세 번째 경로를 사용합니다. 에이전트는 제한된 형식으로 UI를 설명하고 클라이언트는 이를 렌더링하는 방법을 결정합니다. 에이전트는 클라이언트가 승인한 구성 요소만 사용할 수 있으며 실행 가능한 코드가 아닌 데이터가 출력됩니다.

A2UI 표면 제작 방법

프로토콜은 작은 메시지 유형 세트를 사용합니다. 버전마다 정확한 스키마가 달라지므로 구현 전 사양을 확인해야 하나, 형태는 안정적이다.

  • createSurface: 에이전트가 업데이트할 수 있는 인터페이스 영역인 새 표면을 생성하도록 렌더러에 지시합니다.
  • updateComponents: 해당 표면에 구성요소 정의를 추가하거나 변경합니다.
  • updateDataModel: 구조를 다시 보내지 않고 구성 요소가 표시하는 데이터를 변경합니다.
  • deleteSurface: 더 이상 필요하지 않은 표면을 제거합니다.

렌더러 및 전송

A2UI는 전송에 구애받지 않습니다. 사양은 메시지가 이동하는 방식이 아니라 메시지를 설명합니다. 이 프로젝트에는 Angular, Flutter, Lit, React 및 Markdown에 대한 렌더러 구현과 AG-UI, A2A 및 MCP에 대한 전송 바인딩이 나열되어 있으며 WebSocket, SSE 및 REST도 사용할 수 있습니다. 유연성이 핵심입니다. 각각 자체 디자인 시스템을 사용하는 웹 클라이언트, 모바일 앱 또는 데스크톱 애플리케이션에서 동일한 에이전트 응답을 렌더링할 수 있습니다.

A2UI가 수행하지 않는 작업

A2UI는 지나치게 읽기 쉽습니다. 앱에 넣을 수 있는 구성 요소 라이브러리를 제공하지 않으며 자체적으로 아무것도 렌더링하지 않습니다. 클라이언트가 제어하는 ​​렌더러와 구성 요소 카탈로그가 필요합니다. UI가 어떻게 움직이는지는 결정하지 않습니다. 도구와 데이터를 모델에 노출하는 MCP나 에이전트와 프런트엔드 간에 상호 작용 이벤트를 전달하는 AG-UI를 대체하지 않습니다. 그리고 엔지니어링 검토의 필요성이 제거되지는 않습니다. 생성된 인터페이스는 여전히 로드, 비어 있음 및 오류 상태, 권한 및 접근성을 처리해야 합니다.

A2UI 대 AG-UI 대 MCP

이 세 가지는 동일한 문제의 서로 다른 계층을 해결하기 때문에 종종 함께 언급됩니다. 유용한 약어: A2UI는 인터페이스를 설명하고, AG-UI는 상호 작용을 전달하며, MCP는 에이전트 도구와 데이터를 제공합니다. A2UI의 자체 문서에서는 AG-UI를 A2UI에 대한 전송 바인딩으로 설명하고 있으며 A2UI는 MCP를 통해 이동할 수도 있습니다. 이는 경쟁적인 표준이 아니라 보완적인 표준입니다. 통합을 선택하는 경우 가장 탄력적인 프로토콜이 아닌 클라이언트가 렌더링할 수 있는 것과 이미 지원하는 전송부터 시작하십시오.

애니메이션과 상호작용이 적합한 곳

A2UI는 구조와 데이터를 설명합니다. 모션은 클라이언트의 관심사입니다. 렌더러는 표면이 즉시 나타나는지, 페이드 인되는지, 이전 상태에서 전환되는지를 결정합니다. 이는 디자인 시스템과 접근성 설정을 존중할 수 있는 클라이언트의 애니메이션 시스템을 유지하므로 제품 팀에게는 좋은 소식입니다. 이는 또한 A2UI 구현이 자동으로 애니메이션화되지 않음을 의미합니다. 생성된 인터페이스에 버튼 누르기, 상태 전환 또는 마스코트 반응이 필요한 경우 클라이언트는 해당 동작을 제공해야 합니다. ExodeUI는 클라이언트에서 대화형 모션을 재생할 수 있고 AI 코딩 도구용 MCP 서버를 가지고 있지만 A2UI 렌더러가 아니므로 하나로 설명해서는 안 됩니다.

프로덕션 구현 예시

인터랙티브 컴포넌트 구현
// Simplified shape of an A2UI message stream (schema differs by version).
{ "createSurface":    { "surfaceId": "cart" } }
{ "updateComponents": { "surfaceId": "cart", "components": [ /* ... */ ] } }
{ "updateDataModel":  { "surfaceId": "cart", "data": { /* ... */ } } }
{ "deleteSurface":    { "surfaceId": "cart" } }

기억할 핵심 원칙

  • A2UI는 Google에서 생성하고 Apache 2.0에 따라 라이센스가 부여된 에이전트 설명 인터페이스용 JSON 프로토콜입니다.
  • 클라이언트는 자체 구성 요소를 사용하여 렌더링합니다. 에이전트는 임의의 UI 코드를 실행하지 않습니다.
  • 메시지를 정의하고 렌더러, 전송 및 모션을 클라이언트에 맡깁니다.
  • 애니메이션 시스템이나 드롭인 구성 요소 라이브러리가 아닙니다.
  • ExodeUI는 A2UI 렌더러가 아니며 Google과 아무런 관련이 없습니다.

자주 묻는 질문

관련 가이드와 예제

인터랙티브 UI는 한 번만 디자인하고, 같은 파일을 배포하세요.

ExodeUI에서 상태, 스프링 물리, 로직을 시각적으로 만들고 같은 파일을 React, SwiftUI, Flutter 등에서 재생하세요. 무료로 시작할 수 있습니다.

무료로 사용해 보기