TOON: компактный формат данных для LLM, когда JSON становится слишком «дорогим»

06.02.26

Интеграция - Нейросети

TOON (Token Oriented Object Notation) — практичный текстовый формат, который сохраняет структуру «объект/массив/поля», но уплотняет представление, уменьшая долю служебного синтаксиса и повторов. Он особенно полезен, когда нужно передать модели много однотипных строк: каталоги, логи, выборки, транзакции, табличные справочники.

Большие языковые модели (LLM) работают с текстом через токены и имеют ограничение по размеру контекста. Поэтому в прикладных задачах часто упираешься не в «умность» модели, а в банальную вместимость: сколько фактов ты успел передать в запросе, прежде чем закончился лимит. На этом фоне привычный JSON внезапно оказывается не лучшей упаковкой: он удобен для машин, но слишком многословен для промпта.

TOON (Token Oriented Object Notation) — практичный текстовый формат, который сохраняет структуру «объект/массив/поля», но уплотняет представление, уменьшая долю служебного синтаксиса и повторов. Он особенно полезен, когда нужно передать модели много однотипных строк: каталоги, логи, выборки, транзакции, табличные справочники.


1) Почему JSON в промпте часто проигрывает

Главная причина — повтор ключей. В JSON массив объектов выглядит так, что в каждой строке снова и снова повторяются одинаковые имена полей. Это отлично для универсального парсинга, но в промпте повторяющиеся ключи не добавляют новой смысловой информации, занимая место, которое могло бы уйти на дополнительные строки данных.

Вторая причина — высокая «пунктуационная плотность». Кавычки, фигурные и квадратные скобки, двоеточия, запятые — всё это неизбежно. В сумме получается, что вы передаёте модели много структуры, но сравнительно мало фактов.

Третья причина — сложность смешивать «правила» и «данные». В реальном промпте вам почти всегда нужно: (а) описать задачу, формат ответа и ограничения, (б) дать данные. В JSON это часто превращается в большой мешок из вложенных объектов, который неудобно читать и отлаживать глазами.


2) Идея TOON: схема отдельно, значения отдельно

TOON делает ставку на простой принцип: если у вас массив однотипных объектов, то имена полей можно объявить один раз, а дальше передавать значения строками, как таблицу. При этом формат остаётся структурированным: можно описывать вложенные объекты, массивы, метаданные и параметры задачи.

Ниже — базовые конструкции, которых обычно достаточно для большинства сценариев:

  • Скаляр: ключ: значение

  • Объект: ключ: и далее блок с отступом

  • Простой массив: ключ[N]: v1,v2,v3

  • Табличный массив: ключ[N]{поле1,поле2,...}: и далее N строк значений

 

Минипример «табличного массива»:

employees[3]{name,age,city}: 
Иванов,30,Москва 
Петров,25,Казань 
Сидоров,35,Сочи

Именно табличный режим даёт основной выигрыш: ключи вынесены в заголовок и не повторяются в каждой строке.

 

Тот же массив в JSON:

[ 
{"name":"Иванов","age":30,"city":"Москва"}, 
{"name":"Петров","age":25,"city":"Казань"}, 
{"name":"Сидоров","age":35,"city":"Сочи"} 
]

 

Смысл тот же, но «лишнее» (повтор ключей, кавычки вокруг ключей) исчезает.

 

«Инструкция + данные» в одном формате

Практически всегда полезно держать рядом правила и входные строки. TOON делает это естественно:

request:
  task: "Сравни варианты и дай рекомендацию"
  output:
    format: "markdown"
    sections[4]: "Кратко","Плюсы","Минусы","Риски"
    style: "деловой, без воды"
  constraints:
    budget_rub: 150000
    region: "RU"
  items[4]{id,title,price,category}:
    A1,"Сервер",450000,hardware
    B2,"Лицензия 1С",85000,software
    C3,"Поддержка",120000,services
    D4,"Калибр",19900,tooling

Вверху — управляющая часть промпта, ниже — таблица сущностей. Это легко читать глазами, удобно логировать и просто расширять новыми блоками.

 

Логи и события

Логи — идеальный кандидат: одинаковая схема, много строк.


audit[6]{ts,level,actor,action,entity}: 
2026-02-06T09:01:12,INFO,web,login,user:124 
2026-02-06T09:03:40,WARN,web,rate_limit,ip:10.0.0.5 
2026-02-06T09:05:10,INFO,svc,update,order:771 
2026-02-06T09:06:11,ERROR,svc,timeout,endpoint:/pay 
2026-02-06T09:07:02,INFO,web,logout,user:124 
2026-02-06T09:07:30,INFO,svc,retry,endpoint:/pay

 

 

Дальше достаточно одной строки инструкции: «Найди причины ошибок, сгруппируй по action, предложи меры».

 

Неоднородные структуры (когда «таблица» уже не честная)

Если элементы массива реально разные, не надо насильно загонять их в таблицу. TOON допускает «список объектов» с отступами:

offers[3]:
  -
    id: A1
    price: 450000
    delivery_days: 14
  -
    id: B2
    price: 85000
    discount: 0.1
  -
    id: C3
    price: 120000
    notes: "Можно помесячно"

 

 

Практическое правило: однородность — табличный массив, неоднородность — список объектов.


4) Практика: типы, кавычки, разделители и «профиль формата»

Чтобы TOON работал устойчиво, важно один раз договориться о «профиле» — наборе правил, по которым формат пишется и читается.

 

Типы (рекомендуемая договорённость)

Обычно удобно поддержать простые литералы:

  • true / false — булево

  • null — пустое значение

  • числа — с точкой в дробной части: 123, -10, 45.67

  • даты/время — ISO вид: 2026-02-06, 2026-02-06T14:30:00

Главное — не оставлять это «на авось». Если один источник пишет 12,5, а другой ждёт 12.5, ошибки будут системными.

 

Разделитель

Чаще всего это запятая, но иногда удобнее ;, если у вас много текстовых полей с запятыми. Важно: разделитель должен быть один и тот же во всех табличных блоках.

 

Кавычки и экранирование

Это самая частая точка поломки. Минимальное правило:

  • Если значение содержит разделитель, кавычку или перевод строки — оно должно быть в кавычках.

  • Внутренние кавычки экранируются (например, удвоением "").

Пример:


 products[2]{sku,title,comment}:
  A1,"Кабель, 2 м","Подходит для ""старых"" устройств"
  B2,"Блок питания","Без комментариев"

 

Если эти правила не зафиксировать, данные станут неоднозначными: парсер не поймёт, где колонка, а где часть текста.

 

Схема и порядок полей

В табличном массиве порядок полей — часть контракта. Менять поля «на лету» нельзя: либо начинайте новый блок с новой схемой, либо переходите на неоднородный список объектов.


5) Где TOON выигрывает сильнее всего (и где может не подойти)

Лучшие сценарии

  • Большие справочники и выборки: много строк, одна схема.

  • Логи, события, трейсинг: структурированные записи.

  • Классификация/ранжирование: матрицы признаков, сравнительные таблицы.

  • Смешанные промпты: «правила + таблица данных + дополнительные таблицы».

В этих задачах TOON обычно позволяет уместить заметно больше строк данных в тот же лимит контекста. Иногда это напрямую улучшает качество ответа: меньше «угадываний», больше фактов.

 

Когда стоит подумать дважды

  • Много многострочных текстов в ячейках (письма, описания с абзацами).

  • Сильно вложенные, неоднородные структуры, где почти каждый элемент имеет уникальный набор полей.

  • Требование строгой совместимости с чужими системами и готовыми библиотеками (там JSON всё ещё вне конкуренции).

TOON — инструмент упаковки для промпта, а не религия. Его удобно использовать как промежуточный формат: «данные → TOON → LLM», а дальше при необходимости возвращаться в JSON для API, валидаторов и контрактов.

Вступайте в нашу телеграмм-группу Инфостарт

LLM TOON

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    65038    132    36    

140

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    17118    84    29    

75

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Подключите Codex к открытой или серверной базе 1С и ставьте задачи обычным языком: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения.

12078 руб.

30.07.2026    1346    4    4    

6

Нейросети Программист Бесплатно (free)

SFT-адаптация Qwen/Qwen3.6-27B для разработки на платформе 1C:Enterprise: код на BSL, структура выгрузок BSL+XML, схемы XML и типовые практики конфигураций. Модель ориентирована на ассистента разработчика 1С: навигация по метаданным/XML-выгрузке, пояснение и правка BSL, следование внутренним стандартам кодирования, работа с открытыми кодовыми базами 1С.

03.08.2026    2618    andrew.ab    34    

15

Облачные сервисы, хостинг Сервера Нейросети Программист Бесплатно (free)

В последние годы спор «облако или локалка» стал одним из самых горячих в мире работы с нейросетями. Давайте разберемся.

03.08.2026    659    dsdred    37    

10

Нейросети Программист Бесплатно (free)

Рассказываем, как использовать библиотеку искусственного интеллекта для 1С не просто как инструмент генерации кода, а как основу для новых бизнес-решений. Показываем, как с ее помощью строить BI-систему на естественном языке: пользователь формулирует вопрос по продажам обычным текстом, а система генерирует запрос к базе и возвращает результат в виде таблицы или графики. Разбираем пример торгового бота-продавца, который общается с покупателем, консультирует по товару и отправляет платежную ссылку, а также объясняем, зачем в таких решениях нужны границы, точки контроля и обычное программирование. Отдельно показываем, как векторные базы и нечеткий поиск помогают создавать помощников менеджера (например, для подбора аналогов), и почему новые задачи лучше решать новыми методами, а не пытаться применять ИИ только к старым сценариям.

31.07.2026    7640    mkalimulin    9    

13

Нейросети Программист Бесплатно (free)

Эта статья не столько про новую программу, сколько про путь: от желания немного улучшить чужой open-source проект — до создания собственного инструмента, который закрывает весь цикл работы с речью. Транскрибация, генерация статей и описаний через LLM, синтез аудиокниг — всё локально, в одном приложении. Исходники открыты, лицензия MIT.

29.07.2026    1655    Ibrogim    23    

27

Нейросети Программист Бесплатно (free)

Новые результаты теста топовых ИИ в вайбкодинге на 1С. Это продолжение прошлой статьи, где нейросети написали внешнюю обработку за 19 минут. Теперь же с этой же задачей справляются за 3–4 минуты. Прошло всего несколько недель. Что будет дальше?

24.07.2026    11345    top_1c    107    

37
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dsdred 4269 06.02.26 15:43 Сейчас в теме
вот этой ссылочки не хватает: https://github.com/toon-format/toon
Somebody1; shapa_pro; +2 Ответить
2. shapa_pro 83 06.02.26 15:48 Сейчас в теме
3. Somebody1 68 06.02.26 15:51 Сейчас в теме
Мешает чтению статьи обилие заголовков и воды. Она была написана с явным использованием ИИ.
4. shapa_pro 83 06.02.26 15:53 Сейчас в теме
(3) Заголовки отделяют части текста друг от друга, что вы считаете водой, наоборот минимум текста максимум примеров.
5. RocKeR_13 1483 06.02.26 16:20 Сейчас в теме
Ммм, переизобрели CSV?)
6. dsdred 4269 06.02.26 16:23 Сейчас в теме
(5) Нет. Внимательнее посмотрите на формат.

CSV - это плоская таблица.
TOON - это сложная структура.

Пример JSON:
{
  "status": "success",
  "data": [
    {
      "id": 1,
      "name": "Product A",
      "price": 29.99
    },
    {
      "id": 2,
      "name": "Product B",
      "price": 49.99
    },
    {
      "id": 3,
      "name": "Product C",
      "price": 19.99
    }
  ],
  "metadata": {
    "total": 3,
    "page": 1,
    "limit": 10
  }
}
Показать


CSV такой не скушает

А TOON вот так сделает:
status: success
data[3]{id,name,price}:
  1,Product A,29.99
  2,Product B,49.99
  3,Product C,19.99
metadata:
  total: 3
  page: 1
  limit: 10
Показать
7. RocKeR_13 1483 06.02.26 16:25 Сейчас в теме
(6) Да, увидел уже) Акцент на массивы был, а самому интересному один абзац уделили
8. dsdred 4269 06.02.26 16:27 Сейчас в теме
9. RocKeR_13 1483 06.02.26 16:30 Сейчас в теме
(8) Да пока практического интереса нет: времени хватает только на текущие задачи) А там не до ИИ...
Для отправки сообщения требуется регистрация/авторизация