TOON
LLM 입력을 위한 토큰 효율적 데이터 직렬화 포맷
About
- Token-Oriented Object Notation
- LLM에 입력 시 토큰 사용량을 줄이기 위해 설계된 직렬화 포맷
- JSON 데이터를 손실 없이 표현하면서 토큰 효율성과 가독성을 동시에 확보
- YAML의 들여쓰기 기반 구조와 CSV의 표 형식을 결합한 하이브리드 포맷
- 중첩 구조가 깊거나 비균일한 데이터에는 JSON이 더 효율적
- 배열 길이([N])와 필드 정의({id,name,role})를 명시해 구조 인식 향상
- 들여쓰기 기반 계층 표현, CSV 유사 행 단위 데이터 스트림 지원
- 자동 포맷 감지, 구분자(,, \t, |) 지정, 토큰 절감 통계 출력 등 옵션 제공
- encode()로 JSON 직렬화, decode()로 역직렬화 수행
- 옵션으로 들여쓰기, 구분자, 길이 마커(#) 지정 가능
- CSV보다 약간 크지만 구조적 검증 기능으로 LLM 신뢰도 향상
- 문자열은 필요 시에만 인용, 구분자 포함 시 자동 인용 처리
- 숫자·불리언·날짜 등은 LLM 친화적 형태로 변환
- 공식: Python, Rust (개발 중)
- 커뮤니티: Go, Java, Swift, C++, .NET, Ruby 등