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-IDcoding-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:
thinking.typeunterstütztdisablednicht mehr. Denken kann also nicht mehr ausgeschaltet werden. Offizielle Migrationsempfehlung: Anwendungen, die bisher{"type": "disabled"}gesendet haben, sollten auf{"type": "enabled"}umstellen undreasoning_effortauf"low"setzen.reasoning_effortwird 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 empfiehltmaxfür Programmieraufgaben.
Verifiziert: Das Senden vonthinking: {"type": "disabled"}über AIHubMix liefert 200, und das Denken findet trotzdem statt (reasoning_contentwird 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 zureasoning_effort: "low".
Verifiziert: Ungültige Werte fürreasoning_effortliefern ebenfalls 200 ohne Fehler und fallen auf den Standardmaxzurück (gemäß der offiziellen Dokumentation).lowvs.maxzeigt 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_tokenszeigt den Denkverbrauch an: 27 beireasoning_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 ohnereasoning-Parameter) enthält bereits dasreasoning-Element mitsummary_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, nachdemtool_choice: {"type": "none"}gesetzt wurde. Um Tools zu deaktivieren, entfernen Sie den Parametertoolsvollständig oder verwenden Sie stattdessentool_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 eintemperature: 3auß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.



