Примечание автора: если ваш агент до сих пор вызывает client.chat.completions.create с параметром tools, то после перехода на GPT-6.1 вы упрётесь в конкретную развилку: текст по-прежнему работает, а для вызова инструментов придётся сменить эндпоинт.
Почему после перехода на GPT-6.1 вызов инструментов упирается в эндпоинт
Сразу к выводу: GPT-6 Astra, GPT-6.1 Sol и GPT-6.1 Terra поддерживают Chat Completions, но вызов инструментов работает только через Responses API. В одной кодовой базе обычный диалог можно оставить на Chat. Но как только вы подключаете функции, читаете результаты инструментов или гоняете многошаговый цикл с инструментами, запрос нужно отправлять на эндпоинт Responses.
Это не вопрос совместимости, который решается правкой параметров. Другой формат tools не поможет, tool_choice тоже: для этих трёх моделей Chat Completions вызов инструментов просто не предоставляет. Менять нужно сам эндпоинт и всю структуру запросов и ответов вокруг него. Чтобы сравнить оба эндпоинта на своём API-ключе, можно воспользоваться единым входом APIYI (apiyi.com): укажите base_url как https://api.apiyi.com/v1 и просто меняйте ID модели.
Есть и вторая ловушка: GPT-6 Sol и GPT-6 Luna. В Chat Completions они умеют вызывать функции, но только при reasoning_effort равном none. Иными словами, инструменты через Chat работают, но ценой отключённого рассуждения. Если рассуждение вам нужно, придётся снова переходить на Responses. Эту деталь часто упускают, и в итоге код запускается, а качество результата оказывается не тем.
Главная польза: прочитав статью, вы сможете определить, к какому типу относится ваша цепочка вызова инструментов, и перенести запросы с Chat-эндпоинта на Responses, не ломая общую архитектуру.

Ключевые моменты по вызову инструментов в GPT-6.1
Таблица ниже показывает, к какому эндпоинту относятся три модели и две старые версии. Рекомендую сначала найти свою модель здесь, а потом переходить к шагам миграции.
| Модель | Chat Completions: только текст | Chat Completions: вызов инструментов | Эндпоинт для вызова инструментов |
|---|---|---|---|
| gpt-6.1-sol | Поддерживается | Не поддерживается | Responses |
| gpt-6.1-terra | Поддерживается | Не поддерживается | Responses |
| gpt-6-astra | Поддерживается | Не поддерживается | Responses |
| gpt-6-sol | Поддерживается | Только при reasoning_effort = none |
Responses (если нужно сохранить рассуждения) |
| gpt-6-luna | Поддерживается | Только при reasoning_effort = none |
Responses (если нужно сохранить рассуждения) |
Разделение труда между эндпоинтами: Chat для текста, Responses для инструментов
Если коротко, таблица говорит вот что: в серии GPT-6 Chat Completions превратился в чисто текстовый канал, а работа с инструментами вынесена отдельно в Responses. На старые проекты это влияет по-разному. Сервисы, которые занимаются только вопросами и ответами, суммаризацией и классификацией, почти не придётся трогать. А вот сервисы с агентами, вызовом функций и многошаговой оркестрацией инструментов мигрировать необходимо.
Если у вас уже есть собственная обёртка над SDK, новости хорошие: миграция затронет меньше, чем кажется. ID модели остаются прежними, способ аутентификации тоже, base_url не меняется. Меняются в основном структура тела запроса и способ возврата результатов инструментов в диалог. Так что основная работа не в «смене модели», а в «смене способа вызова».
Как выбирать между тремя основными моделями
GPT-6.1 Sol и GPT-6.1 Terra — это пара основных моделей нынешнего поколения. Отличаются они главным образом позиционированием и стоимостью. GPT-6 Astra — флагман предыдущего поколения: он по-прежнему поддерживает текстовый Chat и вызов инструментов через Responses, поэтому подойдёт проектам, которые уже стабильно работают и которые не хочется сильно переделывать. При выборе сначала смотрите, как часто вы вызываете инструменты, затем на длину контекста в одном запросе и только потом на цену. Вызов инструментов обычно означает несколько обменов туда-обратно, и расход токенов из-за этого заметно растёт.
Конкретные цены можно сверить с таблицей ниже. Ещё можно открыть документацию APIYI на apiyi.com и проверить актуальные тарифы, чтобы не планировать бюджет по устаревшим ценам.

Что нужно поменять в вызове инструментов GPT-6.1: 5 правок
Это самый практичный раздел во всей статье. Если внести все пять правок ниже, типичный цикл вызова инструментов переедет с эндпоинта Chat на эндпоинт Responses.
| № | Что менять | Chat Completions | Responses |
|---|---|---|---|
| 1 | Метод вызова | client.chat.completions.create |
client.responses.create |
| 2 | Носитель входных данных | массив messages |
параметр input |
| 3 | Объявление инструментов | tools (остаётся) |
tools (структура почти такая же) |
| 4 | Возврат результата инструмента | сообщение с role: "tool" |
элемент типа function_call_output |
| 5 | Контекст на несколько ходов | вручную собирать полный messages |
можно связывать через previous_response_id |
Пункты 1 и 2 проще всего упустить. Многие поправляют структуру tools и считают, что миграция закончена, а потом выясняется, что метод SDK остался прежним и запросы всё так же уходят в chat.completions. Эндпоинт определяется методом: пока метод не изменён, эндпоинт не поменяется.
Пункт 4 — место, где при миграции застревают чаще всего. В Chat результат выполнения инструмента возвращается в messages отдельным сообщением с role: "tool". В Responses нужно вернуть элемент вызова, который прислала модель, в том виде, как он пришёл, и добавить к нему function_call_output. Если пропустить один элемент или перепутать порядок, модель может повторно инициировать тот же самый вызов.
Пункт 5 из серии «можно не менять, но лучше поменять». Responses умеет продолжать предыдущий ход через previous_response_id, так что не нужно каждый раз заново отправлять всю историю сообщений. Для агентов с большим числом раундов вызова инструментов это влияет на стоимость заметнее, чем смена модели.
🎯 Совет: самый простой способ проверить миграцию — на время запустить обе цепочки, старую и новую, на одном и том же наборе запросов и сравнить долю попаданий в нужный инструмент и структуру ответов. Через единый интерфейс APIYI (apiyi.com) не придётся возиться с API-ключами разных платформ: достаточно одной настройки, чтобы сравнить реальные ответы Responses и Chat.
GPT-6.1: быстрый старт с вызовом инструментов
Минимальный пример с вызовом инструмента
Допустим, у вас есть функция-инструмент для проверки статуса заказа. Она называется get_order_status, а на вход получает номер заказа. Менять нужно только два места: способ вызова и возврат результата в модель.
- Инициализацию клиента оставляем как есть: в
api_keyподставьте свой ключ, аbase_urlзадайте какhttps://api.apiyi.com/v1. Так можно будет напрямую вызывать любые модели, доступные через OpenAI-совместимый интерфейс. - В качестве ID модели укажите
gpt-6.1-sol(илиgpt-6.1-terra,gpt-6-astra). Все три работают с вызовом инструментов через Responses. - Замените старый
client.chat.completions.create(...)наclient.responses.create(...), а параметрmessagesнаinput. toolsпередаём как раньше: описание инструментов и схему параметров переписывать не нужно.- В возвращённом
outputнайдите элемент типаfunction_call, достаньте из него имя инструмента и аргументы и выполните свою функцию проверки заказа локально. - Добавьте результат выполнения обратно как
function_call_outputи отправьте второй запрос, чтобы получить итоговый ответ.
Из этих шести шагов действительно «обязательные» — третий и шестой. Шаги 1 и 2 — это настройка, а в шагах 4 и 5 вы просто читаете то, к чему привыкли в Chat, из другого места.
🚀 Быстрый старт: если не хочется собирать тестовое окружение самому, получите бесплатные тестовые кредиты на APIYI (apiyi.com) и прогоните этот пример с проверкой заказа. А уже потом переписывайте боевой код — так риск минимальный.
Ещё проще сначала отделить слой инструментов от слоя модели: собрать определения инструментов в одном месте, а точку входа обернуть в одну функцию, которая внутри решает: «чистый текст — идём в Chat, есть tools — идём в Responses». Тогда миграция затрагивает только обёртку, а бизнес-код остаётся нетронутым.

Цены и выбор модели GPT-6.1 (2026-11-12)
В таблице ниже — цены, действующие на 2026-11-12. Все значения указаны в долларах за 1M токенов.
| Модель | Вход | Выход | Чтение из кэша | Рекомендуемый эндпоинт |
|---|---|---|---|---|
| gpt-6.1-sol | $2 | $10 | $0.1 | responses |
| gpt-6.1-terra | $1 | $5 | $0.05 | responses |
| gpt-6-luna | $0.1 | $0.5 | $0.01 | chat (reasoning_effort равен none) или responses |
Из таблицы можно сделать вполне практичный вывод: цена входа и выхода у GPT-6.1 Terra ровно вдвое ниже, чем у Sol. Если в вашем сценарии много раундов с инструментами и контекст сильно повторяется, Terra чаще всего оказывается более разумным вариантом по умолчанию. Цены GPT-6 Luna ниже на целый порядок, так что на неё удобно отдать лёгкие задачи вроде классификации и извлечения данных, а Sol или Terra оставить для тех этапов оркестрации инструментов, где действительно нужно рассуждать.
Отдельно стоит посмотреть на столбец с ценой чтения из кэша. При вызове инструментов неизбежно накапливается много повторяющихся префиксов: системный промпт, описания инструментов, история диалога. Если такой префикс попадает в кэш, он стоит примерно в двадцать раз дешевле обычного входа. Поэтому, если в Responses передавать контекст через previous_response_id, вы экономите не только трафик, но и вполне реальные деньги.
💰 Совет по затратам: если бюджет нужно разбивать по проектам, вызывайте модели через единый ключ на APIYI (apiyi.com). Так расход по всем моделям собирается в одном месте, а при оплате по факту использования проще посчитать реальную стоимость вызова инструментов.
Часто задаваемые вопросы по вызову инструментов в GPT-6.1
Q1: Что такое GPT-6.1 и как он связан с GPT-6?
GPT-6.1 — это обновлённая версия серии GPT-6. Сейчас в неё входят две модели: GPT-6.1 Sol и GPT-6.1 Terra. В серию GPT-6 входят GPT-6 Astra, GPT-6 Sol и GPT-6 Luna. Все они используют один и тот же канал вызова инструментов через Responses, а различаются в основном позиционированием по возможностям и ценой.
Q2: Почему в Chat Completions не работают инструменты — я неправильно указал параметры?
Дело не в параметрах. GPT-6 Astra, GPT-6.1 Sol и GPT-6.1 Terra в Chat Completions поддерживают только работу с текстом, а вызов инструментов доступен исключительно в Responses API. Правки в `tools` и `tool_choice` ничего не изменят: нужно заменить метод SDK с `chat.completions.create` на `responses.create`.
Q3: Можно ли вызывать функции в Chat у GPT-6 Sol и GPT-6 Luna?
Можно, но только если `reasoning_effort` установлен в `none`. Если вам нужно сохранить уровень рассуждений, эти две модели тоже придётся запускать через Responses. При миграции это ограничение проще всего упустить: ошибки не будет, просто результат разойдётся с ожиданиями.
Q4: Нужно ли менять ID модели при переходе на Responses?
Нет. ID моделей остаются прежними: `gpt-6.1-sol`, `gpt-6.1-terra`, `gpt-6-astra`. `base_url` и способ аутентификации тоже не меняются. Изменить придётся три вещи: метод вызова, формат входных данных и структуру, в которой результаты инструментов передаются обратно модели.
Q5: Как быстро проверить, что вызов инструментов после миграции работает нормально?
Рекомендуем провести смоук-тест на одном и том же небольшом инструменте, например для проверки статуса заказа. Сначала убедитесь, что запрос действительно ушёл на эндпоинт Responses. Затем проверьте, что в возвращённом `output` есть запись `function_call`. Наконец, убедитесь, что после передачи `function_call_output` модель выдала итоговый ответ. Если все три шага прошли, цепочка работает. Для такой проверки достаточно получить тестовый API-ключ на APIYI (apiyi.com).
Q6: Нужно ли переносить на Responses сервисы, которые работают только с текстом?
Не обязательно. У трёх основных моделей текстовые возможности в Chat Completions по-прежнему доступны, так что сервисы для вопросов и ответов, суммаризации и перевода можно оставить как есть. Переносить нужно только запросы с `tools`. Поэтому это изменение затрагивает разные сервисы по-разному.
Q7: Как контролировать стоимость контекста при многошаговых вызовах инструментов?
Лучше использовать `previous_response_id`, чтобы продолжать с предыдущего шага, а не пересылать на каждом шаге всю историю целиком. Так повторяющийся префикс чаще попадает в кеш, а цена чтения из кеша намного ниже цены обычного ввода. Например, для `gpt-6.1-sol` ввод стоит $2, а чтение из кеша — $0.1. Разница довольно заметная.
Q8: Есть ли у миграции на Responses известные подводные камни?
Типичных ошибок две. Первая: поменяли только структуру `tools`, а метод вызова оставили прежним, и запрос по-прежнему уходит на эндпоинт Chat. Вторая: результат инструмента возвращают по-старому, через `role: «tool»`. Из-за этого модель не получает вывод и снова и снова вызывает инструмент. Если в команде используются модели вроде GPT-6 Sol, которым нужен `reasoning_effort` со значением `none`, лучше задать единое ограничение на уровне обёртки. Тогда не получится так, что один и тот же инструмент работает на одних моделях и не работает на других.
Ключевые выводы по вызову инструментов в GPT-6.1 (Key Takeaways)
- Эндпоинты разделились: текст в GPT-6.1 Sol, Terra и GPT-6 Astra идёт через Chat, а инструменты нужно вызывать через Responses.
- Одно исключение: GPT-6 Sol и GPT-6 Luna умеют вызывать функции через Chat, но только при
reasoning_effortсо значениемnone. - Пять изменений: метод вызова, носитель
input, объявлениеtools, возврат результата черезfunction_call_outputи связывание запросов черезprevious_response_id. - ID моделей не меняются:
base_urlи ключ остаются прежними, миграция затрагивает только слой-обёртку. - Стоимость зависит от кеша: префиксы при вызове инструментов часто повторяются, а чтение из кеша стоит примерно в двадцать раз дешевле обычного входа.
- Проверка в три шага: убедитесь, что запрос ушёл на нужный эндпоинт, что в
outputестьfunction_callи что после возврата результата вы получили финальный ответ. - С чего начать: возьмите бесплатный лимит APIYI (apiyi.com) и сначала запустите небольшой инструмент для поиска заказов, а потом переделывайте боевую цепочку.
Итоги
Суть изменений укладывается в одну фразу: в GPT-6.1 вызов инструментов переехал из Chat Completions в Responses, а работа с обычным текстом осталась на прежнем месте. Из этого следуют три вещи, которые стоит запомнить:
- Сначала классифицируйте, потом мигрируйте: сервисы, которые работают только с текстом, трогать не нужно, а запросы с
toolsпридётся перевести на другой эндпоинт. - Меняется метод, а не параметры: переключателем эндпоинта служит
client.responses.create, а структураtools— лишь сопутствующая деталь. - Главная зона риска — возврат результатов:
function_call_outputзаменяетrole: "tool", и здесь важны и порядок, и полнота данных.
Если у вас в продакшене уже работает вызов инструментов, лучше сначала выделить один минимальный инструмент и пустить на него часть трафика. Когда убедитесь, что вся цепочка работает, переключайте остальное. Чтобы не тратить время на ключи с разных платформ и настройку окружения, можно через APIYI (apiyi.com) с одним и тем же API-ключом сравнить реальные ответы Responses и Chat. Достаточно указать в base_url адрес https://api.apiyi.com/v1.
Источники
- Официальная документация OpenAI по моделям: описание возможностей эндпоинтов для серий GPT-6 и GPT-6.1, включая ограничение, по которому вызов инструментов идёт только через Responses
- Ссылка:
developers.openai.com/api/docs/guides/latest-model -
Пояснение: первоисточник, по которому можно определить, поддерживает ли модель вызов функций в Chat Completions
-
Документация APIYI по моделям и ценам: цены за входные и выходные токены и за чтение из кэша, а также рекомендуемые эндпоинты для каждой модели
- Ссылка:
docs.apiyi.com/models - Пояснение: здесь можно сверить правила тарификации, действующие с 2026-11-12, и рекомендации по выбору эндпоинта
Автор: техническая команда APIYI
Обратная связь: пишите нам через главную страницу APIYI (apiyi.com), а более подробное описание интерфейсов есть в документации на docs.apiyi.com
