В этой статье
temperature в OpenAI API — это настройка выборки, которая влияет на то, насколько разнообразно модель формулирует ответ. Параметр часто встречается рядом с моделью и промптом, поэтому его легко принять за переключатель «качества» или «умности». Это не так: модель остаётся той же, меняется способ выбора следующего токена.
Что означает temperature
Модель на каждом шаге видит несколько вероятных продолжений текста. Например, после фразы «Столица Франции —» наиболее вероятным будет «Париж», а у творческого рекламного слогана подходящих продолжений гораздо больше. temperature меняет распределение этих вероятностей перед выбором следующего токена.
При низком значении наиболее вероятные варианты получают ещё больший перевес. Ответ обычно становится более сфокусированным, сдержанным и похожим от запроса к запросу. При высоком значении менее вероятные варианты получают больше шансов, поэтому формулировки становятся разнообразнее, а иногда — менее предсказуемыми.
В Chat Completions API параметр необязательный: его диапазон — от 0 до 2, значение по умолчанию — 1. Доступность всё равно зависит от выбранной модели, поэтому перед настройкой стоит открыть её справочник и проверить поддерживаемые параметры. Chat Completions — справочник OpenAI API
Важно не читать эту шкалу как оценку качества. temperature: 2 не делает модель умнее, а temperature: 0 не превращает её в безошибочный справочник. Настройка влияет на вариативность генерации, но не гарантирует фактическую точность, правильные вычисления или повторяемость каждого ответа. Описание параметра в Responses API
Если после работы с API вам нужен отдельный доступ к зарубежным AI-сервисам для повседневной работы, можно посмотреть каталог услуг Amber Market. Это самостоятельный маршрут для пользователей из России: в карточке проверяют условия и итоговую сумму, подтверждают email и оплачивают заказ через СБП. Каталог не пополняет баланс OpenAI API и не меняет temperature; наличие и условия конкретного предложения лучше перепроверить перед заказом.
Как значения меняют поведение ответа
Удобно начать с трёх ориентиров:
0или близкое к нему значение — для классификации, извлечения полей, преобразования текста по жёсткому шаблону и других задач, где важна дисциплина;- примерно
0.3–0.7— для объяснений, переписывания и обычного помощника, когда нужна ясность, но небольшая гибкость полезна; - примерно
0.8–1.2и выше — для идей, вариантов заголовков, сюжетных ходов и других задач, где вы сознательно принимаете больше разнообразия.
Это не универсальная таблица правильных настроек. Один и тот же диапазон может вести себя по-разному с разными моделями и запросами. Начните с умеренного значения, а затем сравните несколько результатов на собственных примерах. Для серьёзной интеграции лучше сохранить небольшой набор тестовых запросов и оценивать ответы по понятным критериям: формат, полнота, отсутствие лишних полей, стиль или соответствие исходным данным.
Например, в запросе к Chat Completions параметр выглядит так:
{
"model": "выбранная-модель",
"messages": [
{"role": "user", "content": "Кратко объясни, что такое кеширование."}
],
"temperature": 0.2
}
Здесь 0.2 просит модель держаться более вероятных формулировок. Это может быть разумным началом для технического объяснения, но не отменяет проверку самого ответа.
Как выбрать значение для практической задачи
Сначала определите не желаемое число, а цену ошибки и ценность разнообразия.
Если программа должна вернуть JSON с полями, разметить обращение пользователя или выбрать один класс из списка, вам важнее стабильная структура. Начните с низкого значения и дополнительно закрепите формат в инструкции, схемой ответа или проверкой на стороне приложения. Одна только temperature не гарантирует, что модель всегда вернёт валидный JSON.
Если задача — написать письмо, объяснить тему или подготовить несколько вариантов текста, слишком низкое значение может сделать ответы однообразными. Попробуйте средний диапазон и оставьте в промпте понятные ограничения по длине, тону и содержанию.
Для мозгового штурма можно подняться выше, но лучше просить несколько вариантов явно. Так вы разделяете две вещи: разнообразие внутри одного ответа и количество независимых идей. Высокая temperature не обязана сама по себе выдавать больше полезных направлений.
Практический порядок настройки может быть таким:
- Зафиксируйте модель и текст запроса.
- Выберите стартовое значение по типу задачи.
- Запустите один и тот же тест несколько раз.
- Поднимайте или снижайте
temperatureнебольшими шагами, меняя за раз только одну настройку. - Оставьте значение, которое лучше проходит ваши проверки, а не то, чей ответ случайно понравился больше.
При низком значении результаты часто становятся более похожими, но абсолютной повторяемости обещать нельзя: на поведение влияют модель, сам запрос и другие параметры среды. Поэтому для воспроизводимых сценариев нужны тесты и контроль результата, а не только число в конфигурации.
Temperature и top_p: почему не стоит крутить оба параметра
top_p тоже влияет на выборку, но ограничивает набор токенов, рассматриваемых по накопленной вероятности. В документации OpenAI рекомендуется настраивать либо temperature, либо top_p, а не оба параметра одновременно. Иначе становится сложнее понять, какая именно настройка изменила результат. Chat Completions — справочник OpenAI API Описание параметров Responses API
Для начала выберите один понятный рычаг — обычно temperature — и оставьте второй параметр без изменений. Если затем понадобится более тонкий контроль, тестируйте комбинацию отдельно, на том же наборе запросов.
Почему параметр может не сработать
Первое, что нужно проверить, — поддерживает ли его конкретная модель. Наличие поля в примере запроса ещё не означает, что оно принято каждым endpoint и каждой моделью. В актуальном руководстве для GPT-6 Astra, например, прямо указано удалить temperature и top_p, потому что эта модель их не поддерживает. Это особенность данной модели, а не правило для всего OpenAI API. Руководство по актуальным моделям OpenAI
Поэтому безопасная последовательность проста: сначала выбрать модель, затем свериться с её справочником, и только после этого добавлять параметр. Если API сообщает об ошибке или игнорирует настройку, не стоит компенсировать это бесконечным изменением промпта — сначала проверьте совместимость.
Короткий вывод
temperature отвечает за разнообразие выбора, а не за интеллект модели. Низкие значения подходят для структурированных и чувствительных к формату задач, средние — для обычных объяснений и переписывания, более высокие — для генерации идей. Начинайте с небольшого эксперимента на своих запросах, меняйте только один параметр за раз и сверяйтесь с документацией конкретной модели. Так настройка становится рабочим инструментом, а не попыткой угадать магическое число.