Dejé de usar Grep y mi agente es 10 veces más rápido

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00Hay un complemento de MCP llamado Claude Context que indexa todo tu código
00:00:06en una base de datos vectorial, lo que significa que tu agente de programación puede obtener el código exacto que necesita rápidamente
00:00:11sin tener que adivinar usando grep o glob con la esperanza de encontrar el archivo correcto.
00:00:15Incluso analiza tu código con AST y utiliza un enfoque de búsqueda híbrido, combinando vectores semánticos
00:00:20con coincidencia de palabras clave, lo que termina usando un 40% menos de contexto.
00:00:24Pero necesita una cuenta en la nube de Zilliz y una clave de OpenAI para las incrustaciones, incluso si usas el código de Claude.
00:00:30¿Vale la pena el esfuerzo y el costo adicionales por el ahorro de tokens?
00:00:34Suscríbete y averigüémoslo.
00:00:35Bien, Claude Context, no estoy seguro del nombre, está creado por Zilliz, que es una empresa
00:00:43fundada por los creadores de Milvus, una base de datos vectorial de alto rendimiento.
00:00:47Se conecta a tu agente mediante MCP, lo que significa que puede funcionar con cualquier arnés de agente
00:00:52y no solo con el código de Claude.
00:00:54Pero hace tres cosas bastante complejas para que tu código sea fácil de encontrar.
00:00:58Primero, usa TreeSitter para analizar todo el código, creando fragmentos de funciones
00:01:03y clases, y esto admite nueve lenguajes, incluidos TypeScript, Python, Rust y Go.
00:01:08Luego, utiliza un Merkle DAG personalizado para aplicar hash a cada archivo con instantáneas JSON, lo que significa que solo vuelve a indexar
00:01:15los archivos que han cambiado y no toda la base de código.
00:01:18Y cuando realmente quieres buscar en el código, realiza dos tipos diferentes de búsqueda
00:01:22al mismo tiempo: una búsqueda vectorial para encontrar el significado semántico del código y una búsqueda de índice BM25
00:01:29para la coincidencia exacta de palabras clave.
00:01:31Todo esto resulta en una reducción de contexto de hasta un 40%, que es mucho para bases de código grandes.
00:01:37De hecho, veamos cómo funciona probándolo contra la base de código de VS Code, que tiene
00:01:42alrededor de 1.5 millones de líneas de código.
00:01:44Así que dentro del repositorio clonado de VS Code, voy a usar Open Code con GPT-4 Turbo porque
00:01:50no quiero agotar mis límites semanales de Claude Pro.
00:01:53Y para configurar el servidor MCP, que puedes ver aquí, ya he añadido
00:01:58la información relevante a mi archivo JSON de Open Code.
00:02:01Y para esta información de aquí, podrías ejecutar Milvus localmente, pero yo he usado la nube de Zilliz.
00:02:06Así que obtuve mi clave API de aquí y creé un clúster.
00:02:10Es un clúster de AWS y obtuve los puntos finales públicos desde aquí.
00:02:14Ahora, mientras hablamos de clústeres, intenté usar el gratuito primero, pero seguía recibiendo
00:02:19problemas de tiempo de espera.
00:02:20Así que tuve que obtener uno sin servidor, que cuesta dinero, pero funcionó mucho mejor.
00:02:25Una vez configurado el servidor MCP, asegúrate de estar ejecutando una versión de Node inferior
00:02:28a la 24, pero igual o superior a la 20.
00:02:31Actualmente estoy usando la versión 22 para este proyecto.
00:02:34Y eso te dará acceso a cuatro herramientas MCP: indexar código, buscar código, limpiar índice y obtener
00:02:39estado del índice.
00:02:40Ahora, lo primero que tienes que hacer es indexar la base de código y podemos hacerlo con este comando.
00:02:44Pero antes de presionar enter, veamos cuánto dinero hemos gastado ya en incrustaciones
00:02:48de OpenAI, que es solo un centavo y fue para probar una base de código de 23,000 líneas.
00:02:53También podemos ver en nuestro clúster que ya tenemos información de la base de código que fue indexada.
00:02:58Así que ahora, si indexamos esta base de código, toma algo de tiempo e inicia la indexación en el
00:03:02fondo.
00:03:03En este punto, no recomiendo realizar ninguna búsqueda.
00:03:05Debido a que esta es una base de código grande, tardará un tiempo en indexarse.
00:03:09Así que volveré más tarde cuando termine la indexación.
00:03:11Y después de unos 50 minutos, la indexación está completa y podemos ver que tenemos un nuevo fragmento
00:03:16en nuestro clúster con más de 223,000 entradas cargadas.
00:03:21Y como referencia, el código que estaba probando, que tenía 23,000 líneas de código, tiene alrededor de
00:03:271,000 líneas de entradas y tardó menos de un minuto en indexarse.
00:03:32Y con nuestro uso de OpenAI, hemos pasado de un centavo a $1.06, lo cual es mucho, pero no
00:03:38imagino que revisar 1.5 millones de líneas de código sea algo que la gente haga regularmente.
00:03:42Bien, veamos qué tan rápido es hacer una búsqueda.
00:03:45Aquí tenemos una instancia de Open Code usando el servidor MCP de Claude Context, y aquí
00:03:49tenemos otra sin servidores MCP.
00:03:52Así que usará las herramientas regulares de grep y glob para buscar en el código.
00:03:56Le daremos la instrucción de usar Claude Context para encontrar el punto de entrada de cuándo inicia este proyecto.
00:04:00el inicio.
00:04:01Veamos cuánto tiempo lleva esto.
00:04:02Bien, está usando la herramienta de índice y ahora está usando la herramienta de búsqueda.
00:04:06Y todo el proceso tomó alrededor de 19 segundos para buscar en todo este proyecto y encontrar
00:04:10el archivo .ts principal.
00:04:11Y ahora le daremos a este Open Code una instrucción similar y encuentra la respuesta
00:04:15en 14 segundos.
00:04:16Así que, para esta consulta, usar solo el LLM normal es mucho más rápido.
00:04:20Comencemos una nueva sesión.
00:04:21Voy a darle una nueva instrucción sobre qué función abre un nuevo documento sin título.
00:04:26Esta tomó un poco más de tiempo, 40 segundos, y encontró la función principal con el número de línea
00:04:30y utilizó cerca de 23K tokens.
00:04:32Y la otra instancia lo hizo en 12 segundos y usó 18K tokens, pero parece que encontró
00:04:37un archivo diferente.
00:04:38De hecho, Claude Context da mucha más información mostrando el código y otros archivos relacionados con
00:04:44abrir el editor.
00:04:45Así que les voy a pedir a ambos que me muestren el código exacto.
00:04:48En este punto, Claude Context responde en 23 segundos con el código, y el Open Code
00:04:52sin Claude Context responde en 49 segundos, casi el doble de tiempo.
00:04:56Y llega al mismo código exacto que Claude Context, lo cual me da una idea.
00:05:00Voy a darle una instrucción más amplia y generalizada de mirar a través del código y decirme
00:05:04cómo funciona este proyecto.
00:05:06Claude Context termina en 49 segundos usando 41K tokens, y la otra instancia termina
00:05:11más rápido y usa menos tokens.
00:05:13Pero si miramos la salida producida, podemos ver que hay mucho más detalle de Claude
00:05:17Context, dando la arquitectura en capas e incluso algo de información sobre la aplicación Electron
00:05:22y los procesos que utiliza.
00:05:23Y la opción sin Claude Context también da algo de información de arquitectura, pero no es
00:05:28tan detallada como la otra.
00:05:30De hecho, aunque no lo parezca, diría que Claude Context es muy bueno para
00:05:34obtener información de código por adelantado, rápidamente y con mucho detalle.
00:05:37Es decir, echa un vistazo a esto.
00:05:38Así que, a partir de esta instrucción, hice una pregunta de seguimiento para obtener más información sobre el proceso principal
00:05:43en la aplicación Electron, que indicó aquí arriba.
00:05:47Después de hacer esta pregunta, tomó alrededor de 1 minuto y 47 segundos, pero mira todo ese
00:05:52detalle.
00:05:53Comenzó con la secuencia de arranque y luego la fase uno, es decir, la creación del servicio y
00:05:58la inicialización del servicio.
00:05:59Y tenemos mucho más de la fase dos, la aplicación de código con todas las referencias
00:06:04a los archivos relevantes.
00:06:05Así que tenemos app TS línea 185, y podríamos seguir y seguir.
00:06:10Mientras tanto, sin Claude Context, OpenCode sigue revisando todos los archivos usando múltiples
00:06:15subagentes.
00:06:16Y esto es un poco engañoso porque no podemos ver exactamente cuántos tokens está usando
00:06:21cada subagente.
00:06:22Pero si esperamos un poco y volvemos, podemos ver que después de unos cinco minutos, OpenCode
00:06:26responde con mucha información sobre el proceso de Electron, pero no es tanto
00:06:31como lo que proporcionó Claude Context, y tardó cinco veces más.
00:06:34Ahora, sí, quizás si hubiera usado un modelo más inteligente como Opus 4.7 con alto esfuerzo, obtendría
00:06:40más información, pero aún tardaría mucho tiempo y usaría muchos tokens.
00:06:44Y estas son las diferencias, cinco minutos frente a un minuto, que estaba viendo cuando
00:06:48estaba probando antes de grabar con la base de código de 23K líneas.
00:06:51Así que, al final, es difícil decir quién es el claro ganador.
00:06:54Claude Context siempre proporcionó más detalles, pero no siempre fue el más rápido y
00:07:00el más eficiente en tokens.
00:07:01Y para bases de código grandes, tardó mucho tiempo en indexar.
00:07:05Sin embargo, para bases de código de tamaño promedio, es decir, 20 a 30,000 líneas de código, el tiempo de indexación
00:07:10es realmente rápido.
00:07:11Y la diferencia en detalle cuando se trata de resultados es muy evidente.
00:07:14De hecho, diría que preferiría usar Claude Context para bases de código de tamaño promedio
00:07:20que usarlo en bases de código grandes.
00:07:22Así que eso es algo para pensar.
00:07:23Pero para ser honesto, esto es más una gran herramienta de ventas para Zilliz, porque antes de usar Claude
00:07:27Context, nunca había oído hablar de ellos y ahora tienen un nuevo cliente de pago.
00:07:31Pero aunque tomó un tiempo configurarlo y la indexación de grandes bases de código tomó mucho
00:07:36tiempo.
00:07:37Como alguien que revisa regularmente bases de código de código abierto y hace preguntas, creo
00:07:42que esta es una herramienta que voy a usar mucho más.
00:07:44Es decir, para una base de código de tamaño promedio, el plan sin servidor no es demasiado caro, ya que las
00:07:49incrustaciones de OpenAI tampoco cuestan demasiado.
00:07:52Así que estoy feliz de asumir el costo.
00:07:53Hablando de recuperación de datos e IA.
00:07:55Si quieres aprender a construir un sistema RAG realmente bueno desde cero que realmente
00:07:59funcione, entonces echa un vistazo a este video de Andris.
00:08:02Y si eres un fan de Star Wars, te va a gustar especialmente este video.

Key Takeaway

Claude Context mejora la precisión y el detalle de los agentes de programación en bases de código medianas y grandes al sustituir las búsquedas tradicionales por una indexación vectorial híbrida que reduce el uso de tokens.

Highlights

  • Claude Context indexa repositorios mediante una base de datos vectorial de alto rendimiento, reduciendo el consumo de contexto hasta en un 40%.

  • El sistema emplea TreeSitter para el análisis de código y un Merkle DAG para la indexación eficiente de archivos modificados.

  • La recuperación de información combina búsquedas vectoriales semánticas con índices BM25 para obtener coincidencias exactas de palabras clave.

  • En bases de código de 1.5 millones de líneas, Claude Context genera respuestas detalladas con una reducción significativa en el tiempo de procesamiento comparado con agentes estándar.

  • El costo de indexación y consulta mediante el servicio en la nube de Zilliz y OpenAI es escalable, costando aproximadamente 1.06 dólares para 1.5 millones de líneas de código.

Timeline

Funcionamiento de Claude Context

  • El sistema utiliza una base de datos vectorial para evitar la dependencia exclusiva de grep o glob.
  • TreeSitter analiza funciones y clases en nueve lenguajes distintos, incluyendo Python, Rust y Go.
  • Un sistema Merkle DAG optimiza la indexación al actualizar solo los archivos modificados.

Claude Context organiza el código mediante un enfoque de búsqueda híbrido. Al combinar vectores semánticos con la coincidencia de palabras clave BM25, logra una mayor precisión en la ubicación de recursos dentro de repositorios extensos.

Configuración y rendimiento en repositorios masivos

  • La indexación de un repositorio de 1.5 millones de líneas tarda aproximadamente 50 minutos.
  • El uso de una infraestructura en la nube sin servidor resuelve los problemas de tiempo de espera detectados en planes gratuitos.
  • La búsqueda de puntos de entrada en proyectos grandes se completa en 19 segundos utilizando esta herramienta.

El despliegue requiere configurar un servidor MCP vinculado a un clúster de Zilliz y claves de OpenAI. Aunque la indexación inicial de grandes bases de código es extensa, el proceso resulta eficiente en entornos de 20,000 a 30,000 líneas.

Comparativa de resultados y eficiencia

  • Claude Context proporciona respuestas con mayor detalle arquitectónico comparado con agentes basados únicamente en grep.
  • El tiempo de respuesta para consultas complejas sobre procesos de aplicaciones es significativamente menor al emplear contexto indexado.
  • La herramienta resulta ideal para bases de código de tamaño promedio donde el equilibrio entre costo y detalle es óptimo.

El uso del sistema aumenta la calidad de la información sobre la arquitectura y las dependencias del código. Aunque los agentes sin este complemento pueden ser más rápidos en consultas simples, Claude Context supera a las alternativas en la profundidad del análisis para proyectos complejos.

Community Posts

View all posts