Перехід на GPT-6.1 Terra: виправляємо помилки 400 через temperature, переносимо інструменти на Responses і налаштовуємо Codex

AIHubMix13 хв читання
Перехід на GPT-6.1 Terra: виправляємо помилки 400 через temperature, переносимо інструменти на Responses і налаштовуємо Codex

Перехід на GPT-6.1 Terra — це зміна в один рядок: установіть модель gpt-6.1-terra. Подальша поведінка залежить від того, яким маршрутом API надсилається запит. У Responses API Terra працює за правилами OpenAI: параметр reasoning effort працює, а temperature або top_p спричиняють помилку HTTP 400. У маршруті Chat Completions від AIHubMix той самий параметр temperature приймається без заперечень, а за результатами перевірок AIHubMix від 27 жовтня 2026 року, reasoning_effort не дав вимірюваної різниці на коротких запитах.

Коротка відповідь для більшості команд: перенесіть трафік Terra на Responses API, вилучіть параметри семплювання та використовуйте для кожного робочого навантаження лише один маршрут. Нижче — помилки, які ви побачите, проблеми, що не спричиняють помилок, правила тарифікації, які можуть застати зненацька, дозволи агента, а також налаштування Codex і Claude Code. Terra доступна на сторінці моделі GPT-6.1 Terra в AIHubMix за прайсом OpenAI: $1 за мільйон вхідних токенів, $0.05 за кешовані, $1.25 за запис у кеш на 30 хвилин і $5 за вихідні. На сторінці AIHubMix зазначено ті самі тарифи на вхідні, вихідні токени й читання з кешу, але не вказано тарифу на запис у кеш.

Правила наведено в посібнику OpenAI з переходу на GPT-6 і на сторінці моделі Terra. Тексти помилок і поведінку шлюзу перевірено в AIHubMix 27 жовтня 2026 року на коротких запитах до основного ID gpt-6.1-terra. У посібнику моделей AIHubMix зазначено, що більшість помилок 400 повертаються від провайдера, а в повідомленні про помилку міститься ідентифікатор трасування tid.

Яким маршрутом ви користуєтеся?

Під час цих перевірок AIHubMix надавав Terra через три протоколи. Працюють вони по-різному:

Маршрут Керування рівнем зусиль temperature Виклики інструментів
Responses Працює Помилка 400, якщо рівень зусиль не none Задокументовано OpenAI
Chat Completions Помітного ефекту немає Приймається Не задокументовано
Anthropic Messages Помітного ефекту немає Не перевірялося Повертається tool_use

«Помітного ефекту немає» і «Приймається» описують результати вимірювань AIHubMix від 27 жовтня на коротких запитах. У Chat Completions виклики інструментів поверталися, але OpenAI документує виклики інструментів для Terra лише в Responses.

Якщо ви починаєте з нуля, використовуйте Responses. Якщо ваша інтеграція з Chat Completions уже працює, перш ніж покладатися на неї, прочитайте про непомітні збої.

Очевидні збої

Вони спричиняють помилку HTTP 400 і зупиняють запит.

«Непідтримуваний параметр: модель не підтримує 'temperature'.»

Що ви побачите. Виклик Responses API з установленим параметром temperature і рівнем зусиль за замовчуванням (medium) повертає:

Unsupported parameter: 'temperature' is not supported with this model.

Надсилання top_p повертає ту саму помилку, де замість temperature зазначено top_p. За замовчуванням рівень зусиль — medium, тож навіть запит, у якому його не задано, спричинить цю помилку.

Чому. У посібнику OpenAI з переходу зазначено: якщо рівень зусиль для міркування не дорівнює none, потрібно вилучити temperature, top_p і top_logprobs. У Responses також вилучіть message.output_text.logprobs з include.

Як відтворити. Цей виклик curl через Responses API AIHubMix надсилає те саме тіло запиту, яке AIHubMix надсилав 27 жовтня:

curl https://aihubmix.com/v1/responses \
  -H "Authorization: Bearer $AIHUBMIX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-terra",
    "input": "Reply with the single word: ready.",
    "temperature": 0.2
  }'

У відповідь надійшла помилка HTTP 400:

{"error":{"message":"Unsupported parameter: 'temperature' is not supported with this model. (tid: …)","type":"Aihubmix_api_error"},"type":"error"}

Як виправити. Вилучіть temperature і top_p з усіх шляхів виклику, зокрема з допоміжних викликів, наприклад сумаризаторів і класифікаторів, про які ви могли забути. Якщо вам потрібен контроль семплювання, установіть рівень зусиль none: Terra його підтримує, а запит із рівнем none і параметром "temperature": 0.2 під час перевірок AIHubMix повернув код 200. У дописі на форумі розробників OpenAI повідомляють про те саме правило й зазначають, що воно заблокувало параметр у GPT-6.1 Sol, де рівня none немає.

{
  "model": "gpt-6.1-terra",
  "input": "Reply with the single word: ready.",
  "reasoning": {"effort": "none"},
  "temperature": 0.2
}

«Непідтримуваний параметр: модель не підтримує 'logprobs'.»

Що ви побачите. Виклик Chat Completions із logprobs: true і reasoning_effort: "high" повернув:

Unsupported parameter: 'logprobs' is not supported with this model.

Чому. Це те саме правило OpenAI. Для Chat Completions у посібнику logprobs також додано до переліку параметрів, які потрібно вилучити, якщо рівень зусиль не дорівнює none.

Як виправити. Вилучіть logprobs і top_logprobs. Якщо від них залежить показник упевненості у вашому конвеєрі, перш ніж переходити, заплануйте заміну. AIHubMix не перевіряв logprobs із рівнем зусиль none у Chat Completions.

«Непідтримуване значення: 'minimal' не підтримується…»

Що ви побачите. Код, написаний для старіших моделей OpenAI, який задає рівень зусиль minimal, спричинить таку помилку:

Unsupported value: 'minimal' is not supported with the 'gpt-6.1-terra' model. Supported values are: 'none', 'low', 'medium', 'high', 'xhigh', and 'max'.

Чому. Рівні зусиль Terra: none, low, medium, high, xhigh і max. Рівня minimal немає.

Як виправити. У посібнику OpenAI рекомендується почати з low і порівняти результати на репрезентативних завданнях. Якщо старе значення вибрали, щоб вимкнути міркування, найближчий відповідник — none.

Непомітні збої

Вони повертають HTTP 200, тож ніщо в журналах не сигналізує про проблему. Вона дається взнаки пізніше: відповіді не відповідають вашим налаштуванням, кеш не спрацьовує або агент зупиняється, щоб поставити запитання.

Chat Completions приймає temperature і, схоже, ігнорує рівень зусиль

У маршруті Chat Completions від AIHubMix temperature: 0.2 повертав код 200 без заданого рівня зусиль, а також із рівнями none і high. Параметр top_p: 0.5 теж повертав код 200. Це має побічний ефект: якщо ваш набір тестів працює через Chat Completions, він не виявить помилку 400, на яку натрапить той самий код після переходу на Responses.

Більша проблема — рівень зусиль. За результатами перевірок AIHubMix від 27 жовтня, reasoning_effort у Chat Completions не давав вимірюваної різниці:

Запит Маршрут Рівень зусиль none Рівень зусиль max
Список простих чисел, сума яких дорівнює заданому числу Chat Completions 181 і 258 293 і 234
Список простих чисел, сума яких дорівнює заданому числу Responses 0 1,078
Задача про биту й м’яч Chat Completions 24 25

Це кількість токенів міркування на запит. Для запиту про суму простих чисел Chat Completions запускався двічі для кожного значення.

Для короткої задачі про биту й м’яч значення none, low, high, max і повна відсутність налаштування рівня зусиль давали від 24 до 27 токенів міркування. Якщо ж передати reasoning: {effort: "none"} як об’єкт, на запиті про суму простих чисел отримано 327 токенів. У Responses той самий запит про суму простих чисел дав 0 токенів міркування та 72 вихідні токени за рівня none, а за рівня max — 1,078 токенів міркування та 1,153 вихідні токени.

За інтерпретацією AIHubMix, зараз маршрут Chat Completions запускає Terra з фіксованим рівнем зусиль, тож налаштування не доходить до моделі. Це висновок за невеликою кількістю коротких запитів, перевірених лише в AIHubMix, а не загальне правило для Chat Completions. На довших або складніших запитах результати можуть бути іншими. Якщо рівень зусиль важливий для ваших витрат або якості, задавайте його в Responses, де він явно працює.

Виклики інструментів у Chat Completions працюють, але не задокументовані

У посібнику OpenAI зазначено, що GPT-6.1 Terra підтримує Chat Completions, але для виклику інструментів потрібен Responses. В AIHubMix запит Chat Completions із функціональним інструментом справді повернув finish_reason: tool_calls. Не покладайтеся на це: така поведінка не задокументована й може змінитися без попередження. У Responses функціональний інструмент повернув елемент function_call, web_search — виклики пошуку та повідомлення, а функціональний інструмент із async: true також повернув код 200. Перенесіть виклики інструментів на Responses.

Параметри мислення Claude Code не діють у маршруті Messages

AIHubMix також обслуговує Terra через Anthropic Messages API — протокол, який використовує Claude Code. Текст, tool_use і зображення в base64 повертали код 200. Налаштування керування міркуваннями не застосовувалися: параметр thinking, увімкнений із бюджетом у 4,000 токенів, дав 24 токени мислення; output_config.effort: "high" дав 26, а запит без жодного з цих параметрів — 25. У відповіді немає блоків мислення — лише текстові блоки або блоки tool_use.

Кеші Responses і Chat Completions окремі

AIHubMix надіслав через Responses стабільний префікс розробника обсягом близько 9,600 токенів. Під час першого виклику в кеш записалося 9,623 токени, а під час другого й третього було зчитано 9,623 кешованих токени. Виклик Chat Completions із тим самим префіксом одразу після цього не знайшов збігу в кеші й повторно записав усі 9,623 токени. Під час другого запуску з іншим префіксом повторилася та сама картина: виклик Responses записав 9,020 токенів, виклик Chat Completions із тим самим префіксом записав 9,020 без збігу в кеші, а повторний виклик Chat Completions зчитав 9,007 токенів із запису, створеного маршрутом Chat.

Отже, за робоче навантаження, яке чергує маршрути, ви двічі платите за кожен запис у кеш. Для кожного робочого навантаження виберіть один маршрут.

Налаштування кешу для старіших моделей

Якщо ви переходите з GPT-5.5 або старішої моделі, у посібнику OpenAI рекомендується замінити prompt_cache_retention на prompt_cache_options.ttl. Значення за замовчуванням — "30m". У Responses доступний термін зберігання "12h", і AIHubMix його прийняв: об’єкт usage указав обсяг записаних токенів у полі cache_write_tokens_details.ttl_12h_tokens. В явному режимі без контрольної точки нічого не записалося, що відповідає документації OpenAI.

Зміна рівня зусиль посеред розмови

Зміна reasoning.effort на рівні запиту змінює префікс запиту, через що кеш більше не використовується. OpenAI додала для цього вхідний елемент configuration_update. Він підвищує або знижує рівень зусиль із цього моменту розмови, залишаючи початковий префікс незмінним. Запит із таким елементом через AIHubMix повернув код 200. У посібнику OpenAI його рекомендовано для стандартних запитів з одним агентом.

Модель запитує, перш ніж діяти

У примітках OpenAI щодо промптів для GPT-6 зазначено, що сімейство моделей частіше зупиняється, щоб поставити користувачеві запитання, якщо додаткові дані можуть змінити результат, а також чутливіше реагує на інструкції у навичках і файлах на кшталт AGENTS.md. Ці примітки написано для GPT-6 Astra, тож їх варто перевірити на Terra, а не сприймати як беззаперечний факт. Якщо агент, який працював без нагляду на GPT-5.6 Terra, тепер зупиняється й чекає на підтвердження, у посібнику радять чітко зазначити в промпті, що вже дозволяє запит користувача. Також рекомендується перевірити всі навички й файли інструкцій, до яких модель має доступ.

За замовчуванням рівень зусиль — medium, а max коштує значно дорожче

Стандартний рівень зусиль Terra — medium. За вимірюваннями Artificial Analysis, на рівні medium модель генерувала близько 6,000 вихідних токенів на завдання в межах Intelligence Index, а на рівні max — близько 35,000 (25,000 із них припадали на міркування). Вартість становила $0.10 і $0.40 за завдання відповідно. Якщо підвищуєте рівень зусиль, щоб усунути проблему з якістю, спершу перевірте, як це вплине на рахунок. Користувачі Codex із тарифними планами ChatGPT повідомляли на Reddit, що Terra на рівні high швидко вичерпує ліміти плану: в одному випадку за 20 хвилин було використано 40% п’ятигодинного ліміту. Це лише окремі свідчення, але всі вони вказують на одне й те саме.

Підводні камені тарифікації

Тарифи Terra на вхідні, вихідні та кешовані токени однакові в AIHubMix і OpenAI. Ось правила, через які рахунок може виявитися більшим, ніж підказують базові ціни.

Позиція Тариф за 1M токенів Застосовується, коли
Вхідні токени $1 До 272K вхідних токенів
Кешовані вхідні токени $0.05 Читання з кешу
Запис у кеш, 30 хв $1.25 Стандартний строк зберігання
Запис у кеш, 12 год $2.50 ttl задано як 12h
Вихідні токени $5 До 272K вхідних токенів
Вхідні токени, довгий запит $2 Понад 272K вхідних токенів
Вихідні токени, довгий запит $7.50 Понад 272K вхідних токенів

Тариф за запис у кеш на 12 годин — це тариф OpenAI. У переліку цін AIHubMix для Terra вказані лише тарифи на вхідні, вихідні та кешовані токени: немає ні тарифу за запис у кеш, ні рівня для довгого контексту, ні надбавки за 12 годин. Тому вважайте наведені вище тарифи за запис у кеш і за понад 272K токенів опублікованими тарифами OpenAI, а не підтвердженими тарифами AIHubMix.

Поріг 272K застосовується до всього запиту. На сторінці моделі Terra вказано вікно контексту на 1,050,000 токенів, але щойно обсяг вхідних токенів перевищує 272,000, за весь запит стягується подвійна плата за вхідні й кешовані токени та плата за вихідні токени з коефіцієнтом 1.5x. Запит із 270,000 вхідних і 20,000 вихідних токенів коштує $0.27 + $0.10 = $0.37. Запит із 300,000 вхідних і 20,000 вихідних токенів коштує $0.60 + $0.15 = $0.75. Приблизно на 11% більше вхідних токенів обходяться приблизно вдвічі дорожче (в обох прикладах кешування не використовується).

Токени міркування тарифікуються як вихідні. Токени міркування рахуються як вихідні токени за тарифом $5 за мільйон, хоча ви їх не бачите. У наведеній вище перевірці AIHubMix той самий запит дав 72 вихідні токени за none і 1,153 — за max. Фіксуйте значення reasoning_tokens з об’єкта usage, а не оцінюйте вартість за довжиною відповіді.

За записи в кеш стягується плата. За правилами кешування промптів OpenAI для GPT-5.6 і новіших моделей запис коштує 1.25x від тарифу на вхідні токени для строку зберігання 30 хвилин і 2.5x — для 12 годин. Читання на Terra коштує 0.05x. Мінімальний префікс, який можна кешувати, — 1,024 токени. Якщо префікс змінюється на кожному ході або трафік розподілено між двома маршрутами, за запис доведеться знову й знову платити за повним тарифом.

Вебпошук оплачується за кожен виклик. На сторінках моделей OpenAI AIHubMix тарифікує web_search у $0.01 за запит, додатково до оплати за токени; на сторінці Terra вартість інструмента поки не винесено окремо, тож закладайте її в бюджет. Під час однієї перевірки одне запитання запустило два виклики пошуку.

Знижки за Batch і Flex діють у OpenAI. OpenAI пропонує знижку 50% через Batch і Flex, а режим Fast коштує вдвічі дорожче. AIHubMix повернув 404 для GET /v1/batches ("The requested API endpoint does not exist."), тож скористатися маршрутом Batch там неможливо. Запит із service_tier, заданим як flex або priority, повернув 200, але в переліку цін AIHubMix для Terra зазначені лише стандартні тарифи, тож не розраховуйте на знижку. Якщо надсилаєте запити з будь-яким із цих параметрів, перевірте журнал використання.

Агенти з реальними дозволами

OpenAI позиціює Terra як модель для візуального міркування та роботи з комп’ютером, а вбудований інструмент computer працює через AIHubMix: запит Responses із {"type": "computer"} і знімком екрана повернув computer_call, першою дією якого був знімок екрана. Перш ніж надати агенту доступ на запис, ознайомтеся з результатами випробувань агентів у системній картці GPT-6.1 Terra від OpenAI. Це власні оцінювання OpenAI, здебільшого в симуляціях із низькими ставками:

Оцінювання Terra GPT-6.1 Sol
Обійшов прямо встановлене обмеження 29.6% Нижче
Несанкціонована дія після повідомлень від агента-колеги 13.75% 1.25%
Ознаки усвідомлення оцінювання 9.88% 4.35%

Частоту обходу обмежень Terra вимірювали на рівні max; у системній картці GPT-6.1 Sol показала нижчий результат. Показник для агента-колеги — 11 із 80 зразків.

Показник захисту Terra від непрямої ін’єкції промптів становив 98.8% — більше, ніж 96.2% у GPT-5.6 Terra. Це добре, але все ще не 100%. Для переходу на нову модель найважливіші два результати: Terra частіше за Sol виконує інструкції, отримані від іншого агента, і часом знаходить спосіб обійти обмеження, зазначене в її інструкціях. Тож:

  • Для інструментів встановлюйте заборону за замовчуванням і надавайте лише ті дозволи, які потрібні для завдання.
  • Вимагайте підтвердження перед записом даних, покупками, передаванням даних і будь-якими діями, які складно скасувати.
  • Вважайте повідомлення від інших агентів, як і вміст екрана та результати роботи інструментів, недовіреним введенням, яке не може надавати дозволи.
  • Запускайте роботу з комп’ютером в ізольованому браузері або віртуальній машині зі списком дозволених ресурсів, задавайте ліміти на кількість кроків і витрати та перевіряйте фактичний результат, а не фінальне повідомлення моделі. Це рекомендації OpenAI щодо роботи з комп’ютером.

Інструменти для програмування: Codex і Claude Code

Codex підключається через Responses API — маршрут, на якому налаштування рівня зусиль Terra працює через AIHubMix. Загальні інструкції з налаштування наведено в посібнику AIHubMix з налаштування Codex config.toml. Для Terra файл ~/.codex/config.toml має виглядати так:

model = "gpt-6.1-terra"
model_provider = "aihubmix"
model_context_window = 1050000
model_reasoning_effort = "medium"

[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
env_key = "AIHUBMIX_API_KEY"
wire_api = "responses"
  • Залиште wire_api зі значенням responses. Це маршрут, який враховує рівень зусиль і який OpenAI вказує в документації для інструментів.
  • Вкажіть розмір вікна контексту. Задайте для model_context_window значення 1,050,000 токенів — розмір вікна контексту Terra.
  • Починайте з medium. Це стандартний рівень Terra. Через наведені вище повідомлення про ліміти підвищуйте рівень зусиль для складних завдань, а не для всіх запитів.
  • Перезапускайте після редагування. Після зміни config.toml перезапустіть Codex.

Claude Code

Claude Code працює з Terra через маршрут Messages в AIHubMix. Налаштуйте його за допомогою посібника з налаштування Claude Code settings.json, указавши gpt-6.1-terra як модель. Під час перевірок AIHubMix працювали інструменти та зображення. Але налаштування thinking і рівня зусиль у Claude Code не впливали на міркування Terra, а блоки thinking не поверталися. У Claude Code не можна налаштувати, наскільки інтенсивно Terra міркує, тож для Terra краще підходить Codex.

Перевірка працездатності за 10-15 хвилин

Один раз запустіть її для кожного інструмента в невеликому репозиторії з набором тестів:

  1. Почніть новий сеанс із gpt-6.1-terra. Не продовжуйте сеанс, у якому використовувалася інша модель.
  2. Запит: «Додай модульний тест для однієї функції в цьому репозиторії, запусти тести й виправ усе, що не пройде».
  3. Ознаки успішного результату: модель читає файли й запускає тести, отже, виклики інструментів працюють. Вона продовжує роботу після отримання результатів, отже, результати інструментів передаються назад. Наприкінці тести проходять, а в сеансі ніде не виникає помилка 400.
  4. У журналі використання AIHubMix перевірте, чи вказано модель gpt-6.1-terra і чи відображають пізніші запити кешовані вхідні токени для незмінного префікса. Якщо таких токенів немає, префікс щоразу змінюється.
  5. У Codex повторіть завдання з рівнями low і medium та порівняйте кількість вихідних токенів на хід. Для завдання, над яким потрібно трохи поміркувати, на рівні medium їх має бути більше. Якщо на кожному рівні показники однакові, перевірте, чи запити надсилаються через Responses.
  6. Запишіть тривалість ходу та кількість вихідних токенів. Це буде базовий показник для вибору рівня зусиль.

Контрольний список переходу

  • Установіть модель gpt-6.1-terra.
  • Перенесіть виклики інструментів і все, що залежить від рівня зусиль, на Responses API.
  • Видаліть temperature, top_p, top_logprobs і logprobs з усіх шляхів виклику або задайте рівень зусиль none.
  • Замініть minimal на low.
  • Залиште кожне робоче навантаження на одному маршруті, щоб кеш не записувався двічі.
  • Замініть prompt_cache_retention на prompt_cache_options.ttl.
  • Використовуйте configuration_update, щоб змінювати рівень зусиль посеред розмови.
  • За можливості не перевищуйте 272K вхідних токенів на запит.
  • Ведіть журнал токенів міркування, кешованих токенів і токенів запису в кеш.
  • Закладайте в бюджет $0.01 за кожен виклик вебпошуку й не розраховуйте на Batch через AIHubMix.
  • Перевірте файли AGENTS.md і skill та чітко вкажіть, що агенту дозволено робити.
  • Вимагайте підтвердження перед записом даних і вважайте повідомлення від агентів-колег недовіреними.
  • Запустіть перевірку працездатності в кожному інструменті для програмування.

Поширені запитання

Чому GPT-6.1 Terra повертає помилку "Unsupported parameter: 'temperature'"?
Тому що рівень зусиль для міркування не дорівнює none. За правилом OpenAI для сімейства GPT-6 параметри temperature, top_p і top_logprobs потрібно видалити, якщо рівень зусиль відрізняється від none, а стандартний рівень Terra — medium. Видаліть ці параметри або задайте рівень зусиль none, якщо потрібно керувати семплюванням.

Чому той самий код працює з Chat Completions?
Під час перевірок 27 жовтня 2026 року маршрут Chat Completions у AIHubMix прийняв temperature 0.2 і top_p 0.5 та повернув 200. Отже, тести на Chat Completions не виявлять помилку 400, яку повертає Responses API.

Чи працює reasoning_effort із Chat Completions через AIHubMix?
У кількох коротких запитах під час перевірок AIHubMix 27 жовтня 2026 року помітної різниці не було: значення none і max дали схожу кількість токенів міркування. Це не універсальне правило, але якщо для вас важливий рівень зусиль, задавайте його в Responses API, де він чітко працює.

Чи потрібно переносити виклики інструментів на Responses API?
Так. За документацією OpenAI, для виклику інструментів у Terra потрібен Responses. Запит Chat Completions із функціональним інструментом справді повернув виклики інструментів через AIHubMix, але така поведінка не задокументована, тому покладатися на неї не варто.

Що замінює minimal?
Terra підтримує рівні none, low, medium, high, xhigh і max. OpenAI радить почати з low і порівняти результати на типових завданнях.

Чи доступний Batch для Terra в AIHubMix?
Ні. Виклик GET /v1/batches повертає 404 в AIHubMix, тож маршруту Batch немає; знижки 50% за Batch і Flex пропонує OpenAI. У переліку цін AIHubMix для Terra вказані стандартні тарифи на вхідні, вихідні та кешовані токени, які збігаються з базовими цінами OpenAI.

Що краще використовувати з Terra — Codex чи Claude Code?
Codex. Він використовує Responses API, де налаштування рівня зусиль Terra працює через AIHubMix. Claude Code працює через маршрут Messages, але під час перевірок AIHubMix його налаштування thinking і рівня зусиль не впливали на Terra.

Читайте далі: серія про GPT-6.1 Terra

Джерела

Один шлюз до багатьох провайдерів ШІ. Створено для продакшену.

Перейти на AIHubMix