Skip to main content

正在构建 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 在深层嵌套或非统一数据结构上表现不佳。 这对 Bright Data MCP 响应特别相关。

避免在以下情况使用 TOON:

具有多个嵌套级别的复杂对象无法从 TOON 的表格格式中受益。JSON-compact 通常对此类结构使用更少的令牌。示例: 包含嵌套经历、教育和技能对象的 LinkedIn 配置文件。
当数组项具有不同的字段或可选属性时,TOON 的基于标头的方法会崩溃。示例: 具有不同属性的混合产品类型。
大多数 Bright Data Web 数据端点返回富嵌套的 JSON,具有分层关系。TOON 在这里不会提供有意义的节省。示例: web_data_amazon_productweb_data_linkedin_person_profile 等。

Bright Data MCP 中的 TOON

理解限制

Bright Data 的 MCP 服务器从 Amazon、LinkedIn、Instagram 等平台返回结构化数据。这些数据通常是嵌套且分层的,不适合 TOON 优化。
通过服务器发送事件连接:

TOON 何时有帮助

虽然大多数 Bright Data 端点返回嵌套数据,但在某些情况下 TOON 可能会有益:
1

首先展平数据

对 MCP 响应进行后处理,在编码为 TOON 之前提取扁平数组。
2

用于批处理结果

使用 scrape_batchsearch_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 网站

交互式游乐场和文档