11P by xguru 19시간전 | ★ favorite | 댓글 2개
  • Token-Oriented Object Notation
  • LLM에 입력 시 토큰 사용량을 줄이기 위해 설계된 직렬화 포맷
    • JSON 데이터를 손실 없이 표현하면서 토큰 효율성과 가독성을 동시에 확보
  • 균일한 객체 배열에 최적화된 구조로, 반복되는 키를 제거해 30~60% 토큰 절감 효과 제공
    • YAML의 들여쓰기 기반 구조와 CSV의 표 형식을 결합한 하이브리드 포맷
    • 중첩 구조가 깊거나 비균일한 데이터에는 JSON이 더 효율적
  • 명시적 구조 정보를 포함해 LLM이 데이터를 안정적으로 파싱·검증 가능
    • 배열 길이([N])와 필드 정의({id,name,role})를 명시해 구조 인식 향상
  • 간결한 문법으로 불필요한 괄호, 따옴표, 구두점을 제거한 최소 구문 설계
    • 들여쓰기 기반 계층 표현, CSV 유사 행 단위 데이터 스트림 지원
  • CLI 도구를 통해 JSON ↔ TOON 간 양방향 변환 지원
    • 자동 포맷 감지, 구분자(,, \t, |) 지정, 토큰 절감 통계 출력 등 옵션 제공
  • API 구성
    • encode()로 JSON 직렬화, decode()로 역직렬화 수행
    • 옵션으로 들여쓰기, 구분자, 길이 마커(#) 지정 가능
  • 벤치마크 결과, JSON 대비 평균 21~60% 토큰 절감, LLM 질의 정확도 73.9% 달성
    • CSV보다 약간 크지만 구조적 검증 기능으로 LLM 신뢰도 향상
  • 형식 규칙
    • 문자열은 필요 시에만 인용, 구분자 포함 시 자동 인용 처리
    • 숫자·불리언·날짜 등은 LLM 친화적 형태로 변환
  • 다양한 언어 구현체 제공
    • 공식: Python, Rust (개발 중)
    • 커뮤니티: Go, Java, Swift, C++, .NET, Ruby 등

몇몇 예시를 보면 공백제거했을 때 JSON 규격이 훨씬 더 토큰 수를 줄여준다고 합니다.. 아직 잘 모르겠네요. 제대로 써볼만한 규격인지.

모델별 정확도 비교
​- Gemini 2.5 Flash: TOON 87.6% vs JSON 77.0%
​- GPT-5 Nano: TOON 90.9% vs JSON 89.0%
​- Claude Haiku 4.5: TOON 59.8% vs JSON 57.4%

벤치마크 결과만 믿는다면, 정확도 감소 없이 token 사용량이 줄어서 안 쓸 이유가 없어 보이긴 하네요