
당근 디자인 시스템 팀이 고민한 AI 시대의 UI 자동화, '의사결정'까지 대신해 주는 Kraft의 진화 과정
단순히 프롬프트로 픽셀을 그리는 것을 넘어, 기업 고유의 디자인 시스템(SEED) 규칙을 엄격히 지키며 즉시 배포 가능한 코드를 만드는 여정을 다룹니다. 어드민에서 에이전트로 진화하며 '어떤 결정을 자동화할 것인가'에 집중한 당근의 프론트엔드 엔지니어링 경험을 공유합니다.
사내 디자인 시스템을 운영하며 AI를 활용해 개발 생산성을 극대화하고 싶은 팀이나, 일관성 있는 UI 코드 생성을 위해 LLM 에이전트 아키텍처를 고민하는 엔지니어에게 실질적인 영감을 제공합니다.
기존의 범용 AI UI 생성 도구들은 당근마켓의 자체 디자인 시스템인 SEED의 컴포넌트와 토큰 맥락을 이해하지 못해 실제 제품에 즉시 적용 가능한 코드를 생성하기 어려웠으며, 생성 결과가 일회성에 그치고 품질이 일정하지 않은 한계가 있었다.
디자인 시스템의 규칙을 지능적으로 적용하기 위해 Kraft를 어드민에서 CLI, 에이전트 형태로 고도화했으며, 프롬프트와 코드 사이에 'DesignSpec'이라는 중간 표현층을 두고 Mastra와 Claude Code를 결합한 하이브리드 에이전트 아키텍처를 도입했다.
디자인 시스템 가이드라인 준수 여부를 자동으로 검증하는 11개의 채점 시스템과 과거 결정을 기억하는 크로스세션 메모리를 통해, 단순 생성을 넘어 사내 표준을 준수하는 일관성 있는 UI 코드를 반복적으로 생산하고 검증할 수 있는 체계를 구축했다.
Trade-off
초기 멀티 에이전트 구조 도입 시 에이전트 간 통신 오버헤드와 맥락 손실 문제가 발생하여 하네스 패턴으로 선회했으며, 에이전트 루프가 복잡해짐에 따라 단순 생성 대비 처리 비용과 시간이 증가할 수 있는 구조적 특성을 가지고 있다.
프롬프트의 의도를 코드로 변환하기 전, 화면 구조, 사용 컴포넌트, 디자인 토큰 및 결정 근거를 담은 JSON 형태의 중간 표현(Intermediate Representation)이다.
오케스트레이션 프레임워크인 Mastra로 전체 워크플로우를 제어하고, 실제 파일 편집과 빌드 등 코딩 작업은 Claude Agent SDK(Claude Code)에 위임하는 하이브리드 아키텍처이다.
특정 세션에서 발생한 디자인 결정이나 사용자 교정 사항을 로그로 누적하고, 반복되는 패턴을 자동으로 추출하여 다음 작업에 반영하는 지능형 학습 시스템이다.




