새 글을 빠르게 보려면?
이 블로그 목록을 북마크하고 홈·도구 허브의 가이드 영역도 확인하세요. 글 읽기에 가입이나 메일 구독이 필요 없습니다.
TOON(Token-Oriented Object Notation)이 LLM 컨텍스트를 어떻게 줄이는지, JSON/YAML과의 비교, 중첩·모델별 안정성, 파싱 CPU와 게이트웨이까지 정리합니다. 수치는 대표 샘플 기준의 시범입니다.
XML에서 JSON으로, 이제는 LLM 중심의 표현으로 이어지면서 직렬화는 사람이 읽기 쉬움과 모델·런타임 비용 사이에서 계속 움직입니다. TOON(Token-Oriented Object Notation)은 LLM 프롬프트용 컴팩트 표현으로 주목받지만, 이 글에서는 엔지니어링 관점에서 토큰 절감, 중첩·모델 간 견고함, 변환·파싱 CPU를 나눕니다.
참고: 아래 비율·지연·토큰 수는 대표 샘플을 기준으로 한 시범적 규모입니다. 자사 데이터와 tokenizer로 재측정하세요.
TOON은 JSON의 구분 기호를 줄이고 헤더 + 행 레이아웃으로 동질 컬렉션을 압축하기 쉽게 만듭니다. LLM 입력용 투영으로는 유효하지만, 공개 REST API나 정본 저장소의 JSON을 통째로 대체하는 것은 아닙니다.
JSON의 {}, 따옴표, :는 tokenizer와 컨텍스트에 그대로 탑재됩니다. 깊은 중첩이나 AST 조각에서는 구문이 구조적 노이즈가 되고 괄호 정렬 부담도 커질 수 있습니다.
TOON은 반복 구조에서 필드명을 행 간에 나누어 쓰지만, 층마다 형태가 다르면 선언 비용이 이득을 잡아먹습니다.
동일 바이트열도 모델마다 토큰 수가 다릅니다. 보편적인 절감률은 없습니다—목표 모델과 데이터 분포로 측정해야 합니다.
| 차원 | JSON | YAML | TOON(전형) |
|---|---|---|---|
| Token 효율 | 기준 | 중간 | 동질 테이블에서 유리한 경우가 많음 |
| 중첩·이종 | 표현력 높음 | 들여쓰기 민감 | 동질일수록 유리 |
| 파싱 CPU | 매우 성숙 | 중간 | 구현에 따라 높음, 소프트웨어 변환 |
| 검증·생태 | JSON Schema | 상대적으로 약함 | 프롬프트·규약 중심 |
| 주 용도 | API·저장 | 설정 | 프롬프트, RAG, 에이전트 맥락 |
---
| 깊이 | JSON(시범 tokens) | TOON(시범 tokens) | 대략 절감 |
|---|---|---|---|
| 플랫 리스트 | 520 | 190 | ~63% |
| 2단 객체 | 1240 | 710 | ~43% |
| 3단 이종 | 2100 | 1720 | ~18% |
| 모델군(시범) | TOON | JSON |
|---|---|---|
| GPT-4o | 96% | 94% |
| Claude 3.5 Sonnet | 91% | 93% |
| Gemini 1.5 Pro | 88% | 90% |
| Llama 3 70B | 78% | 85% |
OSS/로컬에서 헤더·행 정렬이 불안정하면 JSON 우선.
| 연산 | JSON(stdlib) | TOON(시범) |
|---|---|---|
| 인코딩 | 8 ms | 22 ms |
| 디코딩 | 6 ms | 18 ms |
---
{
"order_id": "992831",
"items": [
{"sku": "A12-B", "price": 99.0, "qty": 1},
{"sku": "C34-D", "price": 45.5, "qty": 2},
{"sku": "E56-F", "price": 12.0, "qty": 5}
],
"customer": "John Doe"
}order_id: 992831
items[3]{sku, price, qty}:
A12-B, 99.0, 1
C34-D, 45.5, 2
E56-F, 12.0, 5
customer: John Doe브라우저는 TOON을 네이티브 파싱하지 않으므로 게이트웨이/BFF에서 JSON↔TOON과 캐시·폴백을 설계합니다.
헤더(열 정의)가 분명하고 열 개수·타입이 맞을 때는 JSON과 비슷한 수준의 필드 일치도를 기대할 수 있습니다. 반면 헤더를 최소화한 표기는 스키마가 코드와 프롬프트 양쪽에서 고정된 경우에만 쓰는 것이 안전합니다.
Q2: 지연은 어디서 생기나요?대개 JSON→TOON 변환과 파서 구현에 집중됩니다. 큰 페이로드는 매 요청마다 변환하지 말고, 정적 코퍼스는 오프라인 변환, 동적 응답은 캐시 계층에서 TOON화하세요.
Q3: 행마다 필드 집합이 다른 다형 리스트는?TOON의 이점이 빠르게 줄어듭니다. JSON으로 되돌리거나 스키마별로 테이블을 나누세요.
개발자에게 최고의 JSON 처리 도구를 제공하는 데 전념
더 많은 게시물이 곧 출시됩니다...
블로그로 돌아가기업데이트 확인 방법, 다루는 주제, 제안 방법입니다.
이 블로그 목록을 북마크하고 홈·도구 허브의 가이드 영역도 확인하세요. 글 읽기에 가입이나 메일 구독이 필요 없습니다.
JSON 검증, 포맷, 변환, 디버깅 흐름과 JSON Work 업데이트이며, 사이트의 무료 브라우저 도구와 맞물립니다.
가능합니다. About 페이지나 GitHub로 연락 주세요. 실제 연동·디버깅에 도움이 되는 주제를 우선합니다.