- BrainTools - https://www.braintools.ru -

TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM?

TOON [1] — это ещё один способ записать те же самые JSON-данные, но компактнее и понятнее для моделей. Вместо  "key": "value" он использует отступы как YAML и табличную запись для массивов объектов: шапка с названиями полей, дальше строки с данными.

TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM? - 1

Пример из README: вместо обычного JSON с пользователями — строка users[2]{id,name,role}: и две строки 1,Alice,admin и 2,Bob,user. Структура при этом не теряется: объекты, массивы и примитивы остаются теми же, формат — просто «другая запись» того же JSON.

Главная идея — экономия токенов и более предсказуемое поведение [2] LLM на больших массивах данных. Помните, мы даже рассказывали про то, что от формата напрямую может зависеть результат генерации. (Какой табличный формат LLM понимают лучше всего? (Результаты по 11 форматам) [3])

В бенчмарках TOON даёт порядка 30–60% экономии токенов на больших ровных массивах объектов по сравнению с форматированным JSON и заметно меньше, но всё равно ощутимо — против compact JSON. Плюс за счёт явных длин массивов ([N]) и списков полей в шапке модели чаще замечают обрезанные данные, расхождения в количестве столбцов и прочие артефакты. На ряде задач TOON показывает чуть более высокую точность ответов, чем обычный JSON при меньшем числе токенов.

TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM? - 2
TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM? - 3

При этом авторы честно фиксируют зоны, где TOON не выгоден. Если структура сильно вложенная, неравномерная и почти не подходит под табличный вид, компактный JSON в тестах иногда оказывается короче.

TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM? - 4

Если данные вообще чисто табличные и плоские, CSV по-прежнему даёт минимальный размер, а TOON добавляет небольшой оверхед ради явной структуры и валидации. То есть формат заточен именно под «много однотипных объектов с примитивными полями», а не под любые данные подряд.

Для использования уже есть CLI через npx @toon-format/cli и TypeScript-библиотека @toon-format/toon. В README есть и плейграунды, где можно погонять свои данные и сравнить токены для TOON, JSON, YAML, CSV и XML.

Подводя итог, это не «замена JSON», а дополнительный слой кодировки специально для LLM-промптов.

Русскоязычное сообщество про AI в разработке

TOON: новый формат на смену JSON для более эффективного взаимодействия с LLM? - 5

Друзья! Эту новость подготовила команда ТГК «AI for Devs [4]» — канала, где мы рассказываем про AI-ассистентов, плагины для IDE, делимся практическими кейсами и свежими новостями из мира ИИ. Подписывайтесь [4], чтобы быть в курсе и ничего не упустить!

Автор: python_leader

Источник [5]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/21962

URLs in this post:

[1] TOON: https://github.com/toon-format/toon/blob/main/README.md

[2] поведение: http://www.braintools.ru/article/9372

[3] Какой табличный формат LLM понимают лучше всего? (Результаты по 11 форматам): https://habr.com/ru/articles/955778/

[4] AI for Devs: https://t.me/+LTvLC83_nNxmNDFi

[5] Источник: https://habr.com/ru/news/966734/?utm_source=habrahabr&utm_medium=rss&utm_campaign=966734

www.BrainTools.ru

Rambler's Top100