GLM-5.3-Praxisleitfaden: Immer aktives Denken, drei Aufwandsstufen und die API-Unterstützungsmatrix

Ein Leitfaden vom August 2026 zur Nutzung von GLM-5.3: immer aktives Denken mit drei reasoning_effort-Stufen, Zusammenfassungen des Denkprozesses, parallele Tool-Aufrufe, strukturierte Ausgabe und automatisches Caching, mit getesteten Beispielen für die Chat-, Responses- und Messages-APIs von AIHubMix.

AIHubMix7 Min. Lesezeit
GLM-5.3-Praxisleitfaden: Immer aktives Denken, drei Aufwandsstufen und die API-Unterstützungsmatrix

Titel: GLM-5.3 Praxisleitfaden: Immer aktives Denken, drei Aufwandsstufen & API-Unterstützungsmatrix

Beschreibung: Leitfaden zu GLM-5.3 vom August 2026: immer aktives Denken mit drei reasoning_effort-Stufen, Zusammenfassungen des Denkprozesses, parallele Tool-Aufrufe, strukturierte Ausgabe und automatisches Caching, mit verifizierten Beispielen für die Chat-, Responses- und Messages-APIs von AIHubMix.


Dieser Artikel behandelt die wichtigsten API-Änderungen und Nutzungshinweise für GLM-5.3. GLM-5.3 ist das Flaggschiffmodell von Z.ai und wurde am 2026-08-14 veröffentlicht. Es nutzt exakt dasselbe Basismodell wie GLM-5.2, wobei sämtliche Verbesserungen aus dem Post-Training stammen. Bei AIHubMix lautet die Modell-ID coding-glm-5.3 (derzeit eine zeitlich begrenzte Vorschau-Route). Das Modell ist über die Chat-Completions-, Responses- und die Claude-kompatible Messages-API verfügbar. Siehe auch: den offiziellen Release-Blog von Z.ai.

Die als „Verifiziert“ gekennzeichneten Ergebnisse und Beispielantworten in jedem Abschnitt stammen von tatsächlichen Aufrufen am 2026-08-14 über die APIs von AIHubMix (Chat Completions / Responses / Messages).

1. Modellspezifikationen auf einen Blick

Merkmal Wert
Kontextfenster 1M Tokens (offizieller exakter Wert: 1,048,576)
Maximale Ausgabe 128K (max_tokens, verifizierte Obergrenze: 131,072; eine Überschreitung liefert 400)
Eingabemodalitäten Text
Denken Immer aktiv, kann nicht deaktiviert werden; reasoning_effort hat drei Stufen: low / high / max, Standard ist max
Verhältnis zu GLM-5.2 Gleiches Basismodell, verbessert durch Post-Training: deutlich stärkere Leistung bei Programmierung und langfristigen Aufgaben sowie neu entstandene Cyber-Fähigkeiten
AIHubMix-Modell-ID coding-glm-5.3 (zeitlich begrenzte Vorschau-Route; wir aktualisieren den Artikel, sobald die offizielle kommerzielle API startet)
Verifiziert: max_tokens: 999999 liefert 400 mit dem gültigen Bereich im Fehlertext. Die Obergrenze ist also tatsächlich validiert und wird nicht stillschweigend gekürzt.
# max_tokens=999999 -> HTTP 400
"max_tokens parameter invalid: value must be within [1,131072]"

2. GLM-5.3 vs. GLM-5.2: Immer aktives Denken, Intensität über reasoning_effort

Merkmal GLM-5.2 GLM-5.3
Basismodell — Identisch mit 5.2 (alle Verbesserungen aus dem Post-Training)
thinking.type enabled / disabled, kann abgeschaltet werden Nur enabled, kann nicht abgeschaltet werden
reasoning_effort 7-Wert-Kompatibilitätszuordnung (wirksame Stufen: max/high) Drei Stufen low / high / max, Standard ist max
Positionierung Universelles Flaggschiffmodell Verstärkt für Programmierung und langfristige agentische Aufgaben, mit neu entstandenen Cyber-Fähigkeiten

Dies sind die beiden wichtigsten API-Änderungen in GLM-5.3 gegenüber GLM-5.2:

  1. thinking.type unterstützt disabled nicht mehr. Denken kann also nicht mehr ausgeschaltet werden. Offizielle Migrationsempfehlung: Anwendungen, die bisher {"type": "disabled"} gesendet haben, sollten auf {"type": "enabled"} umstellen und reasoning_effort auf "low" setzen.
  2. reasoning_effort wird auf drei Stufen reduziert: low (leicht) / high (erweitert) / max (tief, der Standard). Die 7-Wert-Kompatibilitätszuordnung aus der Zeit von GLM-5.2 gilt nicht mehr. Z.ai empfiehlt max für Programmieraufgaben.
Verifiziert: Das Senden von thinking: {"type": "disabled"} über AIHubMix liefert 200, und das Denken findet trotzdem statt (reasoning_content wird wie üblich zurückgegeben). Der Wert wird gemäß der offiziellen Kanalsemantik automatisch umgewandelt, nicht abgelehnt. Wenn Ihr Client sich darauf verlassen hat, das Denken abzuschalten, um Tokens zu sparen, wechseln Sie zu reasoning_effort: "low".

Verifiziert: Ungültige Werte für reasoning_effort liefern ebenfalls 200 ohne Fehler und fallen auf den Standard max zurück (gemäß der offiziellen Dokumentation). low vs. max zeigt den erwarteten Trend zu leichterem Denken (27 vs. 39 Denk-Tokens bei derselben Rechenaufgabe).

Chat Completions

Denkinhalte werden im Feld reasoning_content zurückgegeben; beim Streaming kommen sie als delta.reasoning_content an.

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"
Verifiziert: usage.completion_tokens_details.reasoning_tokens zeigt den Denkverbrauch an: 27 bei reasoning_effort="low", 39 bei "max" für dieselbe Frage.

Responses

Denkinhalte werden als reasoning-Ausgabeelement zurückgegeben, wobei der Text im Array summary als summary_text steht.

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
Verifiziert: Die Standardanfrage (ganz ohne reasoning-Parameter) enthält bereits das reasoning-Element mit summary_text. Ein explizites Opt-in ist nicht nötig.

Messages

Denkinhalte werden als native thinking-Inhaltsblöcke zurückgegeben.

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"]
Verifiziert: Thinking-Blöcke werden standardmäßig zurückgegeben; thinking: {"type": "disabled"} liefert auf dieser API ebenfalls 200, wobei weiterhin gedacht wird (konsistent mit der offiziellen Kanalsemantik „disabled wird zu low konvertiert, die Anfrage läuft weiter“).

3. Tool-Aufrufe und parallele Tools

Function Calling wurde auf allen drei APIs als funktionsfähig verifiziert. Bei der Responses-API beobachteten wir zudem parallele Tool-Aufrufe innerhalb eines Durchlaufs (Z.ai deklariert für GLM-5.3 ausdrücklich supports_parallel_tool_calls: true). Upstream-Grenzen: bis zu 128 Funktionen in tools; tool_choice unterstützt nativ nur 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
Verifiziert: tool_choice: "none" funktioniert. Dieselbe Wetterfrage liefert reinen Text ohne Tool-Aufruf.

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)
Verifiziert: 2 parallele Tool-Aufrufe in einem Durchlauf, passend zur offiziellen Deklaration 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
❗ Verifiziert: Auf dieser API erzeugt das Modell weiterhin Tool-Aufrufe, nachdem tool_choice: {"type": "none"} gesetzt wurde. Um Tools zu deaktivieren, entfernen Sie den Parameter tools vollständig oder verwenden Sie stattdessen tool_choice: "none" auf der Chat-Completions-API.

4. Strukturierte Ausgabe

response_format unterstützt text und json_object. Der Upstream listet keinen json_schema-Modus auf. Wenn Sie strikte Schema-Konformität benötigen, betten Sie das JSON-Schema in den Prompt ein und validieren Sie clientseitig.

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"}
Verifiziert: Die Ausgabe ist gültiges JSON mit dem angeforderten Schlüssel.

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. Kontext-Caching ist automatisch

Implizites Caching ist standardmäßig aktiv und benötigt keine Parameter. Wiederholte lange Präfixe melden Cache-Treffer in usage (der Feldname variiert je nach API).

Chat Completions

# usage of the second call with an identical long prefix
"prompt_tokens_details": {"cached_tokens": 960}
Verifiziert: Der zweite von zwei direkt aufeinanderfolgenden Aufrufen traf 960 gecachte Tokens.

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
Verifiziert: Wir konnten in dieser Runde keinen Cache-Treffer auf dieser API reproduzieren (Caches werden pro Kanal aufgewärmt; ein Wechsel im Load-Balancer kann einen Fehlschlag verursachen). Das Feld zur Trefferzählung folgt der Anthropic-Semantik.

6. Sampling und Parametervalidierung

Das Sampling folgt den Endpunkt-Konventionen der GLM-Familie: Der temperature-Bereich ist [0, 1] mit Standard 1.0 (Hinweis: enger als das [0, 2] des OpenAI-Protokolls). Der top_p-Bereich ist [0.01, 1] mit Standard 0.95. Z.ai empfiehlt, nur einen der beiden Parameter anzupassen.

Verifiziert: Die Parametervalidierung unterscheidet sich je nach API. Die Messages-API lehnt ein temperature: 3 außerhalb des Bereichs mit 400 ab und nennt den gültigen Bereich [0,1]. Chat Completions und Responses akzeptieren denselben außerhalb liegenden Wert dagegen stillschweigend mit 200. Beim API-übergreifenden Wechsel sollten Sie sich nicht darauf verlassen, dass das Gateway ungültige Sampling-Werte für Sie abfängt.
# Messages API with temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"

7. Matrix Funktion × API-Unterstützung

Jede Zelle unten wurde am 2026-08-14 mit echten Aufrufen über die Live-APIs von AIHubMix verifiziert. Die Zellen zeigen die Schreibweise des Parameters bzw. Feldes für jede API.

Funktion Chat Completions Responses Messages
Grundlegende Generierung / Streaming ✅ ✅ ✅
Denkinhalte ✅ Feld reasoning_content ✅ reasoning-Ausgabeelement (summary_text) ✅ thinking-Inhaltsblock
Denkintensität ✅ reasoning_effort (low/high/max, Standard max) ✅ wie links ✅ mit 200 akzeptiert
Denken deaktivieren ❗ Nicht möglich: disabled liefert 200 und das Denken läuft weiter (Semantik „wird zu low konvertiert“) ➖ kein Umschaltparameter ❗ wie Chat
Function Calling ✅ ✅ ✅
Parallele Tool-Aufrufe — ✅ 2 function_call-Elemente in einem Durchlauf —
Tool-Aufrufe deaktivieren ✅ tool_choice: "none" funktioniert ✅ 200 (keine Aufrufe beobachtet) ❗ Aufrufe werden nach {"type": "none"} weiterhin erzeugt
Strukturierte Ausgabe (JSON-Modus) ✅ response_format: json_object ✅ text.format: json_object ✅ über Prompt-Konvention
json_schema-Strict-Modus ❗ nicht upstream aufgeführt, Schema im Prompt einbetten ❗ wie links ❗ wie links
Automatische Cache-Abrechnung ✅ usage.prompt_tokens_details.cached_tokens ✅ usage.input_tokens_details.cached_tokens ✅ Feld vorhanden (in dieser Runde kein Treffer reproduziert)
Validierung der maximalen Ausgabe ✅ 400 mit Bereich [1,131072] — —
Validierung von Sampling-Werten außerhalb des Bereichs ❗ stilles 200 ❗ stilles 200 ✅ 400 mit Bereich [0,1]

FAQ

Wie lautet die GLM-5.3-Modell-ID bei AIHubMix? Brauche ich das Suffix [1m]?
Die Modell-ID lautet coding-glm-5.3. Verwenden Sie sie unverändert. glm-5.3[1m] ist die Modellnamen-Syntax von Z.ai für den Claude-Code-Client und hat mit AIHubMix-Aufrufen nichts zu tun. Keine der drei APIs benötigt ein Suffix.

Kann ich das Denken ausschalten?
Nein. Das Denken bei GLM-5.3 ist immer aktiv, und thinking.type unterstützt nur enabled. In unseren Tests lieferte das Senden von disabled 200, wobei weiterhin gedacht wurde (gemäß offizieller Semantik zur Stufe low konvertiert). Um Denk-Tokens zu sparen, senden Sie reasoning_effort: "low".

Wie verhält sich GLM-5.3 zu GLM-5.2?
Gleiches Basismodell. Alle Verbesserungen stammen aus dem Post-Training (offizielle Formulierung: „Es nutzt dasselbe Basismodell wie GLM-5.2, jede Verbesserung stammt aus dem Post-Training“). Zwei harte API-Änderungen: Das Denken kann nicht mehr deaktiviert werden, und reasoning_effort wird auf drei Stufen low/high/max reduziert (Standard max).

Was tun, wenn ich strikte json_schema-Strukturausgabe benötige?
Der Upstream listet keinen Modus response_format: json_schema auf. In unseren Tests erzeugte der JSON-Modus json_object auf allen drei APIs gültiges JSON. Für strikte Schemata betten Sie das JSON-Schema in den Prompt ein und validieren clientseitig.

Ist coding-glm-5.3 die Produktionsversion?
Derzeit handelt es sich um eine zeitlich begrenzte Vorschau-Route (die Modell-API-Dokumentation von Z.ai kennzeichnet die offizielle API als „demnächst verfügbar“). AIHubMix wird die Informationen aktualisieren, sobald die kommerzielle API veröffentlicht wird. Aktuelle Preise und den Status finden Sie auf der Modellseite.


Preise und den Echtzeitstatus finden Sie auf der GLM-5.3-Modellseite; weitere Modelle finden Sie in der Modellgalerie.

Ein Gateway zu mehreren KI-Anbietern. Gebaut für den Produktiveinsatz.

AIHubMix besuchen