TOON:专为 LLM 设计的轻量级数据格式

简介: TOON(Token-Oriented Object Notation)是一种专为降低LLM输入token消耗设计的数据格式。它通过省略JSON中冗余的括号、引号和重复键名,用类似CSV与YAML结合的方式表达结构化数据,显著减少token数量,适合向模型高效传参,但不替代JSON用于存储或复杂嵌套场景。

这几天好像这个叫 TOON 的东西比较火,我们这篇文章来看看他到底是什么,又有什么作用。TOON 全称 Token-Oriented Object Notation,它主要解决的问题就是当你把JSON 输入给LLM 的时候,token 消耗太高了。

一个长 JSON 数组扔进模型token 计数直接起飞。因为引号、大括号、重复的键名,到处都是这些没什么实际意义的字符,而TOON 就是从这个痛点出发,它不是要干掉 JSON,而是说:既然主要是语言模型,那些装饰性的字符完全可以省掉。

Token数对比

常规 JSON 长这样:

 [  
   { "id": 1, "name": "Deep", "role": "admin" },  
   { "id": 2, "name": "Hub", "role": "user" }  
 ]

TOON 版本:

 users[2]{id,name,role}:  
   1,Deep,admin  
   2,Hub,user

第一眼看上去像半成品草稿。但逻辑其实很清晰——字段名只写一次,声明有多少行,然后直接按表格形式写数据,我们直接可以说这个算是CSV的一个进化版。

有一个不严谨的测试JSON 格式的 token 数基本是 TOON 的两倍。差距就这么大。

TOON

JSON 的问题是结构不变的情况下还在重复。而TOON的想法是既然结构本来就很明显了,没必要每条记录都写一遍。

另外就是该有得支功能还是都有,比如说嵌套,使用类似 YAML 的缩进结构来处理嵌套对象:

 user:
   id: 123
   email: ada111@666.com
   metadata:
     active: true
     score: 4.5

简单得嵌套跟YAML 基本一样,如果把嵌套和列表放在一起就是这样:

比如说这个json

 {
  items: [
    {
      users: [
        { id: 1, name: 'Deep' },
        { id: 2, name: 'Hub' }
      ],
      status: 'active'
    }
  ]
 }

转换完以后是这样的

 items[1]:
   - users[2]{id,name}:
     1,Deep
     2,Hub
     status: active

这完全就是YAML 和CSV的缝合怪,不过倒是把JSON冗余的标点去掉了。

不过根据官网的评测token的确是减少了很多

局限性

对于YAML来说深层嵌套的数据结构一直是个问题,而TOON也一样,如果层次太多会比较乱。而且同一个列表里如果对象结构不一致,也不太好处理。但是如果只是为了优化 LLM prompt,TOON还真的确实挺实用。

总结

适合用 TOON 的情况:

  • 往模型里塞大量重复结构的数据
  • token 成本是主要考虑因素
  • 数据结构相对规整

继续用 JSON 的情况:

  • 写 API 接口
  • 需要长期存储
  • 数据结构复杂或者不规则

所以TOON并不是什么颠覆性的东西。更像是有人把 JSON 里那些多余的部分清理掉,然后说:跟模型交互的时候,可以试试这个。

github地址:

https://avoid.overfit.cn/post/95264c51c6544c139b198c31fe4127ab

目录
相关文章
|
JSON 算法 安全
不破不立!Fastjson2.0 性能炸裂,为了下一个十年
Alibaba Fastjson: 目前在人类已知范围内,这个星球跑的最快的Java JSON库。在过去的十年里,fastjson v1作为国内github star最多和最受欢迎的json解析库,如今fastjson v2 重磅来袭,性能炸裂。
19979 2
不破不立!Fastjson2.0 性能炸裂,为了下一个十年
|
监控 Java API
Spring Cloud 2021.0.1 实践 Resilience4J
Spring Cloud CircuitBreaker 提供了跨不同断路器实现的抽象。它提供了在您的应用程序中使用的一致 API,让您(开发人员)选择最适合您的应用程序需求的断路器实现。
2231 0
Spring Cloud 2021.0.1 实践 Resilience4J
|
机器学习/深度学习 人工智能 搜索推荐
Deep Search 如何理解业务仓库代码?
本文系统地介绍了 Deep Search 和 Deep Research 的概念、与传统 RAG 的区别、当前主流的商业产品与开源方案、在代码领域的应用(如 Deep Search for 仓库问答)以及未来的发展规划。
1124 21
Deep Search 如何理解业务仓库代码?
|
3月前
|
人工智能 自然语言处理 API
在阿里云百炼AI大模型平台API调用Token的三种方法:TokenPlan、CodingPlan和按量付费
阿里云百炼提供三种AI模型调用方式:Token Plan(团队版,按Credits计费,支持多模态模型,无频次限制)、Coding Plan(个人版,200元/月,限9万次调用,仅文本模型)及按量付费。新用户可免费领7000万Tokens。在阿里云百炼官网:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
|
3月前
|
人工智能 自然语言处理 语音技术
阿里云Token Plan支持哪些AI模型?个人版和团队版有区别吗?
阿里云百炼TokenPlan分个人版与团队版:个人版(39–499元/月)支持Qwen3.8-preview、GLM-5.2、万相图像及HappyHorse视频等主流模型;团队版(198元起/坐席/月)额外支持qwen-image-2.0、Kimi-K2.7、GLM-5、MiniMax-M2.5等20+款多模态模型,满足企业级高阶需求。在阿里云百炼官网:https://t.aliyun.com/U/fPVHqY 免费领取千万Tokens
673 0
|
11月前
|
人工智能 IDE 开发工具
Visual Studio 2026 正式版发布 - 适用于 Windows 上 .NET 和 C++ 开发人员的最全面 IDE
Visual Studio 2026 正式版发布 - 适用于 Windows 上 .NET 和 C++ 开发人员的最全面 IDE
1681 1
Visual Studio 2026 正式版发布 - 适用于 Windows 上 .NET 和 C++ 开发人员的最全面 IDE
|
12月前
|
存储 人工智能 数据库
构建有记忆的 AI Agent:SQLite 存储 + 向量检索完整方案示例
本文介绍如何为AI Agent构建记忆系统,通过SQLite存储交互历史、向量数据库实现语义检索,结合LLM反思与总结,赋予Agent跨会话记忆、自我反思和目标追踪能力,使其从被动应答工具进化为可长期协作的智能伙伴。
1961 2
|
7月前
|
SQL 人工智能 监控
阿里云 AI安全护栏2.0发布Agent运行时防护,抓住“自主执行任务”的“虾”
AI安全护栏为“龙虾”的每一次自动执行筑起关键防线
2665 6
|
存储 人工智能 前端开发
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP
本文介绍如何利用Qoder、阿里云ADB Supabase和通义千问图像编辑模型,快速搭建AI手办生图Flutter应用。无需传统后端,实现从前端生成到数据存储、AI服务集成的全链路敏捷开发,展现Vibe Coding的高效实践。
Qoder + ADB Supabase :5分钟GET超火AI手办生图APP

热门文章

最新文章