Skip to content
ai agents

Microsoft의 깨진 AI를 위한 새로운 해결책

AI 에이전트는 코딩에는 뛰어나지만 시각화에는 취약하여, 차트가 깨지고 토큰이 낭비되는 문제가 발생합니다. 새로운 Microsoft 프로젝트는 이 문제가 모델의 지능이 아니라 우리가 강요하는 언어 방식에 있음을 보여줍니다.

Sol Aguirre
Microsoft의 깨진 AI를 위한 새로운 해결책

AI가 해결하지 못하는 기하학적 문제

LLM(대규모 언어 모델)은 정밀함이 요구되는 영역에서 자주 난관에 봉착합니다. 에이전트는 복잡한 백엔드 시스템을 조율할 수 있지만, 단일 데이터 시각화 생성과 같은 단순한 요청에는 어려움을 겪습니다. 흔히 발생하는 실패 사례는 LLM이 폭포수 차트를 위해 수백 줄의 Vega-Lite 코드를 생성하지만, 결과적으로 빈 페이지나 깨진 그래픽이 출력되는 경우입니다.

이러한 빈번한 오류는 의미와 기하학이라는 근본적인 이분법을 강조합니다. LLM은 '이 열은 월이다' 또는 '저것은 수익이다'와 같은 의미론적 이해에는 탁월합니다. 즉, 데이터의 '무엇'은 파악합니다. 그러나 axis(축) 단계 크기 설정, 스케일 도메인 정의, 레이블 간격 및 색상 램프 구성과 같이 기능적인 차트에 필요한 정밀한 기하학적 결정에는 일관되게 실패합니다.

사용자 대상 제품의 경우, 이는 사소한 결함이 아니라 치명적인 결함입니다. 예를 들어, Microsoft의 자체 분석 에이전트는 차트 렌더링 성공률이 80%에 불과했습니다. 80%가 어떤 맥락에서는 허용 가능해 보일 수 있지만, 최종 사용자에게 5번 중 1번꼴로 발생하는 실패는 신뢰를 떨어뜨리고 지속적인 수동 개입을 필요로 합니다. 이러한 용납할 수 없는 성공률은 AI 도입에 있어 비즈니스적으로 매우 중요한 과제가 됩니다.

Flint가 작업을 분리하는 방법

Flint는 차트 생성 방식을 재설계하여 문제를 두 가지 별도의 작업으로 나눕니다. 첫째, LLM은 의미론에만 집중하여 약 10줄 정도의 간결한 semantic spec을 구성합니다. 이는 데이터 속성을 설명하기 위해 'quarter', 'price', 'percentageChange'와 같은 70개 이상의 semantic types로 구성된 Flint 라이브러리를 활용하며, 시각적 레이아웃은 다루지 않습니다.

둘째, 결정론적 컴파일러가 이 semantic spec을 받아 모든 기하학적 결정에 대한 완전한 책임을 집니다. 이 계층은 축 단계 크기, 스케일 도메인, 레이블 간격과 같은 요소를 정밀하게 지정하여 Vega-Lite, ECharts 또는 Chart.js를 위한 완전하고 정확한 사양을 출력합니다. LLM은 의미를 처리하고, 컴파일러는 수학을 처리하는 것입니다.

시스템이 작동하는 것을 보면 그 우아함을 알 수 있습니다. semantic spec에서 단어 하나만 바꿔도—예를 들어 열 태그를 'quantity'에서 'percentageChange'로 변경하는 것만으로도—지능적인 디자인 선택이 즉시 연쇄적으로 일어납니다. 컴파일러는 자동으로 발산형 색상 팔레트를 선택하고, 수치 값을 재형식화하며, 축을 재조정하여 LLM의 추가 개입 없이도 시각적으로 적절하고 정확한 차트를 보장합니다.

미래 에이전트를 위한 진정한 청사진

Flint는 단순한 새로운 차트 언어를 넘어섭니다. 이는 신뢰할 수 있는 agentic systems를 구축하는 데 필수적인 강력하고 새로운 패턴을 보여주는 심오한 사례 연구입니다. 이 아키텍처는 검증과 예측 가능성을 우선시하며, 모놀리식 AI 생성의 본질적인 취약성을 넘어섭니다. 이는 AI가 단순히 제안하는 것을 넘어 일관되게 결과물을 제공할 수 있게 하는 청사진입니다.

핵심적으로 이 패턴은 우아하게 단순하면서도 심오한 영향을 미칩니다. LLM은 작고 검증 가능한 Intermediate Representation (IR)을 생성합니다. 의미론적 의미를 설명하는 단 10줄의 JSON으로 구성된 이 간결한 IR은 Deterministic Execution Layer로 전달됩니다. LLM과 완전히 분리된 이 계층은 모든 기하학적 결정과 정밀한 렌더링을 처리하여 모델의 환각으로부터 최종 결과물을 효과적으로 보호합니다.

이러한 관심사 분리는 신뢰성 측면에서 결정적인 이점을 제공합니다. Flint의 JSON IR 10줄을 쉽게 검증하여 특정 의미론적 유형(예: 'quarter', 'price')을 준수하는지 확인할 수 있습니다. 이러한 신속하고 프로그래밍 방식의 검사를 통해 렌더링이 발생하기 에 LLM의 의도가 올바르게 포착되었는지 보장할 수 있습니다. 이는 100줄이 넘는 원시 D3 또는 Vega-Lite 생성 코드를 안정적으로 검증하는 것이 거의 불가능한 작업과 극명하게 대조됩니다. 괄호 하나만 잘못되어도 전체 시각화가 깨질 수 있기 때문입니다.

이 아키텍처(의도를 위한 LLM, 실행을 위한 결정론적 시스템)는 AI 도구의 중요한 진화를 나타냅니다. 이는 단순히 감탄하는 것을 넘어 우리가 신뢰할 수 있는 에이전트로 나아가는 실용적인 경로입니다. 이 설계 철학에 대한 더 깊은 통찰력을 얻으려면 Flint: A visualization language for the AI era - Microsoft Research Blog를 살펴보세요. 이 접근 방식은 다양한 분야에서 훨씬 더 강력하고 검증 가능한 AI 애플리케이션을 구현할 수 있게 해줄 것입니다.

이 글이 마음에 드셨나요? 매일 아침 이런 글을 메일로 받아보세요.

하루 한 통 · 두 번의 클릭으로 구독 취소 · 제3자 추적 없음

현실 점검: 약속 vs. 프로덕션

Flint는 아직 초기 연구 프로젝트로, 현재 v0.2 단계이며 백엔드마다 사양이 일관되지 않게 렌더링되는 버그가 알려져 있습니다. 열정적인 개발자를 위한 Python 패키지가 없으며 다음과 같은 중요한 기능이 누락되어 있습니다:

  • 지도
  • 3D
  • 네트워크 그래프
  • 레이어링

기본적인 관심사인 접근성은 GitHub 이슈로 비어 있습니다.

최신 모델을 활용하는 파워 유저는 종종 간단한 차트를 한 번에 생성할 수 있어 Flint가 불필요해 보일 수 있습니다. Flint의 진정한 가치는 더 작고 저렴한 모델을 사용하거나 워터폴(waterfall) 및 선버스트(sunburst)와 같은 복잡한 차트를 다룰 때 나타납니다. 99% 이상의 신뢰성이 요구되는 제품의 경우, 최종 사용자에게 80%의 성공률로는 충분하지 않으며 Flint의 결정론적 접근 방식이 필수적입니다.

초기 단계임에도 불구하고 Flint는 상당한 추진력을 보여주고 있습니다. 주간 NPM 다운로드 수가 5,000건을 넘어서며 개발자들의 관심을 입증하고 있습니다. 결정적으로, 이 도구는 이미 Microsoft의 내부 Data Formulator 도구를 구동하고 있으며, 이는 강력한 내부 지원과 검증을 의미합니다. 이 프로젝트는 에이전트 분야에서 나타나는 새로운 패턴을 보여줍니다. 즉, LLM은 작고 검증 가능한 중간 표현을 생성하고, 결정론적 계층이 복잡하고 정밀한 실행을 처리하는 방식입니다.

자주 묻는 질문

Microsoft Flint란 무엇인가요?

Flint는 AI 에이전트가 데이터의 '의미'를 간단한 사양으로 정의하고, 결정론적 컴파일러가 복잡한 '기하학적 구조'를 처리하여 Vega-Lite나 ECharts와 같은 백엔드용 차트를 안정적으로 생성하는 새로운 차트 언어입니다.

Flint는 Vega-Lite와 어떻게 다른가요?

Flint는 Vega-Lite를 대체하는 것이 아니라, Vega-Lite로 컴파일되는 언어입니다. 이는 LLM이 데이터가 '무엇'인지 설명하게 하고, LLM이 자주 실수하는 장황한 기하학적 코드는 Flint 컴파일러가 처리하도록 하는 상위 수준의 추상화 역할을 합니다.

Flint 접근 방식의 주요 이점은 무엇인가요?

주요 이점은 신뢰성입니다. 의미와 기하학적 구조를 분리하고 작고 검증 가능한 사양을 사용함으로써, AI가 생성한 차트의 성공률을 획기적으로 높입니다. 이는 LLM이 직접 생성한 차트 5개 중 1개가 깨지는 문제를 해결하는 것을 목표로 합니다.

Flint는 프로덕션 환경에서 사용할 준비가 되었나요?

Flint는 초기 단계(v0.2)의 연구 프로젝트입니다. Microsoft의 Data Formulator 도구를 구동하고는 있지만, 현재 Python 패키지나 지도, 3D 그래프와 같은 고급 기능이 부족하여 차트 신뢰성이 중요한 특정 사용 사례에 가장 적합합니다.

Found this useful? Share it.

For builders

Want Stork to write one of these about your product?

Send us a URL. We use the product, form a view, and publish what we actually think — in 8 languages, labeled Sponsored, with no copy approval on your side. That last part is what makes it worth quoting.

See how it works$500 · AI tools & software only