GLM-5.3 Практичний посібник: Завжди активне мислення, три рівні зусиль та матриця підтримки API

AIHubMix7 хв читання
GLM-5.3 Практичний посібник: Завжди активне мислення, три рівні зусиль та матриця підтримки API

Назва: GLM-5.3 Практичний посібник: Завжди активне мислення, три рівні зусиль та матриця підтримки API

Опис: Посібник GLM-5.3 серпня 2026 року: завжди активне мислення з трьома рівнями зусиль, підсумки міркувань, паралельні виклики інструментів, структурований вихід та автоматичне кешування — з перевіреними прикладами AIHubMix Chat / Responses / Messages.


Ця стаття охоплює основні зміни API та примітки щодо використання для GLM-5.3. GLM-5.3 є флагманською моделлю Z.ai, випущеною 2026-08-14 — вона використовує точно таку ж базову модель, як GLM-5.2, з усіма перевагами, отриманими після навчання. На AIHubMix ID моделі — coding-glm-5.3 (в даний час обмежений попередній перегляд), доступний через API Chat Completions, Responses та Messages, сумісні з Claude. Дивіться також: офіційний блог випуску Z.ai.

Висновки та приклади відповідей у кожному розділі отримані з фактичних викликів, зроблених 2026-08-14 через API AIHubMix (Chat Completions / Responses / Messages).

1. Специфікації моделі на перший погляд

Елемент Значення
Вікно контексту 1M токенів (офіційне точне значення: 1,048,576)
Максимальний вихід 128K (max_tokens перевірений ліміт: 131,072 — перевищення повертає 400)
Вхідні модальності Текст
Мислення Завжди активне, не може бути вимкнене; reasoning_effort має три рівні — low / high / max, за замовчуванням max
Відношення до GLM-5.2 Та сама базова модель, оновлена через після навчання: значно краща продуктивність кодування та виконання завдань на довгий термін, плюс нові кіберздатності
ID моделі AIHubMix coding-glm-5.3 (обмежений попередній перегляд; ми повідомимо, як тільки офіційний комерційний API запуститься)
Перевірено: max_tokens: 999999 повертає 400 з дійсним діапазоном, вказаним у тілі помилки — ліміт дійсно підтверджений, а не тихо обрізаний.
# max_tokens=999999 -> HTTP 400
"max_tokens parameter invalid: value must be within [1,131072]"

2. GLM-5.3 проти GLM-5.2: Завжди активне мислення, інтенсивність через reasoning_effort

Елемент GLM-5.2 GLM-5.3
Базова модель Ідентична 5.2 (всі переваги з після навчання)
thinking.type enabled / disabled — може бути вимкнено enabled тільки — не може бути вимкнено
reasoning_effort 7-значна сумісність (ефективні рівні: max/high) Три рівні low / high / max, за замовчуванням max
Позиціонування Флагман загального призначення Посилений для кодування та завдань на довгий термін, з новими кіберздатностями

Це два найважливіші зміни API в GLM-5.3 відносно GLM-5.2:

  1. thinking.type більше не підтримує disabled — мислення не може бути вимкнене. Офіційна порада щодо міграції: програми, які раніше надсилали {"type": "disabled"}, повинні перейти на {"type": "enabled"} і встановити reasoning_effort на "low".
  2. reasoning_effort звужується до трьох рівнів: low (легкий) / high (покращений) / max (глибокий, за замовчуванням). 7-значна сумісність GLM-5.2 більше не застосовується; Z.ai рекомендує max для завдань кодування.
Перевірено: надсилання thinking: {"type": "disabled"} через AIHubMix повертає 200, і мислення все ще відбувається (reasoning_content повертається як зазвичай) — значення автоматично перетворюється відповідно до офіційної семантики каналу, а не відхиляється. Якщо ваш клієнт покладався на "вимкнути мислення, щоб зекономити токени", перейдіть на reasoning_effort: "low".

Перевірено: значення поза переліком для reasoning_effort також повертають 200 без помилки (повертаючись до значення за замовчуванням max відповідно до офіційної документації); low проти max показує очікувану тенденцію легшого мислення (27 проти 39 токенів міркування на одному й тому ж арифметичному запитанні).

Чат Завершення

Вміст мислення повертається в полі reasoning_content; у потоковій передачі він надходить як delta.reasoning_content.

from openai import OpenAI

client = OpenAI(
    base_url="https://aihubmix.com/v1",
    api_key="<AIHUBMIX_API_KEY>",
)

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    reasoning_effort="max",          # low / high / max, за замовчуванням max
    extra_body={"thinking": {"type": "enabled"}},
    messages=[
        {"role": "user", "content": "Обчисліть квадратний корінь з (17*23-19*11), округлений до цілого. Тільки цифри."}
    ],
)

print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)   # Спостережено: "13"
Перевірено: usage.completion_tokens_details.reasoning_tokens повідомляє про використання мислення — 27 з reasoning_effort="low", 39 з "max" на одному й тому ж запитанні.

Відповіді

Вміст мислення повертається як елемент виходу reasoning, з текстом всередині масиву summary як summary_text.

from openai import OpenAI

client = OpenAI(
    base_url="https://aihubmix.com/v1",
    api_key="<AIHUBMIX_API_KEY>",
)

response = client.responses.create(
    model="coding-glm-5.3",
    input="Яка столиця Франції? Тільки назва міста.",
)

# Спостережені типи response.output: ["reasoning", "message"]
# елемент reasoning: {"type": "reasoning", "summary": [{"type": "summary_text", "text": "Користувач запитує..."}]}
# usage.output_tokens_details.reasoning_tokens: 80
Перевірено: стандартний запит (без параметра reasoning) вже включає елемент reasoning з summary_text — явна згода не потрібна.

Повідомлення

Вміст мислення повертається як рідні блоки thinking.

from anthropic import Anthropic

client = Anthropic(
    api_key="<AIHUBMIX_API_KEY>",
    base_url="https://aihubmix.com"
)

response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "Яка столиця Франції? Тільки назва міста."}
    ],
)

# Спостережені типи response.content: ["thinking", "text"]
Перевірено: блоки мислення повертаються за замовчуванням; thinking: {"type": "disabled"} на цьому API також повертає 200, при цьому мислення все ще відбувається (відповідає офіційній семантиці "вимкнення перетворюється на низький, запит триває").

3. Виклики інструментів та паралельні інструменти

Виклики функцій підтверджено на всіх трьох API; на API Responses ми також спостерігали паралельні виклики інструментів в одному запиті (Z.ai явно оголошує supports_parallel_tool_calls: true для GLM-5.3). Верхні обмеження: до 128 функцій у tools; tool_choice нативно підтримує тільки auto.

Чат Завершення

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[{"role": "user", "content": "Яка погода в Пекіні сьогодні?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Отримати погоду для міста",
            "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
        },
    }],
)

# Спостережено: причина завершення "tool_calls", з викликом get_weather у tool_calls
Перевірено: tool_choice: "none" працює — те ж питання про погоду повертає простий текст без виклику інструменту.

Відповіді

response = client.responses.create(
    model="coding-glm-5.3",
    input="Перевірте погоду сьогодні в Шанхаї та Пекіні",
    parallel_tool_calls=True,
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Отримати погоду для міста",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
)

# Спостережено: один запит повертає 2 паралельні елементи output function_call (по одному для кожного міста)
Перевірено: 2 паралельні виклики інструментів в одному запиті, що відповідає офіційній декларації supports_parallel_tool_calls: true.

Повідомлення

response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    tools=[{
        "name": "get_weather",
        "description": "Отримати погоду для міста",
        "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
    messages=[{"role": "user", "content": "Яка погода в Пекіні сьогодні?"}],
)

# Спостережено: причина зупинки "tool_use"; вміст містить блок tool_use
Перевірено: на цьому API модель все ще виконує виклики інструментів після tool_choice: {"type": "none"} — щоб вимкнути інструменти, повністю видаліть параметр tools, або використовуйте tool_choice: "none" на API Chat Completions замість цього.

4. Структурований вихід

response_format підтримує text та json_object; верхній рівень не вказує режим json_schema. Коли вам потрібна сувора відповідність схемі, вбудуйте JSON-схему в запит і перевірте на стороні клієнта.

Чат Завершення

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[
        {"role": "user", "content": "Яка столиця Франції? Відповідь у JSON з ключем \"answer\"."}
    ],
    response_format={"type": "json_object"},
)

# Спостережений вміст відповіді: {"answer": "Париж"}
Перевірено: вихід є дійсним JSON, що містить запитуваний ключ.

Відповіді

response = client.responses.create(
    model="coding-glm-5.3",
    input="Яка столиця Франції? Відповідь у JSON з ключем \"answer\".",
    text={"format": {"type": "json_object"}},
)

# Спостережений вихідний текст: {"answer": "Париж"}

Повідомлення

# Вкажіть структуру JSON у запиті; спостережений вихід є дійсним JSON
response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "Яка столиця Франції? Відповідь у JSON з ключем \"answer\"."}
    ],
)

# Спостережений текст відповіді: {"answer": "Париж"}

5. Автоматичне кешування контексту

Імпліцитне кешування увімкнено за замовчуванням без параметрів для передачі; повторні довгі префікси повідомляють про кешування в використанні (ім'я поля варіюється в залежності від API).

Чат Завершення

# використання другого виклику з ідентичним довгим префіксом
"prompt_tokens_details": {"cached_tokens": 960}
Перевірено: другий з двох послідовних викликів потрапив на 960 кешованих токенів.

Відповіді

# використання другого виклику з ідентичним довгим префіксом
"input_tokens_details": {"cached_tokens": 960}

Повідомлення

# кешування повідомляється через usage.cache_read_input_tokens
"cache_read_input_tokens": 0
Перевірено: ми не відтворили кешування на цьому API в цьому раунді (кеші нагріваються за каналом; перемикання балансувальника навантаження може викликати пропуск). Поле обліку кешу відповідає семантиці Anthropic.

6. Вибірка та перевірка параметрів

Вибірка слідує конвенціям кінцевих точок сімейства GLM: діапазон temperature [0, 1] з за замовчуванням 1.0 (зауважте — вужче, ніж протокол OpenAI [0, 2]); діапазон top_p [0.01, 1] з за замовчуванням 0.95. Z.ai рекомендує налаштовувати лише один з двох параметрів.

Перевірено: перевірка параметрів відрізняється між API — API Повідомлень відхиляє значення temperature: 3 з 400, що вказує дійсний діапазон [0,1], тоді як Chat Completions / Responses тихо приймають те ж значення за межами діапазону з 200. При міграції між API не покладайтеся на шлюз, щоб виявити значення вибірки за межами діапазону для вас.
# API Повідомлень з temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"

7. Матриця підтримки можливостей × API

Кожна клітинка нижче була перевірена з реальними викликами через живі API AIHubMix 2026-08-14; клітинки показують написання параметра/поля для кожного API.

Можливість Чат Завершення Відповіді Повідомлення
Основне генерування / потокове
Вміст мислення reasoning_content поле reasoning елемент виходу (summary_text) thinking блок вмісту
Інтенсивність мислення reasoning_effort (low/high/max, за замовчуванням max) ✅ те ж саме, що й ліворуч ✅ прийнято з 200
Вимкнути мислення ❗ Неможливо: disabled повертає 200, і мислення триває (семантика перетворення на низький) ➖ немає параметра перемикання ❗ те ж саме, що й чат
Виклик функцій
Паралельні виклики інструментів ✅ 2 function_call елементи в одному запиті
Вимкнути виклики інструментів tool_choice: "none" працює ✅ 200 (викликів не спостерігалося) ❗ виклики все ще виробляються після {"type": "none"}
Структурований вихід (JSON режим) response_format: json_object text.format: json_object ✅ через конвенцію запиту
json_schema суворий режим ❗ не вказано на верхньому рівні — вбудуйте схему в запит ❗ те ж саме, що й ліворуч ❗ те ж саме, що й ліворуч
Автоматичне облікування кешу usage.prompt_tokens_details.cached_tokens usage.input_tokens_details.cached_tokens ✅ поле присутнє (кешування не відтворено в цьому раунді)
Перевірка максимального виходу ✅ 400 з діапазоном [1,131072]
Перевірка вибірки за межами діапазону ❗ тихий 200 ❗ тихий 200 ✅ 400 з діапазоном [0,1]

Часті запитання

Який ID моделі GLM-5.3 на AIHubMix? Чи потрібен мені суфікс [1m]?
ID моделі — coding-glm-5.3 — використовуйте його як є. glm-5.3[1m] — це синтаксис назви моделі Z.ai для клієнта Claude Code і не має нічого спільного з викликами AIHubMix; жоден з трьох API не потребує жодного суфікса.

Чи можу я вимкнути мислення?
Ні. Мислення GLM-5.3 завжди активне, і thinking.type підтримує лише enabled; у наших тестах надсилання disabled повертає 200, при цьому мислення все ще відбувається (перетворюється на рівень low відповідно до офіційної семантики). Щоб зекономити токени мислення, надішліть reasoning_effort: "low".

Як GLM-5.3 пов'язаний з GLM-5.2?
Та сама базова модель — всі переваги походять з після навчання (офіційна формулювання: "Вона використовує ту ж базову модель, що й GLM-5.2 — кожна перевага походить з після навчання"). Два серйозні зміни API: мислення більше не може бути вимкнене, а reasoning_effort звужується до трьох рівнів low/high/max (за замовчуванням max).

Що робити, якщо мені потрібен суворий структурований вихід json_schema?
Верхній рівень не вказує режим response_format: json_schema. У наших тестах режим JSON json_object дав дійсний JSON на всіх трьох API; для суворих схем вбудуйте JSON-схему в запит і перевірте на стороні клієнта.

Чи є coding-glm-5.3 виробничим випуском?
Це наразі обмежений попередній перегляд (документи API моделі Z.ai позначають офіційний API як "скоро"); AIHubMix повідомить, як тільки комерційний API буде запущено. Дивіться сторінку моделі для актуальних цін і статусу.


Для цін і статусу в реальному часі дивіться сторінку моделі GLM-5.3; для інших моделей відвідайте галерею моделей.