01 Простыми словами
Модель готова написать сколь угодно длинный ответ, если тема того требует. Параметр максимума токенов ставит жёсткий потолок: как только счётчик сгенерированных токенов достигает заданного числа, генерация останавливается на текущем месте — даже посреди предложения.
02 Как это работает
Технически это число, которое передают вместе с запросом к модели вместе с текстом промпта и другими параметрами.
- Разработчик указывает предельное число токенов ответа при настройке запроса — например, 500 или 2000.
- Модель генерирует ответ токен за токеном и на каждом шаге сверяет счётчик с заданным пределом.
- Как только счётчик достигает предела, генерация останавливается сразу же, без довершения текущей мысли или предложения.
03 Где применяется
- Юристы. Резюме длинного договора ограничивают по токенам, чтобы получить короткую выжимку вместо полного пересказа документа.
- Поддержка клиентов. Ответ бота ограничивают небольшим числом токенов, чтобы сообщения оставались короткими и удобными для чата.
- Бухгалтерия. Разбор большого отчёта делят на части с достаточным запасом токенов под таблицы и цифры в каждой части.
- Маркетинг. Заголовок или короткий слоган ограничивают жёстким пределом токенов, чтобы удержать текст в нужной длине без разрастания.
- HR. Черновик вакансии ограничивают по объёму, чтобы получить компактное описание вместо длинного текста на разворот.
- Разработка. Генерацию кода ограничивают достаточным запасом токенов, которого хватает на целую функцию целиком, без обрыва посреди блока.
04 Строки одного вызова API
Юрист просит подготовить резюме договора аренды через API, разработчик присылает на согласование два варианта одного и того же вызова — отличается только одна строка с числом.
max_tokens: 300— жёсткий потолок в 300 токенов, это примерно один короткий абзац; для длинного договора аренды такого объёма хватает едва на пересказ первого раздела.max_tokens: 900— тот же запрос с потолком втрое выше, резюме укладывается целиком вместе с разделом про штрафы и порядок расторжения.prompt: "составь резюме договора аренды по разделам"— сам текст запроса в обоих вызовах одинаковый, разница только в числе после max_tokens.temperature: 0.3— низкое значение держит формулировки резюме предсказуемыми независимо от лимита длины, эту строку в обоих вызовах оставили нетронутой.
Юрист получает: первая версия обрывается на полуслове ровно там, где заканчиваются 300 токенов, вторая доходит до конца документа. Разработчик поднимает лимит до 900 и присылает файл на повторное согласование, приложив короткий комментарий про выбор именно этого числа вместо максимума, который вообще допускает вендор.
Предельно допустимое вендором значение разработчик бережёт про запас на будущее, а сейчас поднимает лимит ровно настолько, насколько требует конкретный документ, — слишком щедрый запас на каждый запрос увеличивает счёт за токены и время ожидания ответа без реальной пользы для качества резюме — а разница в 600 лишних токенов на каждый из сотен ежедневных запросов складывается в заметную сумму к концу месяца.
05 Ограничения и ошибки
- Слишком маленький лимит обрывает мысль на полуслове — особенно опасно для юридических и финансовых текстов, где важен именно конец документа.
- Слишком большой лимит без реальной необходимости повышает счёт за токены на выходе и время ожидания ответа без пользы для качества.
- Лимит ответа и лимит контекстного окна — разные вещи: длинный вопрос и длинная история переписки съедают часть общего окна ещё до генерации самого ответа.
- Для задач с непредсказуемой длиной ответа — резюме документов разного объёма — лучше давать запас с большим отступом, чем считать точный минимум наперёд.
- Часть моделей начинает терять качество к самому концу длинного ответа при завышенном лимите — важные выводы стоит выносить ближе к началу текста на всякий случай.
Как рассчитать бюджет запроса с учётом длины ответа — в статье про получение API-ключа YandexGPT. Как провести аудит настроек модели под задачи компании — в разделе про консалтинг по внедрению ИИ.