Por qué Claude Code vuelve a leer todo el proyecto y cómo solucionarlo
MarkdownClaude Code no indexa el código y vuelve a leer el proyecto desde cero, lo que consume tokens. Descubre cómo darle memoria persistente del código mediante MCP y reducir el consumo.
Leer el artículo completo
Punto clave
Claude Code no mantiene un índice de tu código. En cada sesión, vuelve a explorar el proyecto y lee los archivos desde cero, por lo que se gastan tokens en reconocimiento en lugar de en el trabajo. Puedes solucionarlo con una memoria de código: instala un servidor de índices a través de MCP y Claude podrá usar un mapa del proyecto ya preparado en vez de volver a leerlo entero.
Documentación de Ailoot: API, claves y conexión.
¿Por qué Claude Code vuelve a leer el proyecto desde cero cada vez?
Punto clave
Claude Code no tiene un índice de código integrado. Explora el proyecto con tres herramientas: busca archivos por patrón, busca cadenas en el texto y lee archivos enteros. Esto se llama búsqueda agéntica: el modelo decide dónde buscar y repite el proceso para cada tarea nueva. No recuerda la sesión anterior, así que cada sesión nueva empieza desde cero.
Mucha gente piensa que es un error. En realidad, Claude Code está diseñado así: no tiene un índice propio del proyecto. Cuando le pides que arregle algo, no dispone de un mapa del código preparado; vuelve a explorar el proyecto: encuentra los archivos pertinentes, busca las cadenas necesarias y carga los archivos en memoria.
Este enfoque tiene ventajas reales. El código siempre está actualizado: no hay un índice que haya quedado obsoleto. No hay nada que configurar. Tu código no se envía a ninguna base de datos.
Pero también tiene una desventaja: cada tarea nueva implica otra ronda de búsqueda y lectura de archivos. Se gastan tokens en volver a averiguar dónde está cada cosa, aunque Claude ya lo hubiera descubierto en la sesión anterior. Cuanto más grande es el proyecto, más cuesta este reconocimiento. Este mecanismo es precisamente lo que puede dar la sensación de que el agente «lo está leyendo todo».
¿Cuántos tokens consume realmente?
Punto clave
Incluso antes de volver a leer el código, Claude Code envía unos 33.000 tokens de datos del sistema en cada solicitud. En una configuración de trabajo real, el total llega a 75.000–85.000 tokens antes de que hayas escrito una sola palabra. Después se suma la relectura de archivos y, según la documentación oficial, leer archivos es lo que más contexto consume.
El coste empieza antes de tu solicitud. Una medición independiente lo muestra con sencillez: Claude Code envía unos 33.000 tokens de prompt del sistema y descripciones de herramientas antes de leer el primer carácter de tu mensaje. Como comparación, OpenCode empieza con unos 7.000.
Después entra en juego la relectura. Cada búsqueda y lectura de archivos añade tokens al contexto. La documentación oficial de Claude Code lo dice claramente: leer archivos domina el uso del contexto. Analizar auth.ts, que tiene 2.400 tokens, significa que Claude ha visto esos 2.400 tokens solo en ese archivo; lo mismo ocurre con cada archivo que abre durante el reconocimiento.
Para nuestro público, esto se traduce en dinero y límites. El mayor temor de quienes empiezan con el vibe coding es: «He pagado y se me han agotado los límites para nada». Si el agente explora el proyecto y vuelve a leer los archivos desde cero en cada tarea, el contexto se consume el doble de rápido: primero por la carga del sistema y luego por el reconocimiento. En la guía «Adónde van los tokens de Claude Code» expliqué en detalle dónde se gastan exactamente: volver a leer el proyecto es uno de los nueve patrones que se describen allí.
¿Qué es la memoria persistente de código?
Punto clave
La memoria de código es un mapa del proyecto ya preparado que el agente puede consultar en lugar de volver a leer los archivos. Una herramienta independiente analiza tu código una vez, crea una estructura de funciones, archivos y conexiones, y la guarda en el disco. Más adelante, cuando preguntas «¿dónde se gestiona el pago?», Claude obtiene la respuesta del mapa en una consulta, en vez de revisar todos los archivos.
La memoria de código resuelve justo la carencia que hace que Claude vuelva a leer el proyecto. La idea es sencilla: que algo analice todo el código una vez, cree un mapa y lo tenga a mano. Así, el agente no necesita buscar desde cero cada vez: consulta el mapa.
Técnicamente, funciona así. Una herramienta independiente analiza el proyecto y lo descompone en componentes: qué funciones y clases existen, quién llama a quién y qué archivos están relacionados. Esta estructura se guarda en el disco. Cuando Claude necesita saber dónde está la lógica de pagos o qué se rompería si se modifica una función, hace una consulta específica al mapa en vez de leer docenas de archivos.
Este mapa se conecta mediante MCP, el método estándar para incorporar una herramienta externa a Claude Code (expliqué cómo conectar otros servidores en la guía «Servidores MCP para Claude Code»). La herramienta de memoria de código añade sus propios comandos para buscar en el mapa y Claude los usa por iniciativa propia cuando necesita orientarse en el proyecto.
En la práctica, la diferencia está entre «leer toda la carpeta para encontrar una función» y «preguntarle al mapa dónde está esa función». Lo primero cuesta decenas de miles de tokens; lo segundo, cientos.
Dos enfoques para la memoria de código: ¿en qué se diferencian?
Punto clave
Hay dos herramientas útiles y ambas son gratuitas bajo la licencia MIT. Serena ofrece al agente navegación por el código como la de un entorno de desarrollo inteligente y es útil para realizar cambios precisos. claude-context busca por significado mediante embeddings, pero requiere una base de datos externa y una clave. La diferencia está en qué recuerda cada una.
Las herramientas de memoria de código se diferencian por lo que construyen a partir de tu proyecto. La forma más sencilla de entenderlas es esta: una le da al agente manos de cirujano para hacer cambios y la otra busca por significado.
| Qué comparamos | Serena | claude-context |
|---|---|---|
| Tipo de memoria | Navegación por el código mediante un motor de entorno de desarrollo | Búsqueda por significado mediante embeddings |
| Qué encuentra | Definiciones, sitios de llamada reales, cambios por símbolo | Código a partir de una descripción: «dónde está la lógica de pagos» |
| Dependencias externas | Gestor de paquetes uv; para TypeScript y JavaScript, también Node 20+ y npm | Base de datos externa + clave + Node 20+ |
| Instalación | Un comando | Comando con tres ajustes |
| Ahorro de tokens | No publica un porcentaje exacto | Alrededor del 40 % con la misma calidad |
| Estrellas en GitHub | 26.468 | 12.138 |
| Ventaja | Refactorización cuidadosa en toda la base de código | Encontrar lo que necesitas sin saber los nombres exactos |
| Desventaja | Menos lenguajes, sin búsqueda por significado | Configuración compleja, requiere un servicio en la nube |
El número de estrellas de GitHub corresponde al 15 de julio de 2026 (según la API de GitHub). Las dos herramientas son gratuitas y de código abierto, funcionan con Claude Code y se conectan como servidores MCP.
En resumen, para quienes no programan: Serena ofrece precisión quirúrgica: úsala cuando modifiques la misma parte por todo el proyecto y la precisión sea importante. claude-context busca por significado: encuentra código a partir de una descripción, pero requiere configurar una base de datos en la nube y usar una clave.
¿Cuándo elegir Serena o claude-context?
Punto clave
Serena es útil cuando importan los cambios precisos: cambiar el nombre de una función en todo el proyecto, sustituir su cuerpo o encontrar todos sus sitios de llamada reales. Usa el mismo motor que los entornos de desarrollo inteligentes y modifica el código según su significado, no mediante coincidencias de texto. Elige claude-context cuando necesites buscar código por descripción y no te importe configurar una base de datos externa y una clave.
Las dos herramientas no compiten por un único premio. Recuerdan cosas distintas, así que la elección depende de la tarea.
Elige Serena si haces mucha refactorización. Le ofrece al agente navegación por el código como la de un entorno de desarrollo inteligente: encuentra la definición de una función y todos sus sitios de llamada reales, y luego cambia cuidadosamente el nombre de la función o sustituye su cuerpo por todo el proyecto. El autor describe así su ventaja.
Un potente conjunto de herramientas de código a través de MCP: búsqueda y edición semánticas, un entorno de desarrollo para tu agente.
Serena no publica un porcentaje exacto de ahorro y no le atribuiré una cifra inventada. Su ventaja es distinta: mientras que una búsqueda normal devuelve cuarenta coincidencias, incluidos comentarios y cadenas, tras lo cual Claude lee cuatro archivos enteros, Serena responde con unas pocas consultas precisas. Eso significa menos llamadas y menos coincidencias falsas y, por tanto, menos riesgo de que el agente edite algo que no debe.
Elige claude-context si necesitas buscar por significado y no te desanima la configuración. Convierte el código en vectores (huellas numéricas del significado) y busca a partir de una descripción: «encuentra dónde está nuestra lógica de pagos», aunque no conozcas los nombres de las funciones. El coste de esta búsqueda es la configuración adicional.
En promedio, claude-context reduce el uso de tokens alrededor del 40 % y mantiene la misma calidad de búsqueda.
claude-context requiere una base de datos vectorial externa, una clave de un proveedor de embeddings y una versión reciente de Node. De las dos herramientas, es la más laboriosa de configurar, así que recomiendo a quienes empiezan que prueben otra primero.
¿Qué puedes hacer directamente en Claude Code sin herramientas de terceros?
Punto clave
Los comandos integrados resuelven la mitad del problema. /context muestra exactamente qué está usando el contexto. /compact comprime el historial, /clear lo restablece antes de una tarea nueva y /doctor encuentra elementos innecesarios y sugiere limpiarlos. Un archivo CLAUDE.md breve, en lugar de uno demasiado largo, ahorra miles de tokens en cada mensaje.
Antes de instalar herramientas de terceros, aprovecha al máximo lo que Claude Code ya incluye. Estos comandos son gratuitos y funcionan nada más empezar.
/context— muestra en tiempo real qué ocupa la ventana: prompt del sistema, CLAUDE.md, memoria, herramientas y archivos. El comando/mcpmuestra el coste de cada servidor conectado, y/memoryindica qué se cargó al iniciar./compact— comprime el historial de la conversación en un resumen breve y continúa con la misma tarea. Puedes orientar el resumen añadiendo a/compactlo que quieres conservar./clear— descarta todo el historial. La recomendación oficial es ejecutarlo al cambiar a una tarea no relacionada, para que la conversación anterior no ocupe el espacio de los archivos que necesitas./doctor(también conocido como/checkup, introducido el 8 de julio de 2026) — diagnostica la configuración y sugiere soluciones: elimina duplicados en CLAUDE.md, encuentra herramientas y servidores sin usar y detecta controladores lentos.
Una nota aparte sobre CLAUDE.md. Este archivo se carga en el contexto al inicio de cada sesión y se incluye en todos los mensajes. Si es demasiado largo, sigues pagando por él. La recomendación oficial es mantenerlo por debajo de 200 líneas y trasladar los detalles de referencia a skills que se cargan cuando hacen falta. En la guía independiente «Cómo configurar CLAUDE.md» expliqué cómo prepararlo correctamente.
Otra herramienta integrada son los subagentes. Tienen su propio contexto independiente, así que puedes delegarles lecturas extensas y tareas de reconocimiento sin llenar tu ventana principal. En su análisis de ingeniería, Anthropic expresa así el principio general.
Trabajar bien con el contexto significa encontrar el conjunto más pequeño posible de tokens con mucha información que produzca el resultado deseado.
¿Un servidor MCP adicional hará que el contexto sea aún mayor?
Punto clave
Es una preocupación razonable, pero no. Desde 2026, Claude Code no carga por defecto en el contexto las descripciones completas de las herramientas MCP: las aplaza y carga solo lo que realmente necesita. Al iniciar, solo se incluyen los nombres en el contexto. Así que un índice de código añade una cantidad insignificante de sobrecarga del sistema y ahorra miles de tokens que, de otro modo, se gastarían en volver a leer archivos.
Antes era cierto que «un servidor más significa más sobrecarga de contexto», pero Claude Code ha cambiado. Ahora las descripciones de las herramientas MCP se aplazan de forma predeterminada: al inicio solo se incluyen en el contexto los nombres de los servidores y las descripciones completas se cargan cuando se necesita una herramienta concreta para la tarea. La documentación lo explica directamente.
La búsqueda de herramientas mantiene bajo el uso del contexto de MCP al aplazar las descripciones hasta que Claude las necesita. Al inicio de la sesión solo se cargan los nombres de las herramientas, así que añadir servidores MCP apenas afecta a la ventana de contexto.
La cuenta de la memoria de código es sencilla: una sobrecarga pequeña y fija por los nombres de las herramientas frente a miles de tokens ahorrados porque el agente deja de volver a leer archivos. El balance favorece claramente al índice.
Un par de salvedades honestas para que no esperes milagros. Hay que reconstruir el índice de vez en cuando: el mapa refleja el código tal como estaba en el momento del análisis y debe actualizarse después de cambios importantes (esto depende de la herramienta: algunas lo hacen automáticamente y otras requieren un comando). Además, afirmaciones como «120 veces menos tokens» describen el mejor caso en consultas seleccionadas, no lo que verás en todas las tareas. El ahorro real es más modesto, pero sigue siendo apreciable. Si quieres profundizar en cómo evitar quedarte sin límites en general, tengo un análisis independiente: «Cómo evitar agotar los límites de Claude Code».
¿Por dónde empezar hoy?
Punto clave
Empieza por lo que es gratuito y rápido. Ejecuta /doctor para limpiar los elementos innecesarios. Reduce CLAUDE.md a 200 líneas. Estos pasos reducen lo que Claude arrastra a cada tarea y empiezan a ahorrar tus tokens y límites.
Si eliminas todo lo innecesario, el plan para hoy es sencillo:
- Ejecuta
/doctory limpia lo que sugiera: duplicados en CLAUDE.md y herramientas sin usar. - Reduce CLAUDE.md a 200 líneas y traslada el material de referencia a skills.
Después, elige según tus necesidades: si haces mucha refactorización, añade Serena para realizar cambios precisos; si necesitas buscar por significado, configura claude-context. La memoria de código y un contexto limpio resuelven hoy el problema principal.
Fuentes
Si necesitas acceder a modelos de IA a través de Ailoot, visita Ailoot.
Más detalles
Preguntas sobre Claude Code
¿Cuándo elijo navegación por símbolos en lugar de búsqueda semántica de código?
La navegación por símbolos, como Serena, encaja con definiciones, lugares de llamada y refactorizaciones precisas. Una búsqueda semántica como claude-context ayuda si conoces el comportamiento necesario pero no el nombre del símbolo; requiere configurar además una base de datos y embeddings.
¿Puedo seguir confiando en el mapa de código después de hacer cambios?
Comprueba que el índice se haya actualizado. El mapa refleja el código que se analizó y cada herramienta actualiza de forma distinta. Úsalo para localizar código pertinente y verifica después los archivos actuales antes de cambiarlos.