Миграция на 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 элементы рассуждений включают 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 Sol 6 Sol Astra
Продолжает пытаться обойти явное ограничение 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


Источники