TOON 格式 — 比 JSON 少 22% Token
什么是 TOON?
Section titled “什么是 TOON?”TOON(Token-Oriented Object Notation)是一种专为 LLM 设计的数据格式。它比 JSON 少使用约 22.5% token(使用 gpt-tokenizer 对代表性条目进行测量),同时保持无损往返。
| 格式 | Token 数 | LLM 准确率 |
|---|---|---|
| JSON | 100 | 75% |
| YAML | 95 | 72% |
| TOON | 60 | 76.4% |
version: 1entries[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||summaries: 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 字符十六进制 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 |
否 | 访问次数(召回时自动递增) | 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 |
- 更少 token — LLM 上下文更高效
- 更高准确率 — LLM 比 JSON 更好地理解它
- 无损 — 转换无数据丢失
- 人类可读 — 便于手动阅读和编辑