Kurzantwort
max_tokens begrenzt, wie viele Tokens das Modell in einer Antwort generieren kann. Unterschiedliche APIs und Modelle verwenden unterschiedliche Feldnamen, erforderliche Einstellungen und Standardverhalten.
Setze für stabile Ausgaben ein explizites Ausgabe-Limit bei langen Antworten, Codegenerierung und Dokumentationsaufgaben. Bei Claude-/Anthropic-kompatiblen API-Aufrufen musst du normalerweise max_tokens explizit senden.
Grundlegende Konzepte
Wenn das Ausgabe-Limit zu klein ist, kann die Antwort abgeschnitten werden. Wenn es sehr groß ist, generiert das Modell nicht immer so viele Tokens, doch Aufgaben mit langen Ausgaben können mehr kosten.
Unterschiedliche Parameternamen
Wenn du Codex CLI oder ein anderes Tool auf Basis der Responses API verwendest, folge dem Feld, das dieses Tool oder dieser Provider aktuell unterstützt. Codiere nicht für jedes Modell denselben Parameternamen fest ein.
Was passiert, wenn du es nicht setzt
Das Verhalten unterscheidet sich je nach Provider und API:
Der gleiche Code kann nach einem Modellwechsel unterschiedliche Ausgabelängen erzeugen. Setze ein explizites Ausgabe-Limit, um Überraschungen in der Produktion zu reduzieren.
Empfohlene Bereiche
Prüfe die model plaza und Upstream-Modelldokumentation auf das tatsächliche Maximum. Ausgabe-Limits von Modellen können sich je nach Version ändern.
Was tun, wenn die Ausgabe abgeschnitten wird
Wenn die Antwortfinish_reason: "length" enthält, hat das Modell normalerweise das Ausgabe-Limit erreicht.
Führe die Fehlerbehebung in dieser Reihenfolge durch:
- Erhöhe das von der aktuellen API unterstützte Ausgabe-Limit-Feld.
- Prüfe, ob du den richtigen Parameternamen verwendet hast.
- Formuliere den Prompt fokussierter, um unnötige Ausgabe zu reduzieren.
- Verwende ein Modell mit größerem Ausgabefenster.
- Teile die Aufgabe in mehrere Schritte auf.
Häufige Fehler
- Annehmen, dass ein größerer
max_tokens-Wert das Modell immer mehr schreiben lässt. - Nach Abschneiden erneut versuchen, ohne
finish_reasonzu prüfen. - Mit einem Reasoning-Modell einen alten Feldnamen verwenden.
- Verdeckte Reasoning-Tokens bei der Schätzung von Kontext und Kosten ignorieren.
- Das eigene maximale Ausgabe-Limit des Modells ignorieren.

