Cómo hacer que un agente de IA trabaje con un código heredado masivo sin perder contexto ni dinero
¿Te suena familiar? Le pides a Claude o ChatGPT que entienda la lógica de un proyecto antiguo, y empieza a "alucinar" o simplemente consume todo su límite de tokens intentando leer cientos de archivos con grep plano. Incluso agentes modernos como Claude Code a menudo se comportan como gatitos ciegos cuando se trata de conexiones profundas entre servicios o cadenas de llamadas complejas.
El otro día descubrí el repositorio codebase-emory-mcp. Es un servidor MCP (Model Context Protocol) que transforma tu código en un grafo de conocimiento estructurado. En lugar de alimentar texto sin formato a la red neuronal, la herramienta construye un mapa de funciones, clases y dependencias que la IA puede entender con media palabra.
¿Qué tiene de malo la búsqueda normal
Cuando un agente de IA intenta entender tu código, generalmente lo hace de la manera más burda posible. Ejecuta búsquedas de cadenas, abre archivos uno por uno e intenta mantenerlo todo en su cabeza. El problema es que la ventana de contexto no es infinita. Si el proyecto es grande, el agente olvida rápidamente el comienzo de la cadena de llamadas o empieza a confundir métodos similares en diferentes módulos.
Los desarrolladores de DeusData afirman cifras impresionantes: usar su grafo reduce el consumo de tokens en 120 veces. Donde un agente normal necesita procesar 400,000 tokens, esta herramienta solo necesita tres o cuatro mil. No se trata solo de ahorrar dinero en llamadas a la API—se trata principalmente de la precisión de las respuestas.
Qué puede hacer este motor
El proyecto está escrito en C "puro" y usa SQLite para almacenar datos. Esto proporciona una velocidad increíble. Indexar el kernel de Linux (son 28 millones de líneas de código) solo lleva tres minutos. Un proyecto típico de Django o React se "traga" en un par de segundos.
Aquí hay algunas cosas que llamaron mi atención:
- Comprensión de la arquitectura. La herramienta ve no solo texto, sino estructura. Distingue los endpoints de la API, entiende qué función llama a cuál, e incluso encuentra código "muerto" que nadie usa.
- Soporte para 66 lenguajes. Gracias a tree-sitter, el motor entiende casi todo—desde Python y TypeScript hasta Rust y COBOL. Además, para C, C++ y Go puede inferir tipos al estilo LSP.
- Visualización. Viene con un visualizador de grafos 3D (opcional). Literalmente puedes girar tu proyecto en el navegador en
localhost:9749y ver cómo están conectados los módulos. - Integración con agentes. Con un comando
installla utilidad se configura para Claude Code, Zed, Aider y una docena de otras herramientas populares.
Ese grafo 3D que puedes girar en el navegador
Cómo funciona bajo el capó
Curiosamente, los autores decidieron no incrustar su propio LLM dentro para traducir consultas a comandos de base de datos. Razonaron sabiamente: como ya estás hablando con un agente inteligente (como Claude 3.5 Sonnet), que él se encargue de la traducción.
Preguntas: "¿Quién llama al método ProcessOrder?". El agente entiende la intención y llama a la herramienta trace_call_path. El motor recorre el grafo en milisegundos y devuelve una respuesta estructurada. Como resultado, la IA ve una cadena clara en lugar de intentar adivinarla a partir de pistas indirectas.
Se usa SQLite en modo WAL para el almacenamiento, y los datos se comprimen con el algoritmo LZ4. Esto permite mantener el índice de proyectos muy grandes directamente en memoria durante la operación sin estresar el disco.
Beneficios prácticos para desarrolladores
El caso de uso más obvio es la incorporación a un nuevo proyecto o la refactorización de uno antiguo. En lugar de construir diagramas manualmente en tu cabeza, le das al agente acceso a codebase-memory-mcp.
Por ejemplo, puedes preguntar: "Encuentra todos los endpoints que aceptan UserID pero no verifican los derechos de acceso". La herramienta encontrará las conexiones entre las rutas HTTP y los métodos de validación que la búsqueda de texto normal perdería.
Otra característica genial es detect_changes. Analiza tu diff actual de git y muestra el "radio de explosión": qué funciones y módulos se verán afectados por tus cambios. Es un gran seguro antes de hacer commit.
Cómo probarlo
La instalación es tan simple como puede ser—sin Docker ni dependencias extra. Para macOS y Linux, solo un comando de terminal:
curl -fsSL https://raw.githubusercontent.com/DeusData/codebase-memory-mcp/main/install.sh | bash
Si quieres visualización de inmediato, añade el flag --ui. Después de la instalación, solo reinicia tu agente de IA y dile: "Indexa este proyecto".
¿Vale la pena
El proyecto se ve muy prometedor. Lo que especialmente me gusta es que no es otro servicio en la nube, sino una utilidad local. Todo tu código se queda en tu máquina—no se envía ningún dato a servidores externos para indexar.
Por supuesto, hay matices. La calidad del análisis para algunos lenguajes como Haskell todavía es menor que para Python o Go mainstream. Pero la lista de tecnologías soportadas y la velocidad de procesamiento compensan ampliamente estas asperezas.
Si usas activamente la IA en tu desarrollo diario y sientes que está empezando a "atasancarse" en tareas complejas, esta herramienta podría ser ese eslabón perdido. Al menos, la capacidad de ver tu proyecto como un grafo 3D definitivamente vale diez minutos de tiempo de instalación.
Proyectos relacionados