Zum Hauptinhalt springen
Lektion 10 von 12 · Grok Reasoning-Modelle

max_completion_tokens und Token-Budget

Lektion 10 von 12 Aktualisiert am 3. November 2026 Entwickler
Auf dieser Seite
  1. Was das Limit tatsächlich begrenzt
  2. Reasoning steuern: Aufwand, nicht das Limit
  3. Dimensionierung des Ausgabelimits
  4. Erkennung von Abkürzungen
  5. Nicht mit dem Kontextlimit verwechseln
  6. Kernaussagen

Lektion am 3. November 2026 neu überarbeitet basierend auf der xAI API-Referenz (Chat Completions und Responses), dem Reasoning-Guide und den xAI-Best Practices: max_completion_tokens und max_output_tokens begrenzen ausschließlich die sichtbare Antwort – Reasoning-Tokens und Function-Call-Tokens werden nicht auf dieses Limit angerechnet – und liegen standardmäßig bei 128.000. Die vorherige Version behauptete das Gegenteil und bemess das Limit nach dem Reasoning; zudem wurde für grok-4.20-0309-reasoning ein Aufwand (effort) festgelegt, den dieses Modell nicht akzeptiert. Quellen: Chat Completions · Responses · Reasoning.

Was das Limit tatsächlich begrenzt

Bei einem Reasoning-Modell könnte man annehmen, dass das Ausgabe-Limit das Budget für Gedanken und Antwort gemeinsam teilt. Das ist bei xAI nicht der Fall. Die API-Referenz ist explizit: max_completion_tokens (Chat Completions) und max_output_tokens (Responses API) gelten ausschließlich für sichtbare Ausgabetokens. Reasoning-Tokens und Function-Call-Tokens werden nicht angerechnet.

max_completion_tokens → nur sichtbare Antwort
Reasoning-Tokens → außerhalb des Limits, gesteuert durch Aufwand (effort)

Fehlt ein Wert, liegt dieses Limit standardmäßig bei 128.000 Tokens. Bezüglich des alten max_tokens gilt: Es wurde zugunsten von max_completion_tokens eingestellt (deprecated).

Reasoning steuern: Aufwand, nicht das Limit

Da das Limit das Reasoning nicht berührt, regelt der Aufwand die Menge. Bei grok-4.7, grok-4.6 und grok-4.5 ist der Parameter in Chat Completions reasoning_effort und in der Responses API reasoning.effort. Der Standardwert ist high, es werden low und medium akzeptiert, und ab Grok 4.6 auch xhigh. Reasoning kann nicht deaktiviert werden.

grok-4.20-0309-reasoning nimmt diesen Parameter nicht an: Es reasoniert immer, und seine Variante grok-4.20-0309-non-reasoning antwortet ohne Reasoning. Bei grok-4.20-multi-agent stellt der Aufwand schließlich nicht die Tiefe des Reasonings ein, sondern die Anzahl der mobilisierten Agenten (4 oder 16).

response = client.chat.completions.create(
    model="grok-4.7",
    reasoning_effort="low",  # einfache Aufgabe: wenig Reasoning
    messages=[{"role": "user", "content": "Klassifizieren Sie diesen Ticket: Abrechnung, Zugriff oder Fehler?"}],
)
print(response.usage.completion_tokens_details.reasoning_tokens)

Die Anzahl der Reasoning-Tokens erscheint in der Antwortnutzung: usage.completion_tokens_details.reasoning_tokens bei Chat Completions und usage.output_tokens_details.reasoning_tokens bei der Responses API. Sie zählen zu den abgerechneten Tokens: Daher ist es der Aufwand, nicht das Ausgabelimit, das diese Position in der Abrechnung belastet.

Dimensionierung des Ausgabelimits

Das Limit dient lediglich dazu, die Länge der Antwort selbst zu begrenzen. Die xAI-Best Practices geben eine einfache Regel vor: Stellen Sie es über die längste erwartete Antwort oder lassen Sie den Standardwert von 128.000 Tokens. Ein zu enges Limit kürzt die sichtbare Antwort ab, unabhängig vom Reasoning-Aufwand.

Erwartete AntwortAngemessenes Ausgabelimit
Ein Label, eine Zahlein paar Dutzend Tokens
Ein Absatz500 bis 1.000 Tokens
Ein strukturierter Berichtmehrere tausend Tokens
Keine genaue Vorstellungder Standardwert

Erkennung von Abkürzungen

Wenn die sichtbare Antwort das Limit erreicht, gibt Chat Completions "length" in finish_reason zurück statt "stop", und die Responses API gibt einen incomplete-Status zurück. Diese Situation kann erkannt und durch einen höheren Limit-Wert erneut versucht werden:

response = client.chat.completions.create(
    model="grok-4.7",
    messages=[{"role": "user", "content": question}],
    max_completion_tokens=2000,
)

if response.choices[0].finish_reason == "length":
    # Sichtbare Antwort wurde gekürzt: erneut versuchen mit höherem Limit
    response = client.chat.completions.create(
        model="grok-4.7",
        messages=[{"role": "user", "content": question}],
        max_completion_tokens=8000,
    )

Nicht mit dem Kontextlimit verwechseln

Das Ausgabelimit ist unabhängig vom Kontextfenster des Modells – 500.000 Tokens für grok-4.7, 1 Million für grok-4.20-0309-reasoning –, das die gesamte Konversation begrenzt. Und eine tiefgehende Reasoning-Anfrage kann mehrere Minuten dauern: xAI empfiehlt, mindestens 900 Sekunden pro Anfrage vorzusehen und Streaming vorzuziehen.

Kernaussagen

  • max_completion_tokens und max_output_tokens begrenzen ausschließlich die sichtbare Antwort: Reasoning wird nicht auf dieses Limit angerechnet
  • Fehlt ein Wert, liegt das Ausgabelimit standardmäßig bei 128.000 Tokens; max_tokens ist deprecated
  • Die Menge des Reasonings wird durch den Aufwand (reasoning_effort oder reasoning.effort) bei grok-4.5 bis 4.7 eingestellt; grok-4.20-0309-reasoning verfügt nicht über diese Option
  • Reasoning-Tokens erscheinen in der Nutzung und zählen zur Abrechnung
  • Eine gekürzte Antwort wird durch finish_reason: "length" oder den incomplete-Status erkannt