Инструменты4 сентября 2026 г., 15:46 МСК🤖 Auto

ANAL: Формат сериализации, экономящий токены LLM без переобучения

Новый формат ANAL (Agent Notation, Actually Lean) сокращает потребление токенов на 42% по сравнению с JSON, используя заголовки для имен полей и отправляя только значения.

Баннер новости 6775

Проблема стоимости токенов в JSON

Большие языковые модели (LLM) тарифицируют работу в токенах, а не символах. Стандартный формат JSON требует дублирования имен полей, кавычек и скобок для каждого значения, что приводит к значительному перерасходу контекстного окна. Новый формат ANAL (Agent Notation, Actually Lean) решает эту проблему, объявляя имена полей один раз в заголовке, а затем передавая только сами значения. Это позволяет экономить ресурсы без необходимости переобучения моделей — формат просто лучше совпадает с токенизатором.

Синтаксис и структура данных

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

  • @table: список плоских объектов, где каждая строка разделена символом |. Имена полей задаются в заголовке.
  • @obj: одиночный плоский объект с ключами в заголовке.
  • @list: плоский список скалярных значений, каждое с новой строки.

Булевы значения кодируются как T и F, null — как N. Строки передаются «как есть», если они не содержат специальных символов (например, |, \, `), в противном случае они оборачиваются в обратные кавычки.

Сравнение эффективности: JSON vs ANAL

Бенчмарки, проведенные с использованием токенизатора cl100k_base (стандарт для GPT-4), показывают существенное сокращение объема данных. Для одного и того же набора данных ANAL требует меньше токенов, чем JSON и альтернативный формат TOON.

Формат Символы (chars) Токены
JSON 133 61
TOON 81 38
ANAL 63 35

Интеграция с AI-агентами

Формат разработан с упором на удобство для разработчиков AI-агентов. Доступны инструменты для Go, Python и CLI. Особое внимание уделено интеграции с популярными coding-агентами:

  • Codex и Claude Code: через команду anal install агенты получают «навык» (skill) для автоматического сжатия больших структурированных данных.
  • Python-хелперы: утилиты analctl.py позволяют конвертировать JSON в ANAL и обратно, а также измерять экономию токенов через diff.

Ограничения и перспективы

В версии 1.0 формат не поддерживает вложенные объекты и массивы — для таких случаев рекомендуется использовать JSON. Однако для плоских структур данных (например, списки товаров, результаты запросов к БД, конфигурации) ANAL предлагает мгновенную экономию контекста. Проект распространяется под лицензией MIT и доступен в репозитории GitHub.

Источник: Github ↗