toon-format/toon
🎒 Token-Oriented Object Notation (TOON) – compact, human-readable serialization of JSON data for LLM prompts. TypeScript SDK, CLI, benchmarks.
What it solves
TOON (Token‑Oriented Object Notation)은 구조화된 데이터를 대형 언어 모델(LLM)에 제공할 때 토큰 비용을 줄이면서도 검색 정확도를 희생하지 않습니다. 특히 동일한 구조의 객체 배열을 다룰 때 중괄호와 따옴표 같은 반복적인 구조 문자에 많은 토큰을 소비하는 JSON의 비효율성을 해결합니다.
How it works
TOON은 JSON 데이터를 손실 없이 변환하는 레이어 역할을 합니다. 들여쓰기 기반 구조(YAML과 유사)와 표 형식을 결합해 데이터를 압축합니다. 주요 메커니즘은 다음과 같습니다.
- Tabular Form: 헤더에서 필드 목록을 한 번 선언하고, 이후 행에 값을 나열합니다. CSV와 비슷하며, 균일한 객체 배열에 적합합니다.
- Inline Form: 원시 배열을 헤더 라인에 직접 표시합니다.
- Keyed Tabular: 균일 객체를 포함하는 객체를 처리할 때 길이 뒤에 콜론을 붙여 표시(e.g.,
[2:])하고 각 행에 키를 할당합니다. - List Form: 비균일하거나 혼합 타입 데이터에 대한 대체 방법으로 대시 기반 리스트를 사용합니다.
- Guardrails: 명시적인 길이
[N]와 필드 목록{fields}를 포함해 LLM이 데이터를 보다 신뢰성 있게 파싱하고 검증하도록 돕습니다.
Who it’s for
프롬프트에 대량의 구조화 데이터를 전달해야 하며, API 비용 및 토큰 제한을 줄이면서 모델 이해도를 유지하고자 하는 LLM 애플리케이션 개발자를 위한 것입니다.
Highlights
- Token Efficiency: 벤치마크 결과, 경우에 따라 JSON보다 최대 42.6% 적은 토큰을 사용할 수 있음이 입증되었습니다.
- Lossless Round‑trips: JSON과 동일한 데이터 모델을 결정적으로 인코딩합니다.
- High Accuracy: Claude, Gemini, GPT, Grok 등 여러 모델에서 JSON과 동등하거나 그 이상의 검색 정확도를 제공합니다.
- Multi‑Language Support: 사양 기반 구현이 다양한 언어에서 제공됩니다.
- CLI Tool: 명령줄 인터페이스가 포함되어 있어 빠른 변환과 토큰 절감 추정이 가능합니다.
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트