TOON (Token-Oriented Object Notation)은 LLM을 위해 설계된 데이터 형식입니다. 대표적인 항목들에서 gpt-tokenizer로 측정했을 때 JSON보다 ~22.5% 적은 토큰을 사용하면서 무손실 양방향 변환을 유지합니다.
| 형식 |
토큰 수 |
LLM 정확도 |
| JSON |
100 |
75% |
| YAML |
95 |
72% |
| TOON |
60 |
76.4% |
entries[3|]{id|category|key|content|file|tags|date|ttl|accessed|links|quality|confidence|lastAccessed|priority|path_scope|origin|status|supersededOn|importance}:
a1b2c3d4|decision|use-zod|Use Zod for validation|src/types.ts|validation;types|2026-07-10||0|patterns/zod-schemas|0.80|1.00||0||agent|||
e5f6g7h8|pattern|pydantic-configs|Project uses Pydantic v2|config.py|python;patterns|2026-07-10||0||0.72|1.00||0|||||high
i9j0k1l2|bug|redis-pool-fix|Added max_connections=20|redis.ts|redis;fix|2026-07-10|7d|3||0.68|0.85||0||agent|obsolete||
src/services/redis.ts: Redis connection pool with retry logic
| 구성 요소 |
설명 |
version: 1 |
형식 버전 |
entries[N|]{fields}: |
개수와 필드 이름을 포함한 헤더 |
id|category|key|... |
파이프로 구분된 값 |
ttl |
선택적 유효 기간 (비어 있음 = 만료 없음) |
accessed |
접근 횟수 (중요도 순위 매기기용) |
links |
세미콜론으로 구분된 항목 키 (그래프 엣지) |
quality |
품질 점수 0-1 (자동 계산) |
confidence |
신뢰도 점수 0-1 (1.0=단언, <1.0=추론) |
lastAccessed |
마지막 접근의 ISO 타임스탬프 (중요도 순위용) |
priority |
핀 우선순위 1-5 (0 = 고정 안 됨) |
path_scope |
선택적 파일 경로 범위 (globMatch 호환) |
origin |
항목 출처: human, agent 또는 비어 있음 (추론됨) |
status |
항목 상태: active, obsolete, suppressed 또는 비어 있음 |
supersededOn |
항목이 대체된 날짜 |
importance |
명시적 중요도: critical, high, medium, low (비어 있음 = 자동) |
summaries: |
선택적 파일 요약 |
| 필드 |
필수 |
설명 |
예시 |
id |
예 |
8자리 16진수 ID |
a1b2c3d4 |
category |
예 |
decision, pattern, bug, knowledge, warning |
decision |
key |
예 |
케밥 케이스 제목 |
use-zod |
content |
예 |
상세 설명 |
Use Zod for validation |
file |
아니오 |
관련 파일 경로 |
src/types.ts |
tags |
아니오 |
세미콜론으로 구분된 태그 |
validation;types |
date |
예 |
YYYY-MM-DD |
2026-07-10 |
ttl |
아니오 |
만료: 7d, 30d, 또는 2026-12-31 |
7d |
accessed |
아니오 |
접근 횟수 (recall 시 자동 증가) |
3 |
links |
아니오 |
세미콜론으로 구분된 항목 키 (그래프 엣지) |
patterns/zod-schemas |
quality |
아니오 |
품질 점수 0-1 (자동 계산) |
0.80 |
confidence |
아니오 |
신뢰도 점수 0-1 (1.0=단언) |
1.00 |
lastAccessed |
아니오 |
마지막 접근의 ISO 타임스탬프 (자동 업데이트) |
2026-07-10T12:00:00Z |
priority |
아니오 |
핀 우선순위 1-5 (0 = 고정 안 됨) |
0 |
path_scope |
아니오 |
glob 매칭 검색용 파일 경로 범위 |
src/ |
origin |
아니오 |
항목 출처: human, agent 또는 비어 있음 |
agent |
status |
아니오 |
항목 상태: active, obsolete, suppressed, 비어 있음 |
obsolete |
supersededOn |
아니오 |
항목이 대체된 날짜 |
2026-08-01 |
importance |
아니오 |
명시적 중요도: critical, high, medium, low (비어 있음 = 자동, 최신성 + 빈도) |
critical |
- 적은 토큰 — LLM 컨텍스트에서 더 효율적
- 더 나은 정확도 — LLM이 JSON보다 더 잘 이해
- 무손실 — 변환 시 데이터 손실 없음
- 사람이 읽기 쉬움 — 수동으로 읽고 편집하기 쉬움