TL;DR
기존 LLM 대화는 텍스트 기반으로 사용자가 수동으로 작업을 처리해야 하는 한계가 존재한다. MDMA(Markdown Document with Mounted Applications)는 마크다운 내부에 구조화된 컴포넌트를 정의하여 LLM이 폼, 테이블, 승인 게이트 등을 직접 생성하도록 설계되었다. 파서, 런타임, React 렌더러, 검증 도구, MCP 서버로 구성된 생태계를 통해 LLM은 검증된 UI를 출력하고 프론트엔드는 이를 즉시 렌더링한다. 다양한 모델별 프롬프트 최적화와 정적 분석을 지원하여 프로덕션 환경에서 안정적인 대화형 AI 인터페이스를 구축할 수 있다.
배경
TypeScript, React, Markdown, LLM API 활용 능력
대상 독자
LLM 기반 애플리케이션 개발자 및 AI 에이전트 설계자
의미 / 영향
MDMA는 LLM의 출력을 단순 텍스트에서 실행 가능한 애플리케이션으로 격상시켜 AI 에이전트의 실질적인 업무 수행 능력을 강화한다. 이는 복잡한 UI 개발 없이도 LLM이 직접 대화형 도구를 생성하게 하여 AI 서비스의 활용 범위를 대폭 확장한다.
섹션별 상세

```mdma
type: form
id: intake-form
fields:
- name: patient-name
type: text
label: "Full Name"
required: true
sensitive: true
- name: email
type: email
label: "Email"
required: true
sensitive: true
- name: reason
type: textarea
label: "Reason for Visit"
required: true
```MDMA를 사용하여 마크다운 내에 정의한 대화형 폼 컴포넌트 예시
- MDMA는 9가지 내장 컴포넌트 타입을 지원한다. — Components 섹션
import { unified } from 'unified';
import remarkParse from 'remark-parse';
import { remarkMdma } from '@mobile-reality/mdma-parser';
import { createDocumentStore } from '@mobile-reality/mdma-runtime';
const processor = unified().use(remarkParse).use(remarkMdma);
const tree = processor.parse(markdown);
const ast = (await processor.run(tree)) as MdmaRoot;
const store = createDocumentStore(ast, {
documentId: 'my-doc',
sessionId: crypto.randomUUID(),
});마크다운을 파싱하여 MDMA AST를 생성하고 상태 저장소를 초기화하는 과정
- MCP 서버 도입으로 에이전트의 개발 생산성이 향상된다. — MCP vs No-MCP: Agent Implementation Comparison 섹션
용어 해설
- MCP
- — AI 모델과 외부 데이터, 도구, 시스템을 표준화된 방식으로 연결하기 위한 개방형 프로토콜입니다. 에이전트가 별도의 복잡한 연동 없이도 사양, 프롬프트, 도구에 접근할 수 있게 합니다.
- Generative UI
- — LLM이 텍스트 응답 대신 사용자의 의도에 맞는 UI 컴포넌트(폼, 버튼, 차트 등)를 실시간으로 생성하여 렌더링하는 인터페이스 방식입니다. 사용자 경험을 텍스트 기반에서 대화형 애플리케이션으로 확장합니다.
- AST
- — 소스 코드의 구조를 트리 형태로 표현한 자료구조입니다. MDMA 파서는 마크다운 문서를 AST로 변환하여 컴포넌트 간의 의존성, 바인딩, 유효성을 분석하고 렌더링합니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.


