AI-разработка

Почему ИИ-модели становятся всё больше? Параметры, Token, Context Window и обработка JSON

Около 16 мин

Сотни миллиардов параметров и окна на миллион токенов продают как сам прогресс. Для тех, кто пишет JSON, «больше» обычно значит: тот же объект заказа дороже, чаще обрезается и хуже выходит как легальная структура. Разведём три смешанных слова—параметры, токены, context window—и сядем на работу с JSON в 2026.

Кратко заранее

Понятие Одной фразой Угол JSON
Параметры Обучаемые веса — грубая мера ёмкости Влияет на то, насколько стабильно выходит легальный JSON
Token Единица измерения и оплаты текста Скобки, кавычки и повтор ключей стоят денег
Context Window Потолок токенов одного запроса Толстый JSON и многошаговые ответы инструментов упираются первыми

Больше ≠ лучше в JSON. Параметры — ёмкость, токены — счёт, context window — ведро. Когда ведро выросло, первый шаг — не выливать туда весь ответ API.

Почему большие модели становятся ещё больше?

Эмпирическое правило простое: если данные и compute не отстают, больше параметров и дольше обучение обычно улучшают кривую потерь. Поэтому вендоры делают «больше» сюжетом по умолчанию — так проще продавать на лидерборде, в демо и в закупке.

С 2024 по 2026 «большое» раскололось на три оси. Это уже не только число параметров:

  • Масштаб параметров: плотные модели ещё растут; MoE держит большой total, но активирует на токен только срез.
  • Context window: 8K и 32K стали 128K, затем миллион. Агенты и длинные документы — обычная отговорка.
  • Ограничения выхода: Structured Outputs / JSON Schema заставляют «больше» значить «более стабильный объект», а не более длинный абзац.

Если вы пишете JSON, полезные вопросы не «сколько B?». Это: насколько стабильно модель попадает в Schema, цена за тысячу токенов и влезает ли ещё результат инструмента в окно.

Что такое параметры?

Параметры — это веса, оставшиеся в модели после обучения. На инференсе они больше не обновляются, только считают. 7B, 70B, 405B (миллиарды) описывают ёмкость — не то, сколько символов прочитал этот запрос.

Больше параметров обычно значит три вещи:

  • Лучше держат сложные ограничения. Вложенные объекты, enum и required ломаются реже.
  • Инференс дороже и медленнее. Тот же JSON на большой модели стоит больше задержки и денег за токен.
  • Это не то же самое, что большее context window. Маленькая модель может сидеть на 128K; огромная — остаться на 32K.

Страницы продуктов 2026 любят писать MoE «total» и «active» рядом. Спросите, по какому числу идёт счёт и по какому — задержка. Как в гид по GPT-6 Astra: для JSON стабильные Structured Outputs часто ценнее, чем ещё один класс плотности.

Что такое token?

Token — кусок, который режет токенизатор, не символ и не слово. Английский часто около 1 token ≈ 4 символа. Китайский, код и пунктуация JSON дробятся сильнее: та же визуальная длина дороже.

API считает и обрезает по токенам. Системный промпт, определения инструментов, история, JSON от инструмента и JSON модели сидят в одной книге учёта.

JSON дорог по природе. Скобки, кавычки, запятые, отступы и повтор ключей могут брать по токену. Этот «полный заказ» легко читать и расточительно слать:

{
  "order": {
    "order_id": "A-1042",
    "customer": {
      "full_name": "Ada Lovelace",
      "email": "ada@example.com",
      "locale": "en-GB"
    },
    "line_items": [
      {"sku": "KB-1", "title": "Keyboard", "qty": 1, "price": 99.00}
    ],
    "shipping": {"city": "London", "method": "express"},
    "debug": {"trace_id": "tr_9f", "retries": 0}
  }
}

Для следующего хопа агента тому же бизнесу обычно нужно только:

{
  "order_id": "A-1042",
  "amount": 99.00,
  "status": "paid"
}

Сначала локально форматирование, чтобы увидеть форму, вытянуть order_id / amount / status через извлечение JSONPath, затем minify, прежде чем модель это увидит. Красиво — для отладки, худо — для инференса. Это не один и тот же payload.

Что такое context window?

Context window — потолок токенов одного запроса. Одни вендоры считают вход и выход в одном окне, другие оставляют полосу под output. Пока документация неясна, бюджет: «вход + зарезервированный выход ≤ окно».

Рост с 8K до 128K и до миллиона сам по себе не упрощает JSON. Он только делает вид, что «вставить весь ответ» можно. Можно — не значит дёшево и стабильно.

В цикле агента окно обычно съедают так:

{
  "context_window": 128000,
  "spent": {
    "system": 1200,
    "tools": 3400,
    "history": 18000,
    "tool_result_json": 42000
  },
  "reserved_output": 4000,
  "remaining": 59400
}

Таблица для иллюстрации, не счёт вендора. Суть: JSON результата инструмента часто толще промпта. Многошаговый гид по AI Agent без проекции и сжатия к третьему хопу обрежет половину объекта — следующий хоп примет её за полный заказ.

Как складываются параметры, токены и окно?

Три слова сплющивают в «модель больше». Работы у них разные:

  1. Параметры задают потолок качества: держит ли Schema или импровизирует мимо additionalProperties.
  2. Токены задают счёт и задержку каждого хопа. Толстый JSON в том же окне вытесняет историю и запас на выход.
  3. Context window задаёт, сколько видит один вызов. Большее ведро не лечит «мало параметров под ограничение» и «токены слишком дороги, чтобы ретраить».

Типовой инцидент 2026: купили большое окно, залили 2 МБ pretty-printed JSON и обвинили модель, что она «забыла» ранние поля. Она не забыла. Вы сначала заполнили окно.

Что это значит для обработки JSON?

На ежедневном пайплайне три слоя становятся очень конкретными:

  • Красиво для людей, компактно для модели. Отступы окупаются в редакторе и чисто тратятся в счёте токенов.
  • Проекция вместо вставки. Если инструмент вернул 80 полей, оставьте только ключи, которые следующий хоп пометил required.
  • Schema — страховка от ретраев. Structured Outputs меняют валидацию на меньше нелегального JSON — меньше выходных токенов.
  • Строковые arguments платят форму дважды. Экранированные кавычки плохо читаются и едят бюджет; хост всё равно парсит снова.
  • Длинный контекст — не база. Запрос — инструментом; сравнение — локальным Diff. Не пихайте два файла по 5000 строк в одно сообщение.

Почему AI-агентам теперь нужен JSON Schema сделал Schema гейтом рантайма; синтаксис в учебник JSON Schema. При дрейфе версий сначала JSON Diff объект прошлой недели и сегодняшний отказ, потом решайте, покупать ли модель крупнее.

Как резать стоимость в 2026 (сначала JSON, потом модель)

  1. Allow-list полей на шаг агента, а не JSON.stringify(fullResponse).
  2. Худейте и определения инструментов: ограничения в description, прозу, которая не меняет вызов, удалите.
  3. Включите strict: true / json_schema и тратьте валидацию вместо ретраев.
  4. Историю держите объектом состояния, не полным транскриптом инструментов. Чекпоинт — маленький JSON, не лог чата.
  5. Секреты и пользовательские поля смотрите и режьте локально. Не заливайте на публичный JSON-сайт и не шлите в модель без причины.

Порядок: проекция → сжатие → Schema → затем меньшая или большая модель. Наоборот — вы выбросите и окно, и параметры.

Частые ошибки

  • Считать число параметров за context window. 70B и 128K — две строки закупки, даже на одном слайде.
  • Оценивать токены по числу символов. Пунктуация JSON и китайский упрутся в потолок объектом, который «не выглядит длинным».
  • Бросить проекцию, потому что окно выросло. Миллион токенов всё равно считают. Толстый JSON только удлиняет счёт.
  • Лечить нелегальный JSON более крупной моделью. Сначала Schema и валидатор хоста. Многие «модель стала тупее» — это один лишний required.
  • Отправлять pretty JSON как боевой payload. Пробелы редактора не должны попадать в запрос инференса.

FAQ

Больше параметров — более легальный JSON?

Помогает, не гарантирует. Без Schema и проверки хоста большая модель всё равно теряет поля и пишет числа строками. Ёмкость снижает аварийность; гейт решает, дойдёт ли авария до следующего хопа.

Можно ли менять токены и символы как 4:1?

Как правило для английской прозы — да. Для JSON, кода и китайского — нет. Берите токенизатор вендора или официальный API подсчёта. Не выставляйте счёт по счётчику символов в редакторе.

Входит ли выход модели в context window?

Большинство Chat / Responses API считают выход в том же бюджете или ставят max output. Худший случай: вход + зарезервированный выход ≤ окно, чтобы не срезать последнюю закрывающую скобку.

У меня уже окно 1M — всё равно резать JSON?

Да. Окно отвечает на «влезает ли», не на «по карману ли» и «стабилен ли следующий хоп». Проекция и minify остаются действием по умолчанию.

Как локально проверить, взорвёт ли JSON контекст?

Отформатируйте, чтобы увидеть форму, спроецируйте поля, затем посчитайте строку, которую реально отправите. JSONSort форматирует, извлекает и сравнивает в браузере и ничего не загружает.

Вывод

Модели растут, потому что больше параметров, длиннее окна и больше данных всё ещё продаются на оценках. Если вы обрабатываете JSON, параметры — ёмкость, токены — счёт, context window — ведро. Заливать pretty JSON в большее ведро — просто другой способ перерасхода.

Начните сегодня с «какие ключи можно пустить в этот хоп», затем решите, нужна ли модель крупнее. Модели будут расти дальше. Диаметр стоит сначала уменьшить.

Дальше по теме

Журнал: первая публикация