Dejé de usar Grep y mi agente es 10 veces más rápido
BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology
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.