Обзор
Управлять длиной ответа модели полезно по нескольким причинам: это помогает контролировать стоимость (так как вы платите за токены), улучшает задержку/производительность (короткие ответы возвращаются быстрее) и обеспечивает релевантность, избегая чрезмерно длинных или многословных выводов.
Этого можно добиться с помощью лимитов токенов, настроек рассуждений и многословности, чётких инструкций, примеров и стоп-последовательностей. Самую актуальную и полную информацию всегда ищите в официальной справке API на platform.openai.com.
Задайте максимальную длину вывода
Responses API
Используется для моделей GPT-5 и большинства моделей серии o: применяйте max_output_tokens, чтобы ограничить количество токенов, которое сгенерирует модель. Поддерживает stop, но не поддерживает несколько вариантов завершения (n).
Chat Completions 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,and xhigh. В gpt-5.2-pro поддерживаются только medium, high,and xhigh. Более ранние модели с рассуждениями поддерживают только low, medium и high.
{ "model": "gpt-5", "input": "Сколько золота понадобится, чтобы покрыть Статую Свободы слоем толщиной 1 мм?", "reasoning": { "effort": "minimal" } }Можно установить reasoning.effort в none, чтобы модель вела себя как модель без рассуждений — для сценариев, чувствительных к задержке.
Давайте конкретные инструкции
Просите ровно ту длину или формат, который вам нужен. Примеры:
«Перечисли ровно пять вариантов».
«Напиши резюме на 50 слов».
«Не больше 100 токенов. Если нужно больше, скажи: „Нужно больше места.“»
Используйте примеры с одинаковой длиной
Few-shot примеры, соответствующие желаемой длине, помогают модели продолжать заданный паттерн.
Применяйте стратегические стоп-последовательности
Используйте stop, чтобы остановить генерацию, когда модель достигает разделителя или границы нумерованного списка.
{ "stop": ["\n###", "6."] }Несколько вариантов
Chat Completions:
nвозвращает несколько завершений за один вызов.Responses API:
nне поддерживается; сделайте несколько вызовов, если нужно больше одного результата.
