TOON이 다른 형식보다 성능이 뛰어난 이유
LLM 애플리케이션, 특히 RAG(Retrieval-Augmented Generation) 시스템 또는 대규모 데이터 세트를 소비하는 에이전트를 구축하는 경우 토큰 비용과 컨텍스트 창 제한이라는 두 가지 측면에서 끊임없는 전쟁을 벌이고 있을 가능성이 높습니다.
수년 동안 JSON은 데이터 교환의 기본 공용어였습니다. 사람이 읽을 수 있고(대부분) 어디에나 존재합니다. 그러나 500행 JSON 배열을 프롬프트에 붙여넣으면 특정 행에 대해 0의 의미 값을 전달하는 반복되는 필드 이름("id":, "name":, "email":)에 수천 개의 토큰이 소모됩니다.
TOON을 입력하세요. LLM 입력의 신호 대 잡음비 문제를 해결하기 위해 특별히 설계된 형식입니다. 저는 최신 벤치마크를 조사해 보았는데 그 결과는 놀라웠습니다. TOON은 단지 공간을 절약하는 것이 아닙니다. 이는 실제로 GPT-5-nano 및 Gemini-2.5-flash와 같은 모델이 데이터를 더 잘 이해하는 데 도움이 됩니다.
TOON이 왜 거대 기업(JSON, CSV, YAML, XML)을 꺾고 있는지 분석하고 실제 수치를 살펴보겠습니다.
장황함의 함정: JSON 대 TOON
토큰 효율성의 가장 큰 적은 구조 반복입니다. 표준 시계열 분석 데이터세트를 살펴보겠습니다. JSON에서는 모든 단일 데이터 포인트가 해당 스키마의 수하물을 운반합니다.
JSON(표준) 벤치마크에 사용된 토큰: 22,250
낭비되는 공간이 너무 많네요. 이제 TOON에 해당하는 항목을 살펴보세요. TOON은 헤더에서 스키마를 한 번 정의한 다음 값에 대해 조밀한 CSV 스타일 레이아웃으로 전환합니다.
툰 벤치마크에 사용된 토큰: 9,120
결과: 토큰 사용량이 대폭 59.0% 감소했습니다.
반복되는 키를 제거함으로써 TOON을 사용하면 모델의 컨텍스트 창에 더 많은 기록을 넣을 수 있습니다. 그러나 중요한 점은 CSV와 달리 'metrics[5]{...}' 헤더 정의를 통해 유형 인식과 명시적 구조를 유지한다는 것입니다.
그냥 CSV를 사용하면 안 되나요?
이것이 가장 일반적인 반론이다. "플랫 데이터를 원한다면 CSV를 사용하세요."
문제는 실제 데이터가 완벽하게 평평한 경우가 거의 없다는 것입니다. CSV는 중첩된 구조, 개체 내의 목록 또는 쉼표와 따옴표가 포함된 복잡한 설명이 있는 순간 완전히 분석됩니다.
벤치마크, 특히 혼합 구조 트랙(전자상거래 주문 및 이벤트 로그 포함)에서 CSV는 손실 평탄화 없이 데이터를 표현할 수 없기 때문에 완전히 제외되었습니다.
TOON이 이를 우아하게 처리합니다. 배열을 최적화하는 동안 중첩된 객체를 허용합니다. 100개의 GitHub 리포지토리(혼합된 텍스트 설명과 메타데이터 포함)를 테스트한 결과 효율성 격차가 분명했습니다.
- JSON: 15,145개 토큰
- TOON: 8,745개 토큰(42.3% 절감)
JSON Compact(최소화)에 비해 TOON은 여전히 거의 24% 더 많은 비용을 절감했습니다. 백만 개의 토큰당 비용을 지불하면 즉각적인 ROI가 됩니다.
정확도: 놀라운 승자
제가 놀랐던 부분이 바로 여기에 있습니다. 일반적으로 데이터를 압축하면 명확성이 상실됩니다. LLM이 더 조밀한 형식을 구문 분석하는 데 어려움을 겪을 것으로 예상할 수 있습니다. 벤치마크에서는 그 반대를 보여줍니다.
Claude Haiku, Gemini Flash, GPT-5-nano와 같은 모델에서 테스트한 209개의 데이터 검색 질문에서 TOON은 표준 JSON의 **69.7%**에 비해 73.9%의 검색 정확도를 달성했습니다.
왜? 인지 부하(또는 이에 상응하는 LLM)로 귀결될 가능성이 높습니다.
- 소음 감소: 모델은 수천 개의 반복되는
"키"토큰에 주의를 기울일 필요가 없습니다. 어텐션 메커니즘에서는 관련 값이 서로 더 가깝습니다.
- 명시적 메타데이터: TOON 헤더에는 개수(
[N])와 필드 이름이 명시적으로 포함됩니다.
- 구조 인식: 데이터세트 구조(예: "행이 몇 개 있습니까?")를 묻는 테스트에서 TOON은 88%의 정확도를 달성한 반면 JSON과 XML은 뒤처졌습니다. TOON 헤더(
repositories[100])의 명시적인 개수는 LLM이 잘 못하는 것으로 악명 높은 토큰을 모델이 수동으로 "계산"할 필요가 없도록 하는 힌트 역할을 합니다.
XML 및 YAML 피로
우리는 다른 경쟁자들을 간략하게 언급해야 합니다.
XML은 여기서 가장 큰 패자입니다. 장황하고 읽기 어렵고 처리 비용이 많이 듭니다. 벤치마크에서 XML은 지속적으로 가장 많은 토큰을 사용했으며(TOON이 ~2,700으로 표시한 균일한 직원 기록 세트의 경우 5,000개 이상) 정확도가 가장 낮았습니다(67.1%).
YAML은 XML보다 성능이 뛰어나지만 TOON에 비해 여전히 토큰 팽창 문제가 있습니다. YAML은 인간 구성 파일에 적합하지만 공백에 민감한 특성과 키 반복으로 인해 대용량 데이터 컨텍스트에는 적합하지 않습니다. "전자상거래 주문" 테스트에서 YAML은 TOON보다 ~14% 더 많은 토큰을 사용했습니다.
언제 전환해야 할까요?
데이터는 상당히 결정적입니다. 다음을 다루고 있는 경우:
- 개체 목록: 로그, 거래 내역, 검색 결과 또는 제품 카탈로그.
- RAG 파이프라인: DB에서 데이터 청크를 검색하여 프롬프트에 제공합니다.
- 대용량 API: 대역폭과 대기 시간이 중요한 경우.
TOON은 "두 세계의 최고" 시나리오를 제공합니다. JSON의 구조적 무결성을 통해 CSV의 밀도를 얻을 수 있습니다.
벤치마크에서 GPT-5-nano는 TOON 형식 데이터에서 놀라운 90.9% 정확도를 달성했습니다. 이는 더 새롭고 스마트한 모델이 이러한 최적화된 형식을 구문 분석하는 데 점점 더 능숙해지고 있음을 의미합니다. 즉, JSON에서 벗어나는 데 따른 "가독성 페널티"가 머신에 대해 사실상 0이라는 의미입니다.
RAG 컨텍스트를 여전히 JSON.stringify(data, null, 2)로 형식화하는 경우 모든 단일 API 호출에 대해 사실상 "가독성 세금"을 지불하는 것입니다. 이제 형식을 전환해야 할 때가 되었습니다.