Название: 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 идентификатор модели —coding-glm-5.3(в настоящее время это ограниченный предварительный доступ), доступный через API Chat Completions, Responses и совместимые с Claude Messages. Также смотрите: официальный блог выпуска 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 | Та же базовая модель, обновленная за счет постобучения: значительно более высокая производительность в кодировании и долгосрочных задачах, а также новые киберспособности |
| Идентификатор модели 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:
thinking.typeбольше не поддерживаетdisabled— мышление не может быть отключено. Официальный совет по миграции: приложения, которые раньше отправляли{"type": "disabled"}, должны переключиться на{"type": "enabled"}и установитьreasoning_effortна"low".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 токенов рассуждений по одному и тому же арифметическому вопросу).
Chat Completions
Содержимое мышления возвращается в поле 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"по одному и тому же вопросу.
Responses
Содержимое мышления возвращается как элемент вывода 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— явное согласие не требуется.
Messages
Содержимое мышления возвращается как родные блоки 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.
Chat Completions
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"]},
},
}],
)
# Наблюдаемое: finish_reason "tool_calls", с вызовом get_weather в tool_calls
Проверено: tool_choice: "none" работает — тот же вопрос о погоде возвращает простой текст без вызова инструмента.Responses
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 параллельных элемента вывода function_call (по одному для каждого города)
Проверено: 2 параллельных вызова инструментов в одном запросе, соответствующие официальному заявлению supports_parallel_tool_calls: true.Messages
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": "Какова погода в Пекине сегодня?"}],
)
# Наблюдаемое: stop_reason "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-схему в запрос и проверьте на стороне клиента.
Chat Completions
completion = client.chat.completions.create(
model="coding-glm-5.3",
messages=[
{"role": "user", "content": "Какова столица Франции? Ответьте в JSON с ключом \"answer\"."}
],
response_format={"type": "json_object"},
)
# Наблюдаемое содержимое ответа: {"answer": "Париж"}
Проверено: вывод является допустимым JSON, содержащим запрашиваемый ключ.
Responses
response = client.responses.create(
model="coding-glm-5.3",
input="Какова столица Франции? Ответьте в JSON с ключом \"answer\".",
text={"format": {"type": "json_object"}},
)
# Наблюдаемый текст вывода: {"answer": "Париж"}
Messages
# Укажите структуру JSON в запросе; наблюдаемый вывод является допустимым JSON
response = client.messages.create(
model="coding-glm-5.3",
max_tokens=4096,
messages=[
{"role": "user", "content": "Какова столица Франции? Ответьте в JSON с ключом \"answer\"."}
],
)
# Наблюдаемый текст ответа: {"answer": "Париж"}
5. Автоматическое кэширование контекста
Неявное кэширование включено по умолчанию без параметров для передачи; повторные длинные префиксы сообщают о попаданиях в кэш в использовании (имя поля варьируется в зависимости от API).
Chat Completions
# использование второго вызова с идентичным длинным префиксом
"prompt_tokens_details": {"cached_tokens": 960}
Проверено: второй из двух последовательных вызовов попал на 960 кэшированных токенов.
Responses
# использование второго вызова с идентичным длинным префиксом
"input_tokens_details": {"cached_tokens": 960}
Messages
# попадания сообщаются через 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 Messages отклоняет значениеtemperature: 3вне диапазона с 400, который указывает допустимый диапазон[0,1], в то время как Chat Completions / Responses молча принимают то же значение вне диапазона с 200. При миграции между API не полагайтесь на шлюз, чтобы поймать значения выборки вне диапазона за вас.
# API Messages с temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"
7. Матрица возможностей × поддержки API
Каждая ячейка ниже была проверена с реальными вызовами через живые API AIHubMix 2026-08-14; ячейки показывают написание параметров/полей для каждого API.
| Возможность | Chat Completions | Responses | Messages |
|---|---|---|---|
| Основная генерация / потоковая передача | ✅ | ✅ | ✅ |
| Содержимое мышления | ✅ reasoning_content поле |
✅ reasoning элемент вывода (summary_text) |
✅ thinking блок содержимого |
| Интенсивность мышления | ✅ reasoning_effort (low/high/max, по умолчанию max) |
✅ то же самое, что и слева | ✅ принято с 200 |
| Отключить мышление | ❗ Невозможно: disabled возвращает 200, и мышление продолжается (семантика преобразования в низкий уровень) |
➖ нет параметра переключения | ❗ то же самое, что и Chat |
| Вызов функций | ✅ | ✅ | ✅ |
| Параллельные вызовы инструментов | — | ✅ 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] |
Часто задаваемые вопросы
Какой идентификатор модели GLM-5.3 на AIHubMix? Нужно ли мне суффикс [1m]?
Идентификатор модели — 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; для получения дополнительных моделей посетите галерею моделей.




