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 идентификаторът на модела е 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 параметър невалиден: стойността трябва да бъде в диапазона [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, по подразбиране 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 item: ["reasoning", "message"]
# reasoning item: {"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 block: ["thinking", "text"]
Проверено: блоковете за мислене се връщат по подразбиране; thinking: {"type": "disabled"} на този API също така връща 200 с все още активирано мислене (съответстващо на официалната семантика "деактивиране конвертира в ниско, заявката продължава").

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

Проверено, че извикването на функции работи на всички три API; на API на Responses също наблюдавахме паралелни извиквания на инструменти в един единствен ход (Z.ai изрично декларира supports_parallel_tool_calls: true за GLM-5.3). Ограничения на upstream: до 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 паралелни output items за извикване на функция (по един за всеки град)
Проверено: 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; upstream не посочва режим 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 параметър невалиден: стойността трябва да бъде в диапазона [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 строг режим ❗ не е посочен upstream — вградете схемата в подсказката ❗ същото като лявото ❗ същото като лявото
Автоматично отчитане на кеша 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 структуриран изход?
Upstream не посочва режим response_format: json_schema. В нашите тестове, режимът json_object за JSON произведе валиден JSON на трите API; за строги схеми, вградете JSON схемата в подсказката и валидирайте от страната на клиента.

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


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