Motivación
- En las notas de lanzamiento de Claude Opus 4.7, la parte que más llamó la atención fue la de 'aumento en el uso de tokens'.
- Ahora que vivimos en una época en la que, si tienes suficientes tokens y tiempo, puedes hacer muchísimas más cosas, la eficiencia de tokens sigue siendo un tema importante.
- Desde alrededor de marzo, la comunidad se incendió porque Claude Code redujo discretamente el TTL del caché de 1 hora → 5 minutos.
- Al medirlo con Opus 4.7, surgió el análisis de que consume casi 1.5 veces más tokens que 4.6.
- También existe un repositorio de investigación sobre la eficiencia del caché de Claude Code.
- Me surgió la duda: "¿Habrá alguna manera de mejorar la eficiencia de tokens cambiando valores de configuración en Claude Code y Codex?". Al analizar la documentación oficial de Claude Code (configuración/variables de entorno/IDE), la documentación oficial de Codex (configuración/variables de entorno/MCP), y el código fuente de Codex, obtuve resultados significativos.
- Además del modo interactivo que uso normalmente, también descubrí muchas formas de mejorar la eficiencia de tokens, la velocidad de arranque y la estabilidad en modo no interactivo y programable.
Prompt para analizar mi estado
Sin rodeos, aquí va un prompt para quienes quieran revisar cómo está configurado su agente de codificación:
https://gist.github.com/spilist/c468cbf1ed0ffc91100f813aabdcd520/… 를 읽고 그대로 실행해줘
Qué es lo que realmente consume tokens
En un agente de codificación, normalmente hay tres rutas por las que se fugan tokens:
- Texto adicional que se adjunta automáticamente en cada sesión o en cada turno
- Salidas demasiado largas de llamadas a herramientas que quedan en el historial de conversación
- Llamadas adicionales causadas por conexiones externas, como búsqueda, conectores o integración con IDE
Presento las palancas con las que se pueden reducir esos 3 puntos en Claude Code y Codex. (Se omiten cosas básicas como desactivar servidores MCP/plugins que no uses, ajustar el modelo y el nivel de razonamiento, etc.)
- En el blog dejé explicado en detalle qué hace cada configuración y cuáles son sus trade-offs.
Claude Code (última versión verificada: 2.1.114)
-
includeGitInstructions: false
-
autoConnectIde: false
-
CLAUDE_CODE_GLOB_NO_IGNORE=false
-
Configurar un límite superior de salida (BASH_MAX_OUTPUT_LENGTH, CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS, MAX_MCP_OUTPUT_TOKENS)
-
Variables de entorno y flags para tareas cortas y simples, o para modo no interactivo
ENABLE_CLAUDEAI_MCP_SERVERS=false: desactivar servidores MCPCLAUDE_CODE_DISABLE_AUTO_MEMORY=1: evitar que se carguen memorias guardadas automáticamenteCLAUDE_CODE_DISABLE_CLAUDE_MDS=1: ignorarCLAUDE.mdglobal y del proyectoCLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS=1: excluir del prompt del sistema los subagentes integrados y las definiciones de skills--tools: activar selectivamente herramientas nativas. Si usas--tools "", se desactivan todas. En workers que realmente solo usan la inteligencia del modelo, está bien apagar todo; pero si quieres pedir tareas simples en modo interactivo, si desactivas todo directamente no podrá trabajar, así que conviene habilitar solo lo necesario, como"Bash,Edit,Glob,Grep,Read,Write"--strict-mcp-config: usar solo la configuración MCP especificada por CLI e ignorar la configuración MCP global. Así puedes inyectar limpiamente solo los conectores necesarios por worker.--disable-slash-commands: las definiciones de comandos con slash como/help,/clearse eliminan del prompt del sistema--no-session-persistence: no usa la ruta de guardado/reanudación de sesiones, así que desaparece el rastro de ejecuciones de una sola vez--exclude-dynamic-system-prompt-sections: excluye secciones que cambian según la máquina o el entorno para aumentar la tasa de reutilización del caché de prompts--system-prompt: yendo más lejos, incluso puedes reemplazar por completo el prompt del sistema de Claude
-
Vaciar attribution
Codex CLI (última versión verificada: 0.121.0 + el código fuente de Codex en Github de esa versión)
- Desactivar los MCP (apps/conectores) conectados a ChatGPT (features.apps = false)
- web_search = "disabled"
- Configurar un límite superior de salida (tool_output_token_limit)
- Flags para que funcione bien en modo no interactivo
--profile: permite agrupar configuraciones específicas (web_search = "disabled",tool_output_token_limit = 2000, etc.) y aplicarlas selectivamente--json+--output-last-message FILE: facilita el parsing/extracción en pipelines y reduce el reconsumo de tokens en etapas de posprocesamiento--sandbox read-only: en automatizaciones que solo requieren lectura, bloquea intentos accidentales de escritura → bucles de reintento → desperdicio de tokens--skip-git-repo-check: permite ejecutar aunque no sea un directorio de confianza--ephemeral: no guarda archivos de sesión en disco--color never: hace más limpia la salida por pipe
- Vaciar attribution
Cierre
Verifiqué los hechos con cuidado, pero por supuesto puede haber partes incorrectas. Les agradecería mucho que me avisaran con confianza si encuentran algo.
5 comentarios
Gracias.
Parece un artículo que puede servir como muy buena referencia. Si en el texto el enfoque es cerrar la válvula de los "tokens de entrada",
yo me he encontrado muchas veces con casos donde el problema es que simplemente hay demasiadas "cosas registradas", así que hice una herramienta llamada claude-slim.
Es un CLI que escanea, clasifica y organiza situaciones como que de 60 skills no se use ni la mitad una sola vez, o que
CLAUDE.mdse vuelva demasiado grande por los plugins. El conteo de tokens está basado en js-tiktoken,y en lugar de eliminar, mueve los elementos a
skills.disabled/para que se puedan restaurar en cualquier momento.https://github.com/iops-leo/claude-slim
Creo que complementa exactamente la dirección de las configuraciones del artículo, así que sería bueno usarlos en paralelo.
¡Oh, gracias por compartirlo!
Gracias por compartir esta buena información. En realidad, siento que el uso de tokens en sí ya se ha reducido demasiado, así que ojalá lo aumentaran en Claude. Como el arnés se queda corriendo y se corta a la mitad...
Gracias. Como Claude también consume muchos tokens y su trabajo me deja algo menos satisfecho en comparación con Codex, últimamente estoy trabajando más con Codex.