当前位置: 首页 > news >正文

⌚LLM交互过程中TOON编码介绍及使用

随着AI使用的广泛,一串串昂贵的tokens成为最大的成本。
TOON带来的不仅是40%的token节省,更是一种完全不同的数据思维。
程序世界从XML到JSON再到YAML的数据交换演进,现在已经来到TOON格式这个新的转折点。

📱官方地址

  • github:https://github.com/toon-format/toon
  • 官网:https://toonformat.dev/
  • 工具:https://toonformat.dev/playground.html

💻诞生来源

LLM时代的必然产物

  • 大多数AI应用仍在使用JSON与大型语言模型交互。JSON虽然结构化优秀,但对于token计费的LLM来说,这等于增加了额外的成本。每次请求中,那些花括号、引号和逗号都在无声地消耗着开发者预算。
  • LLM数据的理解与人类有本质差异:模型并不需要人类可读性极强的语法糖,它们需要的是清晰的结构和最低的token开销。而现有的数据格式要么过于冗长(JSON/XML),要么对嵌套结构支持不足(CSV)。

TOON(Token-Oriented Object Notation)就是为解决这一问题而诞生的。它由Toon Format团队开发,定位为一种专为LLM优化的紧凑、人类可读、支持模式的JSON表示法。它本质上是一种编码,将JSON数据模型无损转换为更token高效的形式。

image

根据官方基准测试,TOON在混合结构数据集上达到了73.9%的准确率,而标准JSON为69.7%,同时使用了39.6%更少的tokens。这意味着在保持更高准确性的同时,显著降低了成本。

TOON           ████████████████████   26.9 acc%/1K tok  │  73.9% acc  │  2,744 tokens
JSON compact   █████████████████░░░   22.9 acc%/1K tok  │  70.7% acc  │  3,081 tokens
YAML           ██████████████░░░░░░   18.6 acc%/1K tok  │  69.0% acc  │  3,719 tokens
JSON           ███████████░░░░░░░░░   15.3 acc%/1K tok  │  69.7% acc  │  4,545 tokens
XML            ██████████░░░░░░░░░░   13.0 acc%/1K tok  │  67.1% acc  │  5,167 tokens
claude-haiku-4-5-20251001
→ TOON           ████████████░░░░░░░░    59.8% (125/209)JSON           ███████████░░░░░░░░░    57.4% (120/209)YAML           ███████████░░░░░░░░░    56.0% (117/209)XML            ███████████░░░░░░░░░    55.5% (116/209)JSON compact   ███████████░░░░░░░░░    55.0% (115/209)CSV            ██████████░░░░░░░░░░    50.5% (55/109)gemini-2.5-flash
→ TOON           ██████████████████░░    87.6% (183/209)CSV            █████████████████░░░    86.2% (94/109)JSON compact   ████████████████░░░░    82.3% (172/209)YAML           ████████████████░░░░    79.4% (166/209)XML            ████████████████░░░░    79.4% (166/209)JSON           ███████████████░░░░░    77.0% (161/209)gpt-5-nano
→ TOON           ██████████████████░░    90.9% (190/209)JSON compact   ██████████████████░░    90.9% (190/209)JSON           ██████████████████░░    89.0% (186/209)CSV            ██████████████████░░    89.0% (97/109)YAML           █████████████████░░░    87.1% (182/209)XML            ████████████████░░░░    80.9% (169/209)grok-4-fast-non-reasoning
→ TOON           ███████████░░░░░░░░░    57.4% (120/209)JSON           ███████████░░░░░░░░░    55.5% (116/209)JSON compact   ███████████░░░░░░░░░    54.5% (114/209)YAML           ███████████░░░░░░░░░    53.6% (112/209)XML            ███████████░░░░░░░░░    52.6% (110/209)CSV            ██████████░░░░░░░░░░    52.3% (57/109)

💽设计原理

TOON的设计体现了对LLM工作原理的深刻理解。它不像某些“优化”格式那样完全牺牲可读性,而是找到了一个平衡点。

核心设计理念有三点:

  • 保持JSON数据模型的完整性,确保与现有系统的互操作性;
  • 最小化语法开销,通过缩进替代花括号,通过智能引用减少引号使用;
  • 引入显式结构标识,帮助LLM理解数据组织。

这些理念体现在TOON的每个语法决策中。
例如:它使用类似YAML的缩进表示嵌套关系,但为统一的对象数组引入了类似CSV的表格布局。这种混合方法使TOON在多种数据结构中都能表现优异。

尤其是在处理大量结构相似的记录时,TOON的表格表示法能显著减少重复的字段名,这正是JSON最为冗余的部分。

📸基础语法

从JSON迁移到TOON并不需要学习全新的数据模型,只需要理解新的表示规则。
这类似于从XML迁移到JSON的体验——数据概念不变,只是表示方式更加高效。

📟基本对象表示

TOON使用YAML风格的键值对,但省略了多余的语法元素。
例如,JSON的{"id": 1, "name": "Ada"}在TOON中简化为:

id: 1
name: Ada

📺嵌套对象

则通过缩进表示:

user:id: 1name: Adasettings:theme: darknotifications: true

📻数组的表示

TOON最独特的部分:对于原始值数组,TOON使用类似CSV的紧凑格式:

tags[3]: foo,bar,baz

这里的[3]表示数组长度,这种显式声明为LLM提供了结构护栏,帮助模型准确理解数据边界。

⏰表格化数组

当处理结构统一的对象数组时,TOON真正展示了其价值。考虑以下JSON示例:

{"items": [{"id": 1, "qty": 5},{"id": 2, "qty": 3}]
}

在TOON中,这可以表示为:

items[2]{id,qty}:1,52,3

这种表示法将字段名一次性声明,然后每行只包含值。对于包含N个对象、每个对象有M个字段的数组,TOON避免了M×N次字段名的重复,这正是token节省的主要来源。

表格化数组的语法包括几个部分:数组名称、长度声明(在方括号内)、字段列表(在大括号内),然后是数据行。字段和数据都使用逗号作为默认分隔符,但也可以声明其他分隔符(如制表符或竖线)。

对于混合类型或不规则的数组,TOON提供了向后兼容的表示法:

items[3]:- 1- a: 1- x

这种灵活性确保了TOON能够处理各种数据结构,而不仅仅是理想的表格数据。

🧯引用与转义

💸引用规则

TOON的引用规则体现了对LLM tokenization的深入理解。它尽可能避免引号,因为引号在大多数tokenizer中都会作为独立token存在。

TOON智能地只在必要时使用引号:空字符串、前后有空格的值、看起来像布尔值或数字的字符串(如"true"、"123")、包含分隔符的字符串等。其他情况下,字符串可以不加引号,包括包含Unicode字符和表情符号的字符串:

message: Hello 世界 👋
note: This has inner spaces

💶转义规则

最小化到五个基本序列\\\"\n\r\t

这种简化降低了LLM解析的复杂度,因为模型不需要理解各种Unicode转义序列。

💷特殊处理

  • NaN、Infinity和-Infinity被转换为null;
  • BigInt在安全范围内转换为数字,否则转换为带引号的十进制字符串;
  • Date对象转换为ISO字符串。

这些转换确保了数据的一致性和可预测性。

💳高级语法

🧰键折叠

允许将深层次嵌套的键合并为点分隔的路径:

# 标准嵌套
data:metadata:items[2]: a,b# 键折叠(keyFolding: 'safe')
data.metadata.items[2]: a,b

这在处理配置数据或扁平化结构时特别有用,可以进一步减少缩进和换行带来的token开销

🔫根数组

可以直接表示,无需包装对象

[3]: x,y,z

🧲空容器

空对象完全省略输出,空数组使用零长度声明:

items[0]:

这些语法特性使TOON在保持强大表达能力的同时,最大限度地减少了token使用。

🚬实际应用

在实际的LLM应用中,TOON的价值体现在多个层面。

  • 提示工程中,TOON可以减少系统提示中的示例数据占用,为实际任务留出更多上下文空间。
  • 对于检索增强生成(RAG)系统,TOON可以高效地嵌入检索到的文档片段,使模型能够在有限上下文中处理更多参考材料。
  • 函数调用和工具使用场景中,TOON可以紧凑地表示参数和返回结果,减少对话轮次中的token消耗。

建议的开发工作流是:

  1. 在代码内部继续使用JSON,享受其成熟的工具生态和类型安全;
  2. 工具中大模型相关知识索引使用TOON存储,节省后续大模型交互过程中的token;
  3. 在发送给LLM时转换为TOON,节省token并提高准确性;
  4. 在接收LLM响应时,根据内容决定处理方式

TypeScript SDK使这种转换变得简单:

import { toTOON } from '@toon-format/sdk';const jsonData = { /* your data */ };
const toonData = toTOON(jsonData);
// 将toonData发送给LLM

🎀生态支持

TOON的生态系统正在快速发展。目前已有TypeScript、Python、Go、Rust和.NET的实现,确保了广泛的适用性。

每个实现都遵循同一规范,保证跨语言的一致性。

开发者工具也在不断完善:

  • VS Code扩展提供语法高亮和验证;
  • 命令行工具支持JSON与TOON之间的双向转换;
  • 在线playground允许实时试验和验证。

对于团队协作,TOON文件使用.toon扩展名和text/toon媒体类型。

这些约定虽然简单,但对于构建可维护的AI应用至关重要。

特别值得注意的是TOON的规范驱动开发
格式规范是独立维护的,所有实现都基于同一规范。
这种确保了一致性,避免了不同实现之间的微妙差异。

📦场景限制

TOON不是万能解决方案,它有明确的优势场景和局限性。
结构化数据密集的LLM应用中,如数据分析、报告生成、数据库查询等,TOON表现最佳。

当处理统一的对象数组时(如用户列表、产品目录、日志条目),TOON的表格格式能带来最大收益。

官方基准显示,对于这类数据,TOON比JSON节省40-50%的tokens。

然而,在某些情况下其他格式可能更合适:

  • 深度嵌套或高度不规则的结构,JSON可能更高效;
  • 纯表格数据,CSV的token开销更小;
  • 延迟敏感应用,需要实际测试两种格式的处理速度。

在实际项目中,建议评估数据结构的表格化比例
如果超过60%的数组可以转换为表格形式,TOON很可能带来显著收益。可以使用TOON SDK的分析工具来评估现有JSON数据的转换潜力。


结束

http://www.jsqmd.com/news/355039/

相关文章:

  • 基于管理会计的制造企业运营优化虚拟仿真实验 - 指南
  • 历年蓝桥杯青少组Python中/高级选拔赛(STEMA)真题解析 | 2023年2月
  • 营口市英语雅思培训辅导机构推荐/2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 辽阳市英语雅思培训辅导机构推荐/2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 盘锦市英语雅思培训辅导机构推荐\2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 实用指南:艾体宝洞察 | 在 Redis 之上,聊一聊架构思维
  • 2026男士沐浴露封神榜|油痘肌/敏感肌闭眼入,清爽留香一整天! - 品牌测评鉴赏家
  • pyproject.toml uv.lock
  • 营口市英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 阜新市英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 北京老酒回收首选!京城亚南酒业上门收茅台五粮液,懂酒更懂价 - 品牌排行榜单
  • 盘锦市英语雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 冬季男士沐浴露避坑指南|告别干痒起皮,这7款闭眼入! - 品牌测评鉴赏家
  • 2026年诚信的gpu散热器,热管散热器,igbt散热器厂家选型决策榜单 - 品牌鉴赏师
  • 男生美白不用费劲儿!4款宝藏沐浴露,洗出干净通透健康白 - 品牌测评鉴赏家
  • 2026男士沐浴露“真香”清单|按肤质+场景精准选,告别踩雷! - 品牌测评鉴赏家
  • Spark学习 day8 - 呓语
  • YAW-100型微机控制电液伺服多功能加载试验系统
  • 解读成都高性价比的教育机构,美国雪兰多大学教学质量排名 - mypinpai
  • 盘锦市英语雅思培训辅导机构推荐;2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 阜新市英语雅思培训辅导机构推荐\2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 盘锦市英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 基于FPGA的自定义控制命令的串口收发功能 实现pc电脑与fpga的参数控制,可设置波特率,实...
  • 2026年分析广州的西班牙CEDEU学院优质机构费用怎么算 - 工业品牌热点
  • 从辰包装纸箱厂推荐哪家,在河北地区有什么独特的服务亮点? - 工业推荐榜
  • 国研控股办理美国雪兰多大学留学靠谱吗 - mypinpai
  • 铁岭市英语雅思培训辅导机构推荐:2026权威出国雅思课程中心学校口碑排行榜 - 老周说教育
  • 2026年北京海淀专业的大巴包车公司排名,哪家性价比高? - myqiye
  • 2026男士温和洗面奶宝藏清单|油皮/敏肌闭眼入,告别油光紧绷不踩雷 - 品牌测评鉴赏家
  • 2.1 链式法则