
LLM 에이전트의 병목은 모델 추론에만 있지 않습니다. 도구 호출, JSON 응답, reasoning 채널처럼 정해진 형식으로 출력해야 하는 순간에도 지연이 생깁니다. XGrammar-2는 이런 동적 에이전트 워크로드를 겨냥한 구조화 생성 엔진입니다.1
핵심 문제는 에이전트의 출력 구조가 고정되어 있지 않다는 점입니다. 기존 구조화 생성은 대체로 미리 정해진 형식을 따르는 상황에 잘 맞았습니다. 반면 에이전트 서빙에서는 요청마다 노출되는 도구와 스키마가 달라질 수 있고, 한 요청 안에서도 모델이 어떤 태그나 도구 이름을 출력했는지에 따라 이후 구조가 바뀝니다.1
XGrammar-2가 다루는 것은 바로 이 “변하는 형식”입니다.
XGrammar-2가 바꾸려는 지점
XGrammar-2의 설계는 두 가지 질문에 답합니다.
첫째, 생성 도중 구조가 바뀌면 어떻게 즉시 제약을 전환할 것인가. 둘째, 서로 다른 출력 구조 사이에서 반복되는 부분을 어떻게 다시 사용할 것인가.
이를 위해 XGrammar-2는 태그 기반 구조 전환과 세밀한 재사용을 핵심 설계로 삼습니다.1
TagDispatch: 출력 중간에 구조를 전환한다
TagDispatch는 요청 내부에서 특정 태그가 발생했을 때 구조 제약을 전환하는 문법 구성 요소입니다.1
예를 들어 모델이 일반 텍스트를 생성하다가 <tool_call> 같은 표식을 출력하면, 그 뒤의 내용은 자유 텍스트가 아니라 해당 도구의 인자 스키마를 따라야 할 수 있습니다. 이때 필요한 것은 단순한 사후 검증이 아니라, 생성 과정 중간에서 다음 토큰의 허용 범위를 바꾸는 일입니다.
TagDispatch는 이런 전환을 문법 수준에서 다루도록 만든 장치입니다.
Cross-Grammar Cache: 다른 문법 사이의 공통 부분을 재사용한다
에이전트가 여러 도구를 사용할수록 문법 조합도 늘어납니다. 하지만 서로 다른 도구 호출 구조라도 내부에는 같은 하위 구조가 반복될 수 있습니다.
Cross-Grammar Cache는 서로 다른 문법 조합 사이에서 공유 하위 구조를 재사용합니다.1 매번 전체 문법을 새로 준비하지 않고, 이미 계산한 부분을 활용해 첫 토큰까지의 준비 비용을 줄이는 방향입니다.
도구 수가 많고 요청마다 스키마 구성이 달라지는 환경에서는 이 재사용이 특히 중요합니다.
빠르게 만들기 위한 세부 장치들
XGrammar-2는 구조 전환과 재사용 외에도 여러 효율화 기법을 포함합니다. 논문은 Earley 기반 적응형 토큰 마스크 캐시, JIT 컴파일, 반복 상태 압축을 주요 구성으로 설명합니다.1
이들을 한 문장으로 요약하면 다음과 같습니다.
지금 필요한 제약은 빠르게 만들고, 반복되는 상태는 압축하며, 이미 만든 구조는 최대한 다시 쓴다.
구조화 생성은 모델이 낼 수 있는 다음 토큰을 제한해야 하므로, 제약을 계산하는 비용이 곧 지연으로 이어질 수 있습니다. XGrammar-2는 이 비용을 에이전트형 워크로드에 맞춰 줄이도록 설계된 시스템입니다.
수치가 말하는 것
논문 실험에서 XGrammar-2는 기존 구조화 생성 엔진보다 도구 호출 컴파일을 6배 이상 빠르게 수행했습니다.1 또한 최신 LLM 서빙 시스템에서 엔드투엔드 지연 오버헤드를 거의 0에 가깝게 만드는 것을 목표로 합니다.1
MLC 블로그는 특정 시나리오에서 XGrammar 대비 최대 80배 효율 향상도 제시했습니다.2
다만 이 수치를 볼 때 중요한 것은 단순한 최고 성능 비교가 아닙니다. 더 중요한 메시지는 구조화 생성의 역할이 바뀌고 있다는 점입니다. 에이전트 시대의 구조화 생성은 완성된 출력을 나중에 검사하는 JSON 검증기에 머물 수 없습니다. 모델이 생성하는 중간에 구조가 바뀌고, 요청마다 도구와 스키마가 달라지는 상황을 실시간으로 처리해야 합니다.
실무에서 확인할 기준
XGrammar-2는 ACM CAIS 2026 논문으로 공개됐고, 발표 세션도 등록되어 있습니다.3 저장소는 mlc-ai/xgrammar로 공개되어 있으며, XGrammar는 vLLM, SGLang, TensorRT-LLM, MLC-LLM 등 서빙 엔진과의 통합도 강조합니다.4
실무에서는 다음 조건을 기준으로 볼 수 있습니다.
도구 호출이 많고 도구별 인자 스키마가 복잡한가
요청마다 사용할 수 있는 도구 목록이 달라지는가
응답 프로토콜이 단순 JSON보다 더 동적인가
구조화 생성 때문에 첫 토큰 지연이나 컴파일 비용이 눈에 띄는가
이런 조건에 해당한다면 구조화 생성 엔진의 비용은 모델 추론 비용만큼 중요해질 수 있습니다. XGrammar-2는 그 비용을 줄이기 위해, 고정된 형식을 빠르게 강제하는 데서 나아가 변하는 형식을 빠르게 전환하고 재사용하는 방향을 제시합니다.
1XGrammar-2: Efficient Dynamic Structured Generation Engine for Agentic LLMs
2XGrammar-2: Fast and Customizable Structured Generation for Tool Calling and Agents
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
