# TOON - LLM 입력을 위한 토큰 효율적 데이터 직렬화 포맷

> Clean Markdown view of GeekNews topic #24458. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=24458](https://news.hada.io/topic?id=24458)
- GeekNews Markdown: [https://news.hada.io/topic/24458.md](https://news.hada.io/topic/24458.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-11-19T09:31:02+09:00
- Updated: 2025-11-19T09:31:02+09:00
- Original source: [github.com/toon-format](https://github.com/toon-format/toon)
- Points: 18
- Comments: 3

## Summary

**TOON(Token-Oriented Object Notation)** 은 LLM 입력 시 낭비되는 **토큰 사용량을 30~60%까지 줄이는 데이터 직렬화 포맷**입니다. JSON의 구조적 명확함과 CSV의 간결함을 결합해, **반복 키 제거와 들여쓰기 기반 계층 표현**으로 효율성과 가독성을 동시에 잡았다고 합니다. 특히 명시적 구조 정보 덕분에 LLM이 데이터를 더 안정적으로 **파싱·검증**할 수 있어, 단순한 포맷 이상의 의미를 가집니다. LLM API 호출 비용을 줄이거나 **프롬프트 엔지니어링 효율**을 높이고 싶은 개발자라면 눈여겨 보시기 바랍니다.

## Topic Body

- **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 등

## Comments



### Comment 46599

- Author: wedding
- Created: 2025-11-20T15:23:36+09:00
- Points: 1

function calling을 사용하고 있는데, 한번 테스트 해봐야겠어요.

### Comment 46552

- Author: princox
- Created: 2025-11-19T15:17:19+09:00
- Points: 1

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

### Comment 46549

- Author: laeyoung
- Created: 2025-11-19T14:44:07+09:00
- Points: 1

모델별 정확도 비교  
​- 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 사용량이 줄어서 안 쓸 이유가 없어 보이긴 하네요
