1. 诞生背景
JSON 仍是通用数据语言,但在 LLM 场景下显得冗余:大括号、引号、重复键名→token 浪费。
每多一个符号 = 多付一次钱(GPT/Claude 按 token 计费),解析也更慢。
需求:一种“token 优先、人类可读、LLM 友好”的新格式 → Token-Oriented Object Notation(TOON)。

2. 设计哲学
3. 语法速览(对比记忆)
① 简单对象
{"name": "Alice", "age": 30, "city": "Bengaluru"}复制
name: Alice
age: 30
city: Bengaluru② 数组
{"colors": ["red", "green", "blue"]}colors[3]: red,green,blue ← [3] 声明长度,逗号分隔
③ 对象数组
{"users": [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]}users[2]{id,name}:
1,Alice
2,Bob→ 第一行是模式,后续每行按顺序填值,无键名重复。
④ 嵌套
{"user": {"id": 1, "profile": {"age": 30}}}user:
id: 1
profile:
age: 304. 实战收益(官方基准)
→ 体积-40%,token-36%,解析-29%,直接换算成“省钱+提速”。
5. 适用场景
向 LLM 投喂大批量同构数据(交易、日志、事件)。
Prompt 上下文窗口紧张(16 k/32 k 极限场景)。
边缘设备 / 高带宽成本环境。
数据集发布:LLM-native 语料先写 TOON,再转 JSON。
6. 现阶段的“坑”与展望
生态婴儿期:无官方 parser、schema 验证、语法高亮。
目标并非“干掉 JSON”,而是“AI 工作流首选交换格式”。
未来期待:
json2toon/toon2json双向转换 CLILangChain、LlamaIndex 内置 TOON loader
VS Code 插件 + Jupyter 魔法命令
浏览器原生支持?(若成功)
7. 一句话总结
TOON 用“一半词汇”承载“相同含义”,让数据在 LLM 眼里更便宜、更快、更易读;它是 AI 时代的“数据外骨骼”——结构在,赘肉去。
“我结构化,所以我理解。” —— TOON
评论