Обзор
Управлять длиной ответа модели полезно по нескольким причинам: это помогает контролировать стоимость (так как оплата идет за токен), снижает задержку и повышает производительность (короткие ответы возвращаются быстрее), а также сохраняет релевантность, предотвращая слишком длинный или многословный вывод.
Для этого можно использовать лимиты токенов, настройки рассуждений и подробности, четкие инструкции, примеры и stop-последовательности. Самые актуальные и полные сведения всегда смотрите в официальном справочнике API на platform.openai.com.
Задайте максимальную длину вывода
Responses API
Для моделей GPT-5 и большинства моделей серии o используйте max_output_tokens, чтобы ограничить количество токенов, генерируемых моделью. В запросах compaction_trigger либо не указывайте max_output_tokens, либо задайте значение не менее 20000; меньшие значения отклоняются. Responses API не поддерживает несколько завершений (n).
API завершения чата
Используется для устаревших моделей GPT-3.5, GPT-4o и иногда для моделей серии o.
Для моделей рассуждений, таких как o3 и o4-mini, используйте max_completion_tokens (псевдоним max_tokens)
Для более ранних моделей и моделей без рассуждений по-прежнему работает max_tokens
Поддерживает stop и n (несколько завершений).
Примечание. Настройки «минимальное число токенов» нет. Если вам нужна минимальная длина, укажите ее в промпте.
Ограничения токенов по группам моделей
Актуальные ограничения токенов, размеры контекста и лимиты вывода см. в документации по конкретной модели.
Короткие примеры
Responses API
{ "model": "gpt-5", "input": "Кратко изложи выводы примерно в 80 словах.", "max_output_tokens": 120 }Chat Completions (модель рассуждений)
{ "model": "o3-mini", "messages": [{"role": "user", "content": "Напиши пять вариантов по одной строке."}], "max_completion_tokens": 100 }Параметры только для моделей GPT-5: verbosity и reasoning.effort
Эти параметры доступны только в моделях GPT-5 (gpt-5.2, gpt-5.2-chat-latest, gpt-5.2 pro и т. д.). Модели серии o и устаревшие модели их не поддерживают.
Параметр verbosity принимает значения "low", "medium" (по умолчанию) или "high". Он влияет на уровень детализации, но не задаёт жёстких ограничений.
{ "model": "gpt-5", "input": "Объясни PageRank на общем уровне.", "text": { "verbosity": "low" }, "max_output_tokens": 200 }Параметр reasoning.effort определяет, сколько токенов рассуждений будет сгенерировано перед выдачей ответа. GPT-5.2 поддерживает значения none, low, medium, high и xhigh. gpt-5.2-pro поддерживает только medium, high и xhigh. Более ранние модели рассуждений поддерживают только low, medium и high.
{ "model": "gpt-5", "input": "Сколько золота потребуется, чтобы покрыть Статую Свободы слоем толщиной 1 мм?", "reasoning": { "effort": "minimal" } }Чтобы модель работала как модель без рассуждений в сценариях, чувствительных к задержке, задайте для reasoning.effort значение none.
Давайте конкретные инструкции
Укажите точную длину или формат, который вам нужен. Примеры:
«Перечисли ровно пять вариантов».
«Напиши резюме из 50 слов».
«Не более 100 токенов. Если нужно больше, напишите: «Нужно больше места».»
Используйте примеры одинаковой длины
Few-shot примеры, соответствующие желаемой длине, помогают модели продолжать заданный шаблон.
Используйте стратегические стоп-последовательности
Используйте stop, чтобы остановить генерацию, когда модель достигнет разделителя или границы нумерованного списка.
{ "stop": ["\n###", "6."] }Несколько вариантов
API завершения чата: параметр n возвращает несколько завершений за один вызов.
Responses API: параметр n не поддерживается. Если нужен не один результат, выполните несколько вызовов.
