正在构建 AI 初创公司?
您可能符合我们的初创计划资格。获得本文所介绍基础设施的全额资助访问权限(最高价值 $20,000)。
什么是 TOON?
面向令牌的对象记号法 (TOON) 是为 LLM 输入而设计的 JSON 数据模型的紧凑、人类可读的编码方式。它最小化令牌使用,同时保持完整的数据保真度,是处理大量结构化数据时降低成本的绝佳选择。 TOON 将 YAML 的基于缩进的结构与 CSV 样式的表格布局相结合,适用于统一数组,实现了与标准 JSON 相比 30-60% 的令牌减少。TOON 是一个转译层 - 在代码中以编程方式使用 JSON,将数据传递给 LLM 时将其编码为 TOON。
TOON 如何工作
JSON 的问题
标准 JSON 为每条记录重复字段名称,这在令牌方面很昂贵:TOON 解决方案
TOON 声明字段一次,然后以紧凑行的形式流式传输数据:[3]声明数组长度(有助于检测截断){id,name,price}声明字段名称一次- 每行包含逗号分隔的值
令牌节省示例
JSON
235 个令牌冗长且包含重复的键
TOON
106 个令牌~55% 的减少
JSON (235 个令牌)
TOON (106 个令牌)
何时使用 TOON
TOON 在扁平、统一的对象数组中表现出色 - 数据中的项目在所有记录中共享相同的结构。
理想使用案例
何时不使用 TOON
避免在以下情况使用 TOON:
数据深度嵌套
数据深度嵌套
具有多个嵌套级别的复杂对象无法从 TOON 的表格格式中受益。JSON-compact 通常对此类结构使用更少的令牌。示例: 包含嵌套经历、教育和技能对象的 LinkedIn 配置文件。
数据不统一
数据不统一
当数组项具有不同的字段或可选属性时,TOON 的基于标头的方法会崩溃。示例: 具有不同属性的混合产品类型。
使用 Bright Data MCP 结构化端点
使用 Bright Data MCP 结构化端点
大多数 Bright Data Web 数据端点返回富嵌套的 JSON,具有分层关系。TOON 在这里不会提供有意义的节省。示例:
web_data_amazon_product、web_data_linkedin_person_profile 等。Bright Data MCP 中的 TOON
理解限制
Bright Data 的 MCP 服务器从 Amazon、LinkedIn、Instagram 等平台返回结构化数据。这些数据通常是嵌套且分层的,不适合 TOON 优化。- 远程 MCP (SSE)
- 本地 MCP (STDIO)
通过服务器发送事件连接:
TOON 何时有帮助
虽然大多数 Bright Data 端点返回嵌套数据,但在某些情况下 TOON 可能会有益:1
首先展平数据
对 MCP 响应进行后处理,在编码为 TOON 之前提取扁平数组。
2
用于批处理结果
使用
scrape_batch 或 search_engine_batch 时,URL/内容对可以展平。3
自定义提取
使用
extract 工具,使用请求扁平、表格数据的提示。TOON 快速入门
安装
基本使用
CLI 使用
实际示例:在 MCP 客户端中使用 TOON
此示例演示了一个完整的工作流程:连接到 Bright Data 的 MCP 服务器、获取数据、展平嵌套响应,以及将其转换为 TOON 格式以实现令牌高效的 LLM 处理。完整 MCP 客户端示例
批处理多个产品
对于较大的数据集,令牌节省变得更加显著:创建可重复使用的展平器
对于生产使用,创建一个具有正确 MCP 字段映射的可重复使用的实用程序:总结
在以下情况使用 TOON
- 扁平、统一的数组
- 表格数据结构
- 具有重复模式的大型数据集
- 后处理、展平的 MCP 数据
在以下情况避免 TOON
- 深度嵌套的对象
- 非统一数据结构
- 直接 MCP 端点响应
- 复杂的分层数据
总之: TOON 是令牌优化的强大工具,但它专为扁平、统一的数据设计。Bright Data MCP 响应通常是嵌套的,因此仅在将数据展平为表格结构后再应用 TOON。
资源
TOON 规范
官方格式规范
TypeScript SDK
NPM 包文档
TOON 网站
交互式游乐场和文档