Anlass
- In den Release Notes zu Claude Opus 4.7 fiel vor allem der Abschnitt zum „gestiegenen Token-Verbrauch“ auf.
- In einer Zeit, in der man mit ausreichend Tokens und Zeit sehr viel mehr tun kann, bleibt Token-Effizienz weiterhin ein wichtiges Thema.
- Seit etwa März kochte in der Community die Diskussion darüber hoch, dass Claude Code die Caching-TTL stillschweigend von 1 Stunde auf 5 Minuten verkürzt hat.
- Eine Messung mit Opus 4.7 ergab, dass nahezu 1,5-mal so viele Tokens wie bei 4.6 verbraucht werden.
- Es gibt auch ein Research-Repository zur Caching-Effizienz von Claude Code.
- Daraus entstand die Frage: „Kann man die Token-Effizienz verbessern, indem man Konfigurationswerte in Claude Code und Codex ändert?“ Nach Analyse der offiziellen Claude-Code-Dokumentation (Einstellungen/Umgebungsvariablen/IDE), der offiziellen Codex-Dokumentation (Einstellungen/Umgebungsvariablen/MCP) und des Codex-Quellcodes kamen dabei aussagekräftige Ergebnisse heraus.
- Dabei habe ich nicht nur für den üblichen interaktiven Modus, sondern auch für den programmatischen nicht-interaktiven Modus viele Wege gefunden, um Token-Effizienz, Startgeschwindigkeit und Stabilität zu verbessern.
Prompt zur Analyse meiner aktuellen Situation
Ohne Umschweife: Hier ist ein Prompt für alle, die prüfen möchten, wie ihre Coding-Agent-Konfiguration aktuell aussieht.
https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘
Was tatsächlich Tokens frisst
Bei Coding Agents gibt es im Wesentlichen drei Wege, über die Tokens verloren gehen.
- Zusätzlicher Text, der bei jeder Sitzung oder jedem Turn automatisch angehängt wird
- Zu lange Tool-Call-Ausgaben, die im Gesprächsverlauf verbleiben
- Zusätzliche Aufrufe durch externe Verbindungen wie Suche, Connectoren oder IDE-Integrationen
Im Folgenden werden die Hebel vorgestellt, mit denen sich diese drei Punkte in Claude Code und Codex reduzieren lassen. (Grundlegende Dinge wie das Deaktivieren ungenutzter MCP-Server/Plugins oder das Anpassen von Modell und Reasoning-Level werden ausgelassen.)
- Erläuterungen zu den einzelnen Einstellungen und den jeweiligen Trade-offs sind im Blog ausführlich beschrieben.
Claude Code (zuletzt geprüft: Version 2.1.114)
-
includeGitInstructions: false
-
autoConnectIde: false
-
CLAUDE_CODE_GLOB_NO_IGNORE=false
-
Ausgabelimits festlegen (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)
-
Umgebungsvariablen und Flags für kurze, einfache Aufgaben oder den nicht-interaktiven Modus
ENABLE_CLAUDEAI_MCP_SERVERS=false: MCP-Server deaktivierenCLAUDE_CODE_DISABLE_AUTO_MEMORY=1: verhindert das Laden automatisch gespeicherter MemoriesCLAUDE_CODE_DISABLE_CLAUDE_MDS=1: ignoriert globale/projektbezogeneCLAUDE.mdCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: entfernt eingebaute Sub-Agents und Skill-Definitionen aus dem System Prompt--tools: native Tools selektiv aktivieren. Mit--tools ""werden alle deaktiviert. Bei Workern, die wirklich nur die Intelligenz des Modells nutzen, kann man alles abschalten. Für einfache Aufgaben im interaktiven Modus funktioniert dann allerdings gar nichts mehr, daher sollte man nur das Nötige aktivieren, z. B."Bash,Edit,Glob,Grep,Read,Write"--strict-mcp-config: verwendet nur per CLI explizit angegebene MCP-Einstellungen und ignoriert globale MCP-Konfigurationen. So lassen sich pro Worker nur die wirklich benötigten Connectoren sauber injizieren.--disable-slash-commands: entfernt Slash-Command-Definitionen wie/helpoder/clearaus dem System Prompt--no-session-persistence: nutzt keine Pfade zum Speichern/Fortsetzen von Sitzungen, sodass keine Spuren einmaliger Ausführungen bleiben--exclude-dynamic-system-prompt-sections: lässt maschinen- oder umgebungsspezifische Abschnitte weg und erhöht dadurch die Wiederverwendungsrate des Prompt-Caches--system-prompt: im Extremfall kann man den Claude-System-Prompt komplett ersetzen
-
attribution leeren
Codex CLI (zuletzt geprüft: Version 0.121.0 + zugehöriger Codex-Github-Quellcode)
- Mit ChatGPT verbundene MCPs (Apps/Connectoren) deaktivieren (
features.apps = false) - web_search = "disabled"
- Ausgabelimits festlegen (
tool_output_token_limit) - Flags für einen stabilen nicht-interaktiven Modus
--profile: bestimmte Einstellungen (web_search = "disabled",tool_output_token_limit = 2000usw.) bündeln und gezielt anwenden--json+--output-last-message FILE: erleichtert Parsen/Extrahieren in Pipelines und reduziert so erneuten Token-Verbrauch in nachgelagerten Verarbeitungsschritten--sandbox read-only: verhindert bei Automatisierungen, die nur Lesezugriff brauchen, unbeabsichtigte Schreibversuche → Retry-Loops → Token-Verschwendung--skip-git-repo-check: ermöglicht die Ausführung auch außerhalb vertrauenswürdiger Verzeichnisse--ephemeral: speichert keine Sitzungsdateien auf der Festplatte--color never: sorgt für saubere Pipe-Ausgaben
- attribution leeren
Zum Schluss
Ich habe sorgfältig auf Fakten geprüft, aber natürlich kann es trotzdem Fehler geben. Hinweise dazu nehme ich jederzeit dankbar an.
5 Kommentare
Vielen Dank.
Das scheint ein guter Referenzartikel zu sein. Wenn der Ansatz im Haupttext darin besteht, das Ventil für die „eingehenden Tokens“ zu schließen,
hatte ich dagegen oft Fälle, in denen eher „das bereits Registrierte selbst“ zu viel wurde, weshalb ich ein Tool namens
claude-slimgebaut habe.Es ist eine CLI, die Situationen scannt, klassifiziert und aufräumt, in denen zum Beispiel von 60 Skills die Hälfte nie verwendet wird oder
CLAUDE.mddurch Plugins aufgebläht ist. Das Token-Counting basiert aufjs-tiktoken,und statt Dinge zu löschen, verschiebt es sie nach
skills.disabled/, sodass sie jederzeit wiederhergestellt werden können.https://github.com/iops-leo/claude-slim
Die Einstellungen im Haupttext und die Stoßrichtung davon ergänzen sich aus meiner Sicht genau, daher wäre es gut, beides parallel zu nutzen.
Oh, danke fürs Teilen!
Vielen Dank fürs Teilen der hilfreichen Informationen. Grundsätzlich habe ich das Gefühl, dass der Tokenverbrauch selbst schon deutlich geringer geworden ist, daher wäre es schön, wenn Claude ihn wieder erhöhen würde. Da der Harness zwischendurch abbricht ...
Danke. Der Token-Verbrauch von Claude ist auch hoch, und mit der Arbeit bin ich im Vergleich zu Codex etwas unzufrieden, daher arbeite ich in letzter Zeit häufiger mit Codex.