Что такое формат TOON?

TOON (Token‑Oriented Object Notation) — компактный, человекочитаемый формат сериализации данных, разработанный специально для больших языковых моделей (LLMs). В отличие от JSON, где имена полей повторяются для каждого объекта в массиве, TOON объявляет имена полей один раз, а затем передаёт данные построчно — аналогично CSV, но с явной структурой. Такой дизайн обычно снижает количество токенов на 30‑60 % по сравнению с отформатированным JSON, особенно для однородных массивов объектов. TOON сочетает структуру, основанную на отступах YAML, для вложенных объектов, с табличной эффективностью CSV, оптимизированной под контекст LLM, где важны затраты токенов.

Описание инструмента

Этот конвертер преобразует данные между форматами JSON и TOON в обоих направлениях. Достаточно вставить ваш JSON‑текст, чтобы получить компактный вывод в TOON, или преобразовать TOON обратно в стандартный JSON. Инструмент использует официальную библиотеку @toon-format/toon для гарантии точного преобразования. TOON особенно эффективен для наборов данных с повторяющимися структурами — например, записи пользователей, журналы транзакций, ответы API или любые табличные данные, где уменьшение количества токенов повышает эффективность работы с LLM.

Примеры

JSON Input:

{
  "users": [
    { "id": 1, "name": "Alice", "role": "admin" },
    { "id": 2, "name": "Bob", "role": "user" }
  ]
}

TOON Output:

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Пример вложенной структуры:

JSON с вложенными объектами преобразуется в отформатированный TOON:

{
  "order": {
    "id": "ORD-456",
    "items": [
      { "sku": "A1", "qty": 2, "price": 19.99 },
      { "sku": "B2", "qty": 1, "price": 29.99 }
    ],
    "total": 69.97
  }
}

Преобразуется в:

order:
  id: ORD-456
  items[2]{sku,qty,price}:
    A1,2,19.99
    B2,1,29.99
  total: 69.97

Возможности

  • Двунаправленное преобразование между форматами JSON и TOON с полной точностью
  • Существенное сокращение количества токенов (на 30–60 % меньше токенов по сравнению с JSON для однородных массивов)
  • Сохраняет структуру данных, включая вложенные объекты, массивы и примитивные значения
  • Автоматическое определение формата и оптимальная стратегия кодирования
  • Читаемый человеком вывод с чёткой табличной структурой для однородных данных
  • Типобезопасное преобразование, корректно сохраняющее числа, логические значения, null и строки
  • Обрабатывает граничные случаи, включая пустые массивы, вложенные структуры и смешанные типы
  • Преобразование в реальном времени с мгновенными результатами по мере ввода

Сценарии использования

  1. Оптимизация API LLM — снижение затрат токенов при передаче структурированных данных в GPT, Claude или другие LLM, преобразуя JSON‑payload в формат TOON перед вызовами API
  2. Подсказки для анализа данных — подготовка наборов данных для анализа LLM с более эффективным кодированием, позволяющим использовать более крупные наборы данных в пределах ограничений контекста
  3. Генерация структурированных данных — использование TOON в подсказках для запроса у LLM генерации табличных данных более эффективно, чем JSON
  4. Обработка журналов — преобразование журналов приложений или аналитических данных в компактный формат для анализа и суммирования с помощью LLM
  5. Управление конфигурациями — преобразование файлов конфигураций в токен‑эффективный формат при использовании LLM для управления инфраструктурой или задач DevOps

Детали эффективности токенов

TOON достигает значительной экономии токенов за счёт нескольких оптимизаций:

  • Отсутствие повторяющихся имён полей — объявление полей один раз в заголовке вместо повторения для каждого объекта
  • Минимальная пунктуация — удаление избыточных скобок, фигурных скобок и кавычек там, где это безопасно
  • Табличный формат — использование строк, похожих на CSV, для однородных массивов объектов
  • Гибкость разделителей — поддержка запятой (по умолчанию), табуляции или вертикальной черты в качестве разделителей для оптимальной токенизации

Пример сравнения токенов (используется токенизатор GPT‑5):

  • JSON (отформатированный): 100 записей сотрудников ≈ 49 776 токенов
  • TOON: те же данные ≈ 17 635 токенов (сокращение на 64,6 %)
  • CSV: ≈ 15 583 токенов (самый компактный, но без структуры)

TOON обеспечивает лучший баланс между компактностью и структурной целостностью для приложений LLM.

Обзор формата

Объекты: простые пары «ключ‑значение» с отступами для вложенности

id: 123
name: Ada
active: true

Массивы: длина указывается в квадратных скобках, примитивные массивы в одну строку

tags[3]: reading,gaming,coding

Табличные массивы: однородные объекты, отформатированные как таблицы с заголовками полей

items[2]{sku,qty,price}:
  A1,2,9.99
  B2,1,14.5

Правила кавычек: строки заключаются в кавычки только при необходимости (если содержат разделители, двоеточия или выглядят как другие типы)

Примечания к преобразованию

При преобразовании JSON в TOON:

  • Однородные массивы объектов автоматически используют табличный формат
  • Вложенные структуры сохраняют правильные отступы
  • Не‑JSON типы (undefined, функции) преобразуются в null
  • Даты преобразуются в строки ISO
  • Числа выводятся без научной нотации

При преобразовании TOON в JSON:

  • Сохраняет стандартное форматирование JSON с отступом в 2 пробела
  • Проверяет длину массивов и согласованность полей
  • Корректно экранирует специальные символы
  • Сохраняет информацию о типах (числа, логические значения, null)