개발자가 UI를 직접 설계하지 않는 시대: Agentic Dynamic UI 아키텍처
전통적인 사용자 경험(UX) 개발은 기획자와 개발자가 사전에 정의한 정적 시나리오의 테두리 안에서 동작했습니다. 사용자가 마주할 수 있는 모든 경우의 수를 예측하여 미리 화면을 구현하고, 코드 곳곳에 방대한 조건문 분기를 배치하는 방식이었습니다.
그러나 서버 스트림 기술(SSE, JSONL)과 자율적 AI 에이전트의 결합으로, 사용자의 맥락과 의도에 맞추어 실시간으로 UI 컴포넌트가 합성되는 Agentic Dynamic UI 패러다임이 부상하고 있습니다.

Agentic Dynamic UI의 7단계 데이터 흐름
에이전트가 맥락을 해석하여 클라이언트에 인터페이스를 동적으로 렌더링하는 엔드투엔드(End-to-End) 과정은 다음과 같이 7단계로 진행됩니다.
- 서버 스트림 (Server Stream): 서버는 SSE(Server-Sent Events) 프로토콜을 통해 JSONL 형태의 스트림 데이터를 클라이언트로 실시간 전송합니다. 이 데이터는 화면의 추상 설계도(
surfaceUpdate)와 실제 렌더링될 상태 모델(dataModelUpdate)을 포함합니다. - 클라이언트 버퍼링 (Client Buffering): 클라이언트는 유입되는 스트림 메시지를 파싱하여 UI 구조 메타데이터와 상태 모델을 내부 메모리에 축적합니다.
- 렌더링 신호 (Render Signal): 부분 수신 상태에서 발생하는 화면 깜빡임(Layout Shift)을 방지하기 위해, 서버가
beginRendering신호를 보낼 때까지 클라이언트는 렌더링을 안전하게 지연합니다. - 클라이언트 측 렌더링 (Client-Side Rendering): 신호 수신 즉시 클라이언트는 추상 컴포넌트 트리를 순회하며 미리 정의된 위젯 레지스트리(Widget Registry)에서 최적의 네이티브 컴포넌트를 매핑하여 화면을 조립합니다.
- 사용자 상호작용 (User Interaction): 사용자가 버튼을 클릭하거나 값을 입력하면, 클라이언트는 의도가 담긴
userAction페이로드를 생성합니다. - 이벤트 처리 (Event Handling): 생성된 액션 정보는 에이전트 간 통신(A2A) 규약을 통해 백엔드 에이전트 엔진으로 전달되어 다음 행동을 결정하는 입력값으로 사용됩니다.
- 동적 업데이트 (Dynamic Updates): 에이전트의 추론 결과에 따라 서버는 기존 SSE 스트림을 통해 새로운 UI 정의나 데이터 증분을 즉시 클라이언트로 재전송합니다.
하드코딩된 조건 분기에서 자율적 인터페이스 생성으로
기존 개발 방식에서는 모든 사용자 분기 처리를 프론트엔드 코드 내부의 if/else 분기나 라우터 계층에 정적으로 하드코딩해야 했습니다.
그러나 Agentic Dynamic UI 환경에서는 개발자가 수천 가지의 정적 페이지를 일일이 설계하지 않습니다. 대신 AI 에이전트가 사용자의 이전 발화, 권한, 현재 태스크의 성격을 실시간으로 분석하여 그 현장에 가장 최적화된 입력 폼과 위젯 배치를 즉석에서 생성합니다.
컴포넌트의 배치와 데이터 바인딩이 런타임에 결정되므로, 제품은 사용자의 요구 수준에 따라 무한한 변주를 생성할 수 있는 적응형 시스템으로 진화합니다.
엔지니어에게 요구되는 새로운 역할과 책임
UI가 정적인 산출물이 아니라 에이전트가 동적으로 생성하는 환경이 도래함에 따라, 프론트엔드 엔지니어의 핵심 역할 또한 변화합니다.
- 디자인 시스템 및 위젯 레지스트리의 정밀한 제약 설계: 에이전트가 잘못된 컴포넌트 조합이나 비일관적인 UI를 생성하지 않도록 컴포넌트 간의 결합 규칙과 테마 제약(Constraints)을 엄격하게 수립해야 합니다.
- 스트림 파이프라인의 내구성 확보: 실시간 SSE 연결의 재연결 정책, 부분 데이터 손실 시의 복구 메커니즘, 그리고 렌더링 지연 시간(Latency)을 최소화하는 버퍼링 전략을 아키텍처적으로 보장해야 합니다.
- 사용자 액션의 의미론적(Semantic) 추상화: 클라이언트에서 발생하는 다양한 입력을 에이전트가 오차 없이 이해할 수 있도록 정형화된 액션 스키마로 표준화해야 합니다.
결국 미래의 UI 엔지니어링은 고정된 픽셀을 배치하는 작업이 아니라, 에이전트가 사용자와 안전하고 조화롭게 상호작용할 수 있는 지능형 플랫폼 환경을 구축하는 고도화된 시스템 설계 로 나아가고 있습니다.