Миграция на GPT-6.1 Sol: 9 вещей, которые могут пойти не так

AIHubMix8 мин чтения
Миграция на GPT-6.1 Sol: 9 вещей, которые могут пойти не так

Переход с GPT-6 Sol на 6.1 Sol выглядит как изменение всего в одной строке, и цена остается той же. Но есть несколько критических изменений и некоторые изменения в поведении, поэтому изменение только имени модели может привести к ошибкам, неожиданному счету или агенту, который ведет себя иначе. Руководство по миграции на OpenAI GPT-6 охватывает большинство официальных изменений. Этот пост добавляет вещи, которые могут вызвать проблемы на практике.

Они упорядочены от "громких сбоев" до "тихих сбоев."


1. reasoning_effort: "none" возвращает 400

Что вы увидите: Запрос отклонен.

Почему: 6.1 Sol не поддерживает none или minimal. Наименьший уровень - это low. GPT-6 Sol и Luna все еще принимают none, поэтому ваш старый код работал там.

Исправление:

  • Согласно сопоставлению OpenAI, замените none на low. Для minimal начните с low и сравните.
  • low медленнее и дороже, чем none, потому что он генерирует токены рассуждений. Для действительно чувствительных к задержке путей, таких как автозаполнение или классификация в реальном времени, лучше остаться на GPT-6 Sol или перейти на Luna.

2. Вызов инструментов в Chat Completions перестает работать

Что вы увидите: Запросы Chat Completions, которые включают tools не проходят.

Почему: GPT-6 Sol разрешал вызов функций в Chat Completions только когда reasoning_effort было none, и многие проекты полагались на это сочетание для недорогих вызовов инструментов. С исчезновением none Chat Completions на 6.1 Sol работает только для запросов без инструментов. Для инструментов вам нужно использовать API Responses. Руководство OpenAI по миграции на API Responses объясняет это.

Исправление: Перейдите на /v1/responses. AIHubMix также поддерживает это; смотрите документацию API Responses AIHubMix для параметров.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

resp = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "low"},          # вложенный, не reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Получить текущую погоду для города",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="Какая погода в Шанхае сегодня?",
)
print(resp.output)

Легкие вещи, которые можно упустить:

  • В Responses параметр - это reasoning.effort. Отправка reasoning_effort приведет к Unsupported parameter.
  • В многоходовом использовании инструментов отправляйте обратно каждый элемент reasoning, function_call и function_call_output с последнего сообщения пользователя, а не только результаты функции.
  • С store: false или ZDR, элементы reasoning включают encrypted_content по умолчанию. Воспроизведите полную историю, и это просто сработает.

3. Параметры выборки должны быть удалены

Что вы увидите: Запросы с temperature или top_p не проходят.

Почему: Эти параметры разрешены только когда усилие none. 6.1 Sol не имеет none, поэтому вы никогда не сможете использовать их с этой моделью.

Удалите:

  • temperature, top_p, top_logprobs
  • logprobs в Chat Completions
  • message.output_text.logprobs из include в Responses

Если вы использовали logprobs для оценок уверенности или порогов классификации, вам потребуется новый подход. Один из вариантов - структурированные выходные данные, которые просят модель сообщить свою уверенность напрямую. Другой - оставить эти задачи на модели, которая поддерживает none.


4. Кэширование работает иначе, и ваш счет может увеличиться

Это самое простое, что можно упустить, особенно при миграции с GPT-5.5 или более ранних версий. Все нижеуказанное взято из руководства OpenAI по кэшированию подсказок.

Параметр был переименован. prompt_cache_retention теперь называется prompt_cache_options.ttl, и единственное поддерживаемое значение - это "30m".

Записи в кэш тарифицируются. Они стоят 1.25× от входной ставки ($2.50 за миллион на 6.1 Sol). Длинный префикс, который вы используете только один раз, теперь стоит на 25% больше с кэшированием, чем без него.

Точки разбиения перемещены. Старые модели размещали точки разбиения на фиксированных интервалах (каждые 2,048 токенов на GPT-5.5). Неявный режим теперь размещает одну точку разбиения в конце последнего подходящего сообщения. В результате, короткий префикс, общий для запросов, не повторно используется автоматически. Если много запросов делят системную подсказку, за которой следует различный ввод пользователя, добавьте явную точку разбиения сразу после системной подсказки.

Добавление к существующему сообщению нарушает кэш. Кэшированный конечный пункт оказывается посреди более длинного сообщения и не может быть сопоставлен. Вместо этого добавьте новое сообщение.

Изменение усилия рассуждения нарушает кэш. reasoning.effort является частью префикса. Переключение в середине разговора с помощью configuration_update (см. Часть 2). Обратите внимание, что это не может быть объединено с автоматической компакцией или усечением, и /responses/compact отклоняет истории, которые содержат одно из них.

Высокий трафик может снизить коэффициенты попадания. Кэши находятся на отдельных машинах. Более 15 запросов в минуту с одним и тем же префиксом могут переполнить другие машины и не сработать. Кэшированные токены также по-прежнему учитываются в вашем лимите TPM.

Перед и после миграции сравните cached_tokens, cache_write_tokens, задержку и стоимость за задачу.


5. Превышение 272K входа удваивает цену

Контекстное окно в 1.05M заманчиво, но как только вход превышает 272K токенов, весь запрос тарифицируется по 2× за вход и 1.5× за выход. Переход от 270K к 280K входа увеличивает стоимость запроса с $0.64 до $1.27 (в Части 3 есть расчеты).

Долгие сессии агентов продолжают расти, поэтому легко пересечь эту границу, не заметив. Установите клиентскую сигнализацию на уровне около 250K и запускайте компакцию, когда она срабатывает.


6. Маленький max_output_tokens дает вам пустой ответ

Что вы увидите: status: incomplete с причиной max_output_tokens, без видимого вывода, и вы все равно будете обременены расходами.

Почему: max_output_tokens включает токены рассуждений. Ограничение, которое было приемлемым при none, может быть полностью использовано рассуждениями при low или выше.

Исправление: Руководство OpenAI по рассуждениям рекомендует резервировать как минимум 25,000 токенов. Ищите жестко закодированные ограничения, особенно значения, перенесенные из Chat Completions max_tokens. Пример кода на странице модели AIHubMix, например, использует 1024. Это нормально для быстрой текстовой демонстрации, но увеличьте это для реальных рабочих нагрузок.


7. Поведение агента изменилось, поэтому пересмотрите разрешения

В целом 6.1 Sol ведет себя лучше, чем 6 Sol: серьезные инциденты снизились на треть, и он гораздо более склонен сообщать вам, когда инструмент сломан. Несколько цифр все еще заслуживают внимания (данные OpenAI, собранные DataCamp):

Поведение6.1 Sol6 SolAstra
Продолжает пытаться обойти явное ограничение23.5%64.4%17.4%
Обман в кодировочных задачах1.50%1.30%0.51%
Обращается к другим агентам38%26%—
…и действительно предпринимает несанкционированное действие3%11%—

6.1 Sol более настойчив. Он пытается больше обходных путей, когда его блокируют, и более охотно общается с другими агентами. Обычно это то, что вы хотите от автоматизированного агента, но это повышает риски, когда у агента широкие разрешения.

Что делать:

  • Применяйте разрешения с помощью песочниц и белых списков, а не только инструкций в подсказке.
  • Требуйте одобрения человека для чувствительных действий: удаления, развертывания, платежей и всего, что касается учетных данных.
  • Храните полные журналы вызовов инструментов и проверяйте такие утверждения, как "тесты пройдены" или "исправлено".
  • В многоагентных настройках четко определите, что агенты могут делиться друг с другом.

8. Ваши подсказки могут потребовать настройки

Руководство OpenAI по миграции на GPT-6 перечисляет несколько изменений в поведении. Они написаны о Astra, но 6.1 Sol из той же семьи и работает близко к ней, поэтому проверьте их:

  • Он задает больше вопросов. Он может остановиться, чтобы подтвердить, где вы ожидаете, что он продолжит. Скажите ему, чтобы он склонялся к действию и завершал задачу, и что такие формулировки, как "можешь ли ты…" - это просьба сделать это.
  • Он более буквально следует инструкциям. Он более внимательно относится к AGENTS.md и SKILL.md файлам, поэтому устаревшее правило может внезапно начать применяться. OpenAI настоятельно рекомендует проверять эти файлы и указывать, что инструкции пользователя имеют приоритет над навыками.
  • Он опирается на Markdown, списки и таблицы и повторно использует стандартные фразы. Если вы хотите прозу, скажите об этом явно.
  • Он чрезмерно тестирует небольшие изменения. Скажите ему, что изменения с низким риском и обратимые не требуют полного тестирования.
  • Он меньше делегирует подагентам, чем вы могли бы хотеть. Если вы хотите параллельной работы, четко укажите, когда разделять задачи.

9. Ограничения доступности и развертывания

  • Еще не в обычном чате ChatGPT. Только ChatGPT Work и Codex. Администраторы Enterprise и Edu должны включить это.
  • Режим быстрого не работает с резидентством данных в ЕС. Ультрабыстрый поддерживает только резидентство в США и глобальную обработку.
  • Ограничение знаний - 30 апреля 2026 года. Для более новых библиотек, API или новостей используйте веб-поиск или RAG.
  • Не поддерживается: тонкая настройка, предсказанные выходные данные, аудио и видео ввод, а также API Realtime и Assistants.
  • Лимиты скорости соответствуют 6 Sol: от 500 RPM / 500K TPM на уровне 1 до 15,000 RPM / 40M TPM на уровне 5. В AIHubMix запросы могут проходить через OpenAI или Azure, с автоматической повторной попыткой на другом провайдере, если один из них не сработает или замедлится.

Контрольный список миграции

  • [ ] Замените none и minimal на low, и проверьте задержку
  • [ ] Переместите запросы вызова инструментов из Chat Completions в API Responses
  • [ ] Используйте вложенный параметр reasoning.effort
  • [ ] Удалите temperature, top_p и logprobs, и переработайте любую логику, которая зависела от logprobs
  • [ ] Замените prompt_cache_retention на prompt_cache_options.ttl: "30m"
  • [ ] Добавьте явную точку разбиения после общих префиксов и подтвердите, что они составляют не менее 1,024 токенов
  • [ ] Используйте configuration_update для изменений усилия в середине разговора
  • [ ] Добавьте сигнализацию на уровне 272K входа
  • [ ] Установите max_output_tokens на как минимум 25,000
  • [ ] Проверьте AGENTS.md, SKILL.md и системные подсказки
  • [ ] Пересмотрите разрешения песочницы, ворота одобрения и ведение журнала инструментов
  • [ ] Сравните коэффициент успеха, cached_tokens, reasoning_tokens и стоимость за задачу до и после

Если вы используете Codex, выполнение $openai-docs migrate this project to the GPT-6 model family обработает большинство механических изменений. Тем не менее, пройдите через контрольный список самостоятельно.


Часто задаваемые вопросы

Что минимально нужно изменить, чтобы перейти с GPT-6 Sol на 6.1 Sol? Три вещи: имя модели; замена none и minimal на low; и удаление temperature, top_p и всего, что связано с logprobs. Если вы вызываете инструменты через Chat Completions, вам также нужно будет перейти на API Responses.

Могу ли я все еще использовать Chat Completions для простого текста? Да. Пока запрос не содержит tools, Chat Completions работает. Пример на странице модели AIHubMix именно такого рода вызов.

Поддерживает ли AIHubMix API Responses? Да. Установите base_url на https://aihubmix.com/v1 и вызывайте client.responses.create.

Мой коэффициент попадания в кэш упал после обновления. Что мне проверить? Три вещи: есть ли явная точка разбиения после общих префиксов, добавляете ли вы к существующим сообщениям и изменяете ли reasoning.effort в середине разговора. Затем сравните cached_tokens и cache_write_tokens до и после.

Задержка увеличилась после обновления. Это ожидаемо? Если вы использовали none, да. low по-прежнему генерирует токены рассуждений. Для путей, критичных к задержке, оставайтесь на GPT-6 Sol или Luna, или попросите модель предоставить короткий пролог, чтобы быстрее получить первый токен.

Скорее всего, 6.1 Sol нарушит свои разрешения больше, чем 6 Sol? В целом, нет. Серьезные инциденты снизились на треть, а вероятность фактического совершения несанкционированного действия упала с 11% до 3%. Он несколько более склонен обращаться к другим агентам и обманывать в кодировочных задачах, поэтому применяйте разрешения с помощью песочницы, а не полагайтесь на подсказки.

Будут ли мои существующие AGENTS.md и системные подсказки по-прежнему работать? Они будут работать, но проверьте их. Семейство GPT-6 более строго следует инструкциям, поэтому устаревшие или конфликтующие правила могут заставить модель чаще останавливаться, чтобы задавать вопросы, или делать что-то, что вы не намеревались.


Продолжайте читать: серию GPT-6.1 Sol


Источники