Ръководство за GLM-5.3: мислене, винаги включено, три нива на усилие и матрица на поддръжка на API

Ръководство от август 2026 за извикване на GLM-5.3: мислене, винаги включено, с три нива на reasoning_effort, резюмета на разсъжденията, паралелни извиквания на инструменти, структуриран изход и автоматично кеширане, с тествани примери за AIHubMix Chat, Responses и Messages API.

AIHubMix7 мин четене
Ръководство за GLM-5.3: мислене, винаги включено, три нива на усилие и матрица на поддръжка на API

Заглавие: Ръководство за GLM-5.3: мислене, винаги включено, три нива на усилие & матрица на поддръжка на API

Описание: Ръководство за GLM-5.3 от август 2026: мислене, винаги включено, с три нива на reasoning_effort, резюмета на разсъжденията, паралелни извиквания на инструменти, структуриран изход и автоматично кеширане, с проверени примери за AIHubMix Chat / Responses / Messages.


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

Заключенията „Проверено“ и примерните отговори във всеки раздел идват от реални извиквания, направени на 2026-08-14 през AIHubMix API (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:

  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 токена за разсъждение при един и същ аритметичен въпрос).

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, default max
    extra_body={"thinking": {"type": "enabled"}},
    messages=[
        {"role": "user", "content": "Compute the square root of (17*23-19*11), rounded down. Digits only."}
    ],
)

print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)   # Observed: "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="What is the capital of France? City name only.",
)

# Observed response.output item types: ["reasoning", "message"]
# reasoning item: {"type": "reasoning", "summary": [{"type": "summary_text", "text": "The user is asking..."}]}
# 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": "What is the capital of France? City name only."}
    ],
)

# Observed response.content block types: ["thinking", "text"]
Проверено: блоковете thinking се връщат по подразбиране; thinking: {"type": "disabled"} при този API също връща 200, като мисленето продължава (съответства на официалната семантика на канала „disabled се преобразува в low, заявката продължава“).

3. Извикване на инструменти и паралелни инструменти

Извикването на функции е проверено като работещо при всичките три API. При Responses API наблюдавахме и паралелни извиквания на инструменти в един ход (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": "What's the weather in Beijing today?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get weather for a city",
            "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
        },
    }],
)

# Observed: finish_reason "tool_calls", with a get_weather call in tool_calls
Проверено: tool_choice: "none" работи. Същият въпрос за времето връща обикновен текст без извикване на инструмент.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="Check today's weather in Shanghai and Beijing",
    parallel_tool_calls=True,
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Get weather for a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
)

# Observed: a single turn returns 2 parallel function_call output items (one for each city)
Проверено: 2 паралелни извиквания на инструменти в един ход, което съответства на декларацията supports_parallel_tool_calls: true.

Messages

response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    tools=[{
        "name": "get_weather",
        "description": "Get weather for a city",
        "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
    messages=[{"role": "user", "content": "What's the weather in Beijing today?"}],
)

# Observed: stop_reason "tool_use"; content contains a tool_use block
❗ Проверено: при този API моделът все още генерира извиквания на инструменти след tool_choice: {"type": "none"}. За да изключите инструментите, премахнете напълно параметъра tools или използвайте tool_choice: "none" в Chat Completions API.

4. Структуриран изход

response_format поддържа text и json_object; доставчикът не посочва режим json_schema. Когато ви трябва строго съответствие със схема, вградете JSON Schema в промпта и валидирайте от страна на клиента.

Chat Completions

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[
        {"role": "user", "content": "What is the capital of France? Answer in JSON with the key \"answer\"."}
    ],
    response_format={"type": "json_object"},
)

# Observed response content: {"answer": "Paris"}
Проверено: изходът е валиден JSON, съдържащ търсения ключ.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="What is the capital of France? Answer in JSON with the key \"answer\".",
    text={"format": {"type": "json_object"}},
)

# Observed output text: {"answer": "Paris"}

Messages

# Specify the JSON structure in the prompt; observed output is valid JSON
response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "What is the capital of France? Answer in JSON with the key \"answer\"."}
    ],
)

# Observed response text: {"answer": "Paris"}

5. Кеширането на контекста е автоматично

Имплицитното кеширане е включено по подразбиране и не изисква параметри. Повтарящи се дълги префикси докладват попадения в кеша в usage (името на полето варира според API).

Chat Completions

# usage of the second call with an identical long prefix
"prompt_tokens_details": {"cached_tokens": 960}
Проверено: второто от две последователни извиквания попадна в 960 кеширани токена.

Responses

# usage of the second call with an identical long prefix
"input_tokens_details": {"cached_tokens": 960}

Messages

# hits are reported via usage.cache_read_input_tokens
"cache_read_input_tokens": 0
Проверено: в този рунд не успяхме да възпроизведем попадение в кеша при този API (кешовете се затоплят по канал, а превключване на балансьора може да причини промах). Полето за отчитане на попаденията следва семантиката на Anthropic.

6. Валидиране на семплиране и параметри

Семплирането следва конвенциите на крайните точки на GLM семейството: temperature с диапазон [0, 1] и по подразбиране 1.0 (забележка: по-тесен от [0, 2] при протокола на OpenAI); top_p с диапазон [0.01, 1] и по подразбиране 0.95. Z.ai препоръчва да се настройва само един от двата параметъра.

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

7. Матрица на поддръжка: възможност × API

Всяка клетка по-долу е проверена с реални извиквания през живите AIHubMix API на 2026-08-14. Клетките показват написанието на параметъра или полето за всеки API.

Възможност Chat Completions Responses Messages
Базово генериране / стрийминг ✅ ✅ ✅
Съдържание на мисленето ✅ поле reasoning_content ✅ изходен елемент reasoning (summary_text) ✅ блок със съдържание thinking
Интензитет на мисленето ✅ reasoning_effort (low/high/max, по подразбиране max) ✅ същото като вляво ✅ прието с 200
Изключване на мисленето ❗ Невъзможно: disabled връща 200 и мисленето продължава (семантика „преобразуване в low“) ➖ няма параметър за превключване ❗ същото като 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 Schema в промпта и валидирайте от страна на клиента.

Дали coding-glm-5.3 е производствената версия?
В момента това е маршрут за предварителен достъп с ограничено време (документацията за API на моделите на Z.ai отбелязва официалното API като „скоро“); AIHubMix ще съобщи веднага щом търговското API бъде пуснато. Вижте страницата на модела за актуални цени и статус.


За цени и статус в реално време вижте страницата на модела GLM-5.3; за още модели посетете галерията с модели.

Един шлюз към множество AI доставчици. Създаден за продукционна среда.

Посетете AIHubMix