GLM-5.3 Praktischer Leitfaden: Immer aktives Denken, drei Anstrengungsstufen und die API-Unterstützungsmatrix

AIHubMix7 Min. Lesezeit
GLM-5.3 Praktischer Leitfaden: Immer aktives Denken, drei Anstrengungsstufen und die API-Unterstützungsmatrix

Titel: GLM-5.3 Praktischer Leitfaden: Immer Aktives Denken, Drei Anstrengungsstufen & API-Unterstützungsmatrix

Beschreibung: August 2026 GLM-5.3 Leitfaden: immer aktives Denken mit drei Anstrengungsstufen, Denkzusammenfassungen, parallelen Toolaufrufen, strukturiertem Output und automatischem Caching — mit verifizierten Beispielen für AIHubMix Chat / Responses / Messages.


Dieser Artikel behandelt die wichtigsten API-Änderungen und Nutzungshinweise für GLM-5.3. GLM-5.3 ist das Flaggschiffmodell von Z.ai, das am 14.08.2026 veröffentlicht wurde — es verwendet dasselbe Basismodell wie GLM-5.2, wobei alle Verbesserungen aus dem Nachtraining stammen. Auf AIHubMix ist die Modell-ID coding-glm-5.3 (derzeit ein zeitlich begrenzter Vorschauweg), verfügbar über die Chat Completions, Responses und Claude-kompatiblen Messages APIs. Siehe auch: den offiziellen Z.ai Veröffentlichungsblog.

Die "Verifizierten" Schlussfolgerungen und Beispielantworten in jedem Abschnitt stammen von tatsächlichen Aufrufen, die am 14.08.2026 über die AIHubMix APIs (Chat Completions / Responses / Messages) gemacht wurden.

1. Modell-Spezifikationen auf einen Blick

Artikel Wert
Kontextfenster 1M Tokens (offizieller exakter Wert: 1.048.576)
Max. Ausgabe 128K (max_tokens verifiziertes Limit: 131.072 — Überschreitung führt zu 400)
Eingabemodalitäten Text
Denken Immer aktiv, kann nicht deaktiviert werden; reasoning_effort hat drei Stufen — low / high / max, Standard max
Beziehung zu GLM-5.2 Dasselbe Basismodell, aufgerüstet durch Nachtraining: viel stärkere Codierungs- und Langzeitaufgabenleistung sowie aufkommende Cyberfähigkeiten
AIHubMix Modell-ID coding-glm-5.3 (zeitlich begrenzter Vorschauweg; wir werden nachfassen, sobald die offizielle kommerzielle API gestartet wird)
Verifiziert: max_tokens: 999999 führt zu 400 mit dem gültigen Bereich, der im Fehlertext angegeben ist — das Limit ist tatsächlich validiert, 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

Artikel GLM-5.2 GLM-5.3
Basismodell Identisch zu 5.2 (alle Gewinne stammen aus dem Nachtraining)
thinking.type enabled / disabled — kann deaktiviert werden enabled nur — kann nicht deaktiviert werden
reasoning_effort 7-Wert-Kompatibilitätszuordnung (effektive Stufen: max/high) Drei Stufen low / high / max, Standard max
Positionierung Allzweck-Flaggschiff Gestärkt für Codierungs- und Langzeitagentenaufgaben, mit aufkommenden Cyberfähigkeiten

Dies sind die zwei wichtigsten API-Änderungen in GLM-5.3 im Vergleich zu GLM-5.2:

  1. thinking.type unterstützt nicht mehr disabled — Denken kann nicht deaktiviert werden. Offizielle Migrationsanweisung: Anwendungen, die früher {"type": "disabled"} gesendet haben, sollten auf {"type": "enabled"} umschalten und reasoning_effort auf "low" setzen.
  2. reasoning_effort verengt sich auf drei Stufen: low (leicht) / high (verbessert) / max (tief, der Standard). Die 7-Wert-Kompatibilitätszuordnung aus der GLM-5.2-Ära gilt nicht mehr; Z.ai empfiehlt max für Codierungsaufgaben.
Verifiziert: das Senden von thinking: {"type": "disabled"} über AIHubMix führt zu 200 und Denken geschieht weiterhin (reasoning_content wird wie gewohnt zurückgegeben) — der Wert wird automatisch gemäß den offiziellen Kanalsemantiken umgewandelt, anstatt abgelehnt zu werden. Wenn Ihr Client auf "Denken deaktivieren, um Tokens zu sparen" angewiesen war, wechseln Sie zu reasoning_effort: "low".

Verifiziert: Werte außerhalb der Enumeration für reasoning_effort führen ebenfalls zu 200 ohne einen Fehler (fallen auf den Standard max gemäß den offiziellen Dokumenten zurück); low vs max zeigt den erwarteten Trend des leichteren Denkens (27 vs 39 Denk-Tokens bei derselben arithmetischen Frage).

Chat Completions

Denken-Inhalte werden im reasoning_content-Feld zurückgegeben; im 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, Standard max
    extra_body={"thinking": {"type": "enabled"}},
    messages=[
        {"role": "user", "content": "Berechne die Quadratwurzel von (17*23-19*11), abgerundet. Nur Ziffern."}
    ],
)

print(completion.choices[0].message.reasoning_content)
print(completion.choices[0].message.content)   # Beobachtet: "13"
Verifiziert: usage.completion_tokens_details.reasoning_tokens berichtet über die Nutzung des Denkens — 27 mit reasoning_effort="low", 39 mit "max" bei derselben Frage.

Responses

Denken-Inhalte kommen als reasoning Ausgabeobjekt zurück, mit dem Text im summary Array als 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="Was ist die Hauptstadt von Frankreich? Nur Stadtname.",
)

# Beobachtete response.output Objekttypen: ["reasoning", "message"]
# reasoning-Objekt: {"type": "reasoning", "summary": [{"type": "summary_text", "text": "Der Benutzer fragt..."}]}
# usage.output_tokens_details.reasoning_tokens: 80
Verifiziert: die Standardanfrage (kein reasoning Parameter) enthält bereits das reasoning Objekt mit summary_text — keine explizite Opt-in erforderlich.

Messages

Denken-Inhalte 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": "Was ist die Hauptstadt von Frankreich? Nur Stadtname."}
    ],
)

# Beobachtete response.content Blocktypen: ["thinking", "text"]
Verifiziert: Denkblöcke werden standardmäßig zurückgegeben; thinking: {"type": "disabled"} in dieser API führt ebenfalls zu 200, wobei das Denken weiterhin geschieht (entsprechend den offiziellen "deaktiviert wird zu niedrig, Anfrage geht weiter" Kanalsemantiken).

3. Toolaufrufe und parallele Tools

Funktionsaufrufe wurden auf allen drei APIs verifiziert; bei der Responses API haben wir auch parallele Toolaufrufe innerhalb eines einzelnen Durchgangs beobachtet (Z.ai erklärt ausdrücklich supports_parallel_tool_calls: true für GLM-5.3). Obergrenzen: 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": "Wie ist das Wetter heute in Peking?"}],
    tools=[{
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Wetter für eine Stadt abrufen",
            "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
        },
    }],
)

# Beobachtet: finish_reason "tool_calls", mit einem get_weather Aufruf in tool_calls
Verifiziert: tool_choice: "none" funktioniert — dieselbe Wetterfrage gibt einfachen Text ohne Toolaufruf zurück.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="Überprüfen Sie das Wetter heute in Shanghai und Peking",
    parallel_tool_calls=True,
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Wetter für eine Stadt abrufen",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
)

# Beobachtet: ein einzelner Durchgang gibt 2 parallele function_call Ausgabeobjekte zurück (eines für jede Stadt)
Verifiziert: 2 parallele Toolaufrufe in einem Durchgang, die der offiziellen Erklärung supports_parallel_tool_calls: true entsprechen.

Messages

response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    tools=[{
        "name": "get_weather",
        "description": "Wetter für eine Stadt abrufen",
        "input_schema": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    }],
    messages=[{"role": "user", "content": "Wie ist das Wetter heute in Peking?"}],
)

# Beobachtet: stop_reason "tool_use"; der Inhalt enthält einen tool_use Block
Verifiziert: in dieser API produziert das Modell immer noch Toolaufrufe nach tool_choice: {"type": "none"} — um Tools zu deaktivieren, entfernen Sie den tools Parameter vollständig oder verwenden Sie tool_choice: "none" in der Chat Completions API stattdessen.

4. Strukturierter Output

response_format unterstützt text und json_object; die upstream listet keinen json_schema Modus. Wenn Sie eine strikte Schema-Konformität benötigen, betten Sie das JSON-Schema in die Eingabeaufforderung ein und validieren Sie es clientseitig.

Chat Completions

completion = client.chat.completions.create(
    model="coding-glm-5.3",
    messages=[
        {"role": "user", "content": "Was ist die Hauptstadt von Frankreich? Antwort im JSON mit dem Schlüssel \"answer\"."}
    ],
    response_format={"type": "json_object"},
)

# Beobachteter Antwortinhalt: {"answer": "Paris"}
Verifiziert: die Ausgabe ist gültiges JSON, das den angeforderten Schlüssel enthält.

Responses

response = client.responses.create(
    model="coding-glm-5.3",
    input="Was ist die Hauptstadt von Frankreich? Antwort im JSON mit dem Schlüssel \"answer\".",
    text={"format": {"type": "json_object"}},
)

# Beobachtete Ausgabetext: {"answer": "Paris"}

Messages

# Geben Sie die JSON-Struktur in der Eingabeaufforderung an; beobachtete Ausgabe ist gültiges JSON
response = client.messages.create(
    model="coding-glm-5.3",
    max_tokens=4096,
    messages=[
        {"role": "user", "content": "Was ist die Hauptstadt von Frankreich? Antwort im JSON mit dem Schlüssel \"answer\"."}
    ],
)

# Beobachtete Antworttext: {"answer": "Paris"}

5. Kontext-Caching ist automatisch

Implizites Caching ist standardmäßig aktiviert, ohne Parameter zu übergeben; wiederholte lange Präfixe berichten über Cache-Treffer in der Nutzung (der Feldname variiert je nach API).

Chat Completions

# Nutzung des zweiten Aufrufs mit einem identischen langen Präfix
"prompt_tokens_details": {"cached_tokens": 960}
Verifiziert: der zweite von zwei aufeinanderfolgenden Aufrufen traf 960 zwischengespeicherte Tokens.

Responses

# Nutzung des zweiten Aufrufs mit einem identischen langen Präfix
"input_tokens_details": {"cached_tokens": 960}

Messages

# Treffer werden über usage.cache_read_input_tokens berichtet
"cache_read_input_tokens": 0
Verifiziert: wir haben in dieser Runde keinen Cache-Treffer in dieser API reproduziert (Caches erwärmen sich pro Kanal; ein Lastenausgleichswechsel kann einen Treffer verursachen). Das Trefferabrechnungsfeld folgt den Anthropic-Semantiken.

6. Sampling und Parametervalidierung

Sampling folgt den Endpunktkonventionen der GLM-Familie: temperature Bereich [0, 1] mit Standard 1.0 (Hinweis — enger als der OpenAI-Protokollbereich [0, 2]); top_p Bereich [0.01, 1] mit Standard 0.95. Z.ai empfiehlt, nur eines der beiden zu optimieren.

Verifiziert: die Parametervalidierung unterscheidet sich zwischen den APIs — die Messages API lehnt einen außerhalb des Bereichs liegenden temperature: 3 mit einem 400 ab, der den gültigen Bereich [0,1] angibt, während Chat Completions / Responses denselben außerhalb des Bereichs liegenden Wert stillschweigend mit 200 akzeptieren. Bei der Migration zwischen APIs verlassen Sie sich nicht darauf, dass das Gateway außerhalb des Bereichs liegende Sampling-Werte für Sie erfasst.
# Messages API mit temperature=3 -> HTTP 400
"temperature parameter invalid: value must be within [0,1]"

7. Fähigkeit × API-Unterstützungsmatrix

Jede Zelle unten wurde mit echten Aufrufen über die AIHubMix Live-APIs am 14.08.2026 verifiziert; die Zellen zeigen die Parameter-/Feldschreibung für jede API.

Fähigkeit Chat Completions Responses Messages
Grundlegende Generierung / Streaming
Denken-Inhalte reasoning_content Feld reasoning Ausgabeobjekt (summary_text) thinking Inhaltsblock
Denkintensität reasoning_effort (low/high/max, Standard max) ✅ dasselbe wie links ✅ akzeptiert mit 200
Denken deaktivieren ❗ Nicht möglich: disabled gibt 200 zurück und das Denken geht weiter (konvertierte zu niedrigen Semantiken) ➖ kein Umschaltparameter ❗ dasselbe wie Chat
Funktionsaufrufe
Parallele Toolaufrufe ✅ 2 function_call Objekte in einem Durchgang
Toolaufrufe deaktivieren tool_choice: "none" funktioniert ✅ 200 (keine Aufrufe beobachtet) ❗ Aufrufe wurden weiterhin nach {"type": "none"} produziert
Strukturierter Output (JSON-Modus) response_format: json_object text.format: json_object ✅ über Eingabeaufforderungskonvention
json_schema strikter Modus ❗ nicht upstream gelistet — betten Sie das Schema in die Eingabeaufforderung ein ❗ dasselbe wie links ❗ dasselbe wie links
Automatische Cache-Abrechnung usage.prompt_tokens_details.cached_tokens usage.input_tokens_details.cached_tokens ✅ Feld vorhanden (kein Treffer in dieser Runde reproduziert)
Max-Ausgabevalidierung ✅ 400 mit Bereich [1,131072]
Validierung von Sampling außerhalb des Bereichs ❗ stillschweigende 200 ❗ stillschweigende 200 ✅ 400 mit Bereich [0,1]

FAQ

Was ist die GLM-5.3 Modell-ID auf AIHubMix? Brauche ich die [1m] Endung?
Die Modell-ID ist coding-glm-5.3 — verwenden Sie sie so, wie sie ist. glm-5.3[1m] ist Z.ai's Modellnamen-Syntax für den Claude Code-Client und hat nichts mit AIHubMix-Aufrufen zu tun; keine der drei APIs benötigt eine Endung.

Kann ich das Denken ausschalten?
Nein. Das Denken von GLM-5.3 ist immer aktiv und thinking.type unterstützt nur enabled; in unseren Tests führt das Senden von disabled zu 200, wobei das Denken weiterhin geschieht (konvertiert auf die low Stufe gemäß den offiziellen Semantiken). Um Denk-Tokens zu sparen, senden Sie reasoning_effort: "low".

Wie steht GLM-5.3 zu GLM-5.2?
Dasselbe Basismodell — alle Gewinne stammen aus dem Nachtraining (offizielle Formulierung: "Es verwendet dasselbe Basismodell wie GLM-5.2 — jeder Gewinn stammt aus dem Nachtraining"). Zwei harte API-Änderungen: Denken kann nicht mehr deaktiviert werden, und reasoning_effort verengt sich auf drei Stufen low/high/max (Standard max).

Was ist, wenn ich strikten json_schema strukturierten Output benötige?
Die upstream listet keinen response_format: json_schema Modus. In unseren Tests produzierte der json_object JSON-Modus gültiges JSON auf allen drei APIs; für strikte Schemata betten Sie das JSON-Schema in die Eingabeaufforderung ein und validieren Sie es clientseitig.

Ist coding-glm-5.3 die Produktionsversion?
Es ist derzeit ein zeitlich begrenzter Vorschauweg (Z.ai's Modell-API-Dokumente kennzeichnen die offizielle API als "demnächst"); AIHubMix wird nachfassen, sobald die kommerzielle API veröffentlicht wird. Siehe die Modellseite für aktuelle Preise und Status.


Für Preise und Echtzeitstatus siehe die GLM-5.3 Modellseite; für weitere Modelle besuchen Sie die Modellgalerie.