Token-Oriented Object Notation (TOON) - новый формат сериализации, который придумали в Duolingo, чтобы тратить меньше токенов при работе с LLM.
Грубо говоря - JSON на диете: без кавычек, без повторяющихся ключей, но со структурой.
Обычный JSON:
{
"users": [
{"id": 1, "name": "Alice", "role": "admin"},
{"id": 2, "name": "Bob", "role": "user"}
]
}А вот TOON:
users[2]{id,name,role}:
1,Alice,admin
2,Bob,userКлючи не повторяются, кавычек меньше, выглядит почти как CSV, только с мозгами.
Результат тот же, а токенов уходит в два-три раза меньше.
Когда TOON реально помогает
• Когда вы шлёте модели большие массивы однотипных данных
• Когда важно влезть в контекст или сократить стоимость
• Когда структура простая и не меняется
Когда лучше остаться на JSON
• В REST API и между сервисами - JSON всё ещё стандарт
• Когда данные сложные и вложенные
• Когда важна совместимость и схема
Что по цифрам
На плоских структурах экономия 30–60% токенов.
На вложенных почти нулевая экономия, иногда даже наоборот.
Итог
TOON - не замена JSON, а инструмент для LLM.
Если часто кормите модель большими таблицами - TOON даст экономию.
Если нет - JSON вас и дальше не подведёт.
PS: Бибилиотеки на swift еще нет, самое время залететь в open source и сделать Свифтун (SwiftToon)
