Los 7 niveles de Claude Code y RAG

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00Vamos a resolver el problema de Claude Code y la memoria, logrando que los sistemas de IA de manera confiable y precisa
00:00:06respondan preguntas sobre conversaciones pasadas o enormes cantidades de documentos; es un problema que hemos
00:00:13intentado resolver durante años y la respuesta típica ha sido RAG, generación aumentada por recuperación, y
00:00:20aunque este video se titula "Los siete niveles de Claude Code y RAG", de lo que realmente trata este video
00:00:26es de deconstruir ese problema de Claude Code y, en realidad, de los sistemas de IA en general y la memoria, e
00:00:33incluso más importante, este video trata de darte una hoja de ruta que te muestre dónde te encuentras en esta
00:00:37lucha entre los sistemas de IA y la memoria, y qué puedes hacer para llegar al siguiente nivel. Así que, mientras viajamos
00:00:43a través de estos siete niveles de Claude Code y RAG, vamos a tocar varios temas, pero
00:00:48no vamos a empezar por GraphRAG ni nada complicado; vamos a empezar por el principio,
00:00:53que son simplemente los sistemas de memoria básicos nativos de Claude Code porque, por triste que sea decirlo,
00:00:59aquí es donde la mayoría de la gente no solo comienza, sino donde se queda; desde la automemoria y cosas como
00:01:04CLAUDE.md, pasaremos a herramientas externas como Obsidian antes de encontrarnos eventualmente
00:01:10con los pesos pesados, con los verdaderos sistemas RAG; en estos niveles hablaremos de qué es RAG realmente,
00:01:16cómo funciona, los diferentes tipos: RAG ingenuo frente a GraphRAG frente a RAG agéntico, cosas como
00:01:21re-rankers y todo lo demás; y en cada nivel vamos a desglosarlo de la misma
00:01:25manera: hablaremos de qué esperar en ese nivel, las habilidades que necesitas dominar, las
00:01:29trampas que debes evitar y lo que necesitas hacer para pasar al siguiente nivel; lo que este video
00:01:34no será es una explicación técnica súper profunda de cómo configurar necesariamente estos
00:01:40sistemas específicos, porque ya lo he hecho en muchas ocasiones cuando hablamos de GraphRAG y
00:01:45LightRAG, por ejemplo, o incluso temas más avanzados como RAG en estos diferentes tipos de
00:01:50sistemas de embedding; he hecho videos donde explico desde el principio hasta el final cómo
00:01:55configurar eso tú mismo; así que cuando lleguemos a esas secciones, enlazaré esos videos y esto es por
00:02:00el bien de ambos, para que este video no dure cinco horas, pero en esos niveles seguiremos hablando
00:02:04de qué significa eso realmente, qué te aporta cada sistema y cuándo deberías usarlo; pero antes
00:02:09de empezar con el nivel uno, unas breves palabras de nuestro patrocinador de hoy: yo; justo el mes pasado lancé la
00:02:15Master Class de Claude Code y es la mejor manera de pasar de cero a desarrollador de IA, especialmente si no vienes
00:02:21de un entorno técnico; y esta clase magistral es un poco diferente porque nos enfocamos en una
00:02:25serie de casos de uso distintos para aprender a usar Claude Code; uno de ellos es algo como
00:02:31RAG de nivel de producción: cómo construir los sistemas RAG que verás en este video en un escenario real y
00:02:37usarlo realmente como miembro de un equipo o vendérselo a un cliente; en ese tipo de cosas nos enfocamos, así que
00:02:42si quieres tener acceso, puedes encontrarlo dentro de Chase AI Plus; hay un enlace a eso en el comentario fijado
00:02:47y nos encantaría tenerte allí; así que ahora empecemos con el nivel uno, y eso es la automemoria,
00:02:51estos son los sistemas que Claude Code utiliza automáticamente para crear algún tipo de aparato de memoria para
00:02:58recordar realmente las cosas de las que has hablado; y sabes que estás aquí si nunca has
00:03:02configurado nada intencionalmente para ayudar a Claude Code a recordar el contexto en general sobre conversaciones previas
00:03:09o simplemente sobre lo que está pasando en tu base de código; y cuando hablamos de automemoria, eso es
00:03:13literalmente como se llama: el sistema de automemoria, que se habilita automáticamente cuando usas Claude
00:03:18Code; esencialmente permite que Claude Code cree archivos markdown por su cuenta que, de alguna manera, enumeran
00:03:26cosas que considera importantes sobre ti en ese proyecto en particular, y esto se basa puramente
00:03:32en su propia intuición a partir de tus conversaciones; y puedo ver estos archivos de memoria que ha creado; de nuevo,
00:03:37lo hace por su cuenta; si entras en tu carpeta .claude, vas a proyectos, verás una
00:03:42carpeta allí llamada memory; y dentro de ese archivo verás varios archivos markdown; aquí
00:03:47hay cuatro de ellos, y son como la versión de Claude Code de notas adhesivas que dicen "ah sí, él mencionó
00:03:51esta vez sobre sus objetivos de crecimiento del proyecto de YouTube; anotemos eso"; e incluso en la
00:03:59carpeta de memoria de todos habrá un archivo memory.md; ves que en este archivo de memoria tiene una pequeña nota sobre
00:04:04una de mis habilidades y luego tiene, ya sabes, esencialmente un índice de todos estos subarchivos de memoria diciendo
00:04:09"oye, hay uno de crecimiento de YouTube aquí, uno de ingresos o uno de referencias y esto es lo que hay dentro";
00:04:13así que si solo estoy hablando con Claude Code en mi archivo de bóveda y menciono algo sobre YouTube y mis
00:04:19metas de crecimiento o lo que sea, va a consultar esto y decir "ah sí, Chase está intentando
00:04:23conseguir, ya sabes, x cantidad de suscriptores para finales de 2026"; es tierno, pero en última instancia no es tan útil,
00:04:30es un poco como cuando estás dentro de ChatGPT y saca a relucir cosas aleatorias sobre
00:04:35conversaciones anteriores y es casi como si lo metiera a la fuerza; es como "vale, entiendo que recordaste esto,
00:04:40pero no me importa realmente y, sinceramente, es un poco raro que sigas sacando eso; preferiría que no lo hicieras";
00:04:44y desafortunadamente, aquí es donde la mayoría de la gente se queda en su viaje con la memoria, y se basa en un
00:04:49pasado un tanto abusivo que todos tenemos cuando se trata de usar estos chatbots,
00:04:54porque estos chatbots no tienen ningún tipo de memoria real de conversación a conversación, por lo que
00:05:00siempre nos aterra tener que cerrar una ventana de chat o salir de una sesión de terminal
00:05:06porque piensas "dios mío, no va a recordar mi conversación"; y esto es realmente un
00:05:10problema real porque ¿cuál es la respuesta de todo el mundo al hecho de que la ventana de chat no pueda recordar nada?
00:05:17Bueno, la respuesta es simplemente mantener esa conversación abierta para siempre porque no quieres llegar a un
00:05:22escenario en el que tengas que salir y lo olvide todo; este es un miedo que nace aquí dentro
00:05:26de estas ventanas de chat empezando con ChatGPT y lo mismo con la aplicación web de Claude; y honestamente solía
00:05:31ser infinitamente peor con la web de Claude porque creo que todos recordamos antes de los días de la
00:05:35ventana de contexto de 1 millón, donde tenías unos 30 minutos para hablar con Claude y decías "bueno,
00:05:39nos vemos en cuatro horas"; el problema es que la gente ha traído ese tipo de comportamiento psicótico y neurótico al
00:05:45terminal y lo que hacen en gran medida, porque ahora puedes salirte con la tuya con una ventana de contexto de
00:05:501 millón, es que nunca limpian; simplemente siguen hablando y hablando y hablando con Claude Code porque
00:05:55no quieren que olvide de qué están hablando debido a estos problemas de memoria; y el
00:06:00problema con eso es que tu eficiencia disminuye mucho con el tiempo cuanto más hablas con Claude Code
00:06:05dentro de la misma sesión; y esta es la idea fundamental de la degradación del contexto; si no sabes lo que
00:06:10es la degradación del contexto, es el fenómeno de que cuanto más uso un sistema de IA dentro de su misma sesión,
00:06:16dentro de su mismo chat y lleno esa ventana de contexto, peor se vuelve; puedes verlo justo aquí: Claude Code,
00:06:23ventana de contexto de 1 millón; a los 256k tokens, es decir, solo he llenado un cuarto de su ventana de contexto,
00:06:30estamos al 92%; al final, estoy al 78%; así que cuanto más lo usas en el mismo chat, peor se vuelve y ese es uno de
00:06:36los problemas principales que tiene la gente con los sistemas de IA y la memoria; tengo Claude Code, tiene un millón de
00:06:42contexto ahora y, sin embargo, no quiero que olvide la conversación que estoy teniendo, así que nunca salgo de la
00:06:47ventana; simplemente la lleno y la lleno y la lleno, y pasan dos cosas: uno, la efectividad
00:06:51disminuye como acabas de ver; dos, tu consumo se dispara muchísimo porque la cantidad de tokens que se usan
00:06:59en 1 millón, ese contexto de 800,000, es mucho más que un contexto de 80,000; así que este no es el único problema,
00:07:08pero cambiando un poco de tema, estamos en un ecosistema actual donde todo el mundo se queja de que Claude Code
00:07:12está capado y mi consumo sube automáticamente; hay varias razones para ello, pero una de
00:07:18ellas sin duda es el hecho de que, desde que se introdujo el millón de contexto, la gente no tiene ni idea de cómo
00:07:24gestionar su propia ventana de contexto y no son ni de lejos tan agresivos
00:07:29limpiando y reiniciando la conversación; pero eso es otro tema;
00:07:34el punto de toda esa discusión es que, cuando se trata de la memoria en esta charla sobre RAG y
00:07:39Claude Code, tenemos que tener presente la degradación del contexto porque estamos constantemente lidiando
00:07:44con esta tensión de "vale, quiero ingerir contexto para que Claude Code pueda responder preguntas sobre varias
00:07:50cosas, pero al mismo tiempo no quiero que el contexto sea demasiado grande porque entonces es peor";
00:07:55así que eso siempre tiene que ser algo en lo que estemos pensando en esta conversación sobre la memoria;
00:08:02pero para volver al video y al nivel uno, ¿qué está haciendo la gente en el nivel uno?
00:08:06La respuesta es que no están haciendo nada realmente y, como no hacen nada, simplemente confían
00:08:10en una ventana de contexto saturada para recordar las cosas; así que sabes que estás aquí cuando nunca has editado
00:08:15un archivo CLAUDE.md y nunca has creado ningún tipo de artefacto o archivo que permita a Claude
00:08:23Code darse cuenta de qué demonios está pasando, qué ha hecho realmente en el pasado y qué necesita
00:08:27hacer en el futuro; así que, ¿qué necesitamos dominar en este nivel? Bueno, realmente todo lo que necesitas
00:08:31dominar, a pesar de todo lo que escribí aquí, es simplemente entender que la automemoria no es suficiente
00:08:35y necesitamos tomar un papel activo con respecto a Claude Code y la memoria, porque una trampa en este nivel,
00:08:40si no tomas un papel activo, es que no tienes control; y necesitamos controlar qué considera Claude Code
00:08:44al responder nuestras preguntas; así que para desbloquear el nivel uno y pasar al nivel dos,
00:08:50necesitamos una memoria que sea explícita y necesitamos averiguar cómo hacer eso realmente; ¿qué archivos
00:08:57necesitas editar y entender que existen para tomar un papel activo en esta relación?
00:09:01Ahora, el nivel dos trata sobre un archivo específico: el archivo CLAUDE.md; cuando te enteras de
00:09:06la existencia de esto, se siente como una bendición; finalmente hay un solo lugar donde puedo decirle a Claude
00:09:12Code algunas reglas y convenciones que siempre quise que siguiera, y lo va a hacer; y de
00:09:16hecho, puedo incluir cosas que quería que recordara y siempre lo hará; y definitivamente se siente como
00:09:20un progreso al principio; así que aquí hay una plantilla de un archivo CLAUDE.md estándar para un proyecto de asistente personal; ahora,
00:09:29Claude Code va a crear automáticamente un archivo CLAUDE.md, pero tú tienes la capacidad de
00:09:33editarlo o incluso actualizarlo bajo demanda usando un comando como /init y la idea de
00:09:38esto es que es, de nuevo, como el santo grial de las instrucciones para Claude Code para ese proyecto
00:09:43en particular; a todos los efectos, Claude Code va a echar un vistazo a esto antes de cualquier tarea que
00:09:50ejecute; así que si quieres que recuerde cosas específicas, ¿qué vas a hacer? Lo vas a
00:09:54poner en el CLAUDE.md; teóricamente es a menor escala que algo como RAG, ya sabes, no estamos
00:10:00poniendo documentos completos aquí, sino cosas que quieres que Claude Code
00:10:05recuerde siempre y convenciones que quieres que siga; así que para este tenemos una sección "Sobre mí",
00:10:09tenemos un desglose de la estructura del sistema de archivos y cómo queremos que opere realmente cuando
00:10:14le damos comandos; y como dije, como esto se referencia básicamente en cada instrucción, Claude Code
00:10:18es muy bueno siguiéndolo; así que la idea de "oye, quería que recordara cosas específicas", este
00:10:22parece un gran lugar para ponerlo; pero tenemos que tener cuidado porque podemos excedernos; cuando miramos
00:10:28estudios como este que evalúan agents.md, y puedes intercambiar agents.md por CLAUDE.md,
00:10:33encontraron en el estudio que este tipo de archivos pueden reducir la efectividad de los modelos de
00:10:40lenguaje de gran escala y ¿por qué es eso? Bueno, es porque lo que lo hace tan bueno, el hecho
00:10:45de que se inyecte básicamente en cada prompt, es lo que también puede hacerlo tan malo; ¿estamos realmente
00:10:51inyectando el contexto correcto? ¿Hemos atravesado el ruido y le estamos dando realmente una
00:10:57señal adecuada o solo estamos lanzando cosas que creemos que son buenas? Porque si no es relevante para
00:11:02virtualmente cada instrucción que va a realizar en tu proyecto, ¿debería estar aquí en el CLAUDE.md?
00:11:08¿Es esta una buena manera de dejar que Claude Code recuerde cosas? Yo diría que no, la verdad,
00:11:15y eso va en contra de lo que mucha gente dice sobre CLAUDE.md y cómo deberías estructurarlo basándose en estudios
00:11:20como ese y basándose en la experiencia personal; menos es más, la contaminación del contexto es real, la degradación es real;
00:11:26así que si algo está dentro de CLAUDE.md y no tiene sentido para, de nuevo, virtualmente cada
00:11:32instrucción que le des, ¿debería estar ahí? La respuesta es no; pero la mayoría de la gente no se da cuenta de eso y,
00:11:37en su lugar, caen en esta trampa de un libro de reglas saturado; en cambio, las habilidades que deberíamos estar dominando
00:11:42son cómo crear un contexto de proyecto que tenga una señal alta; ¿cómo me aseguro de que lo que estoy poniendo
00:11:48dentro de esto tenga sentido? Y con eso viene la idea de ser consciente de la degradación del contexto, como hablamos
00:11:53en el nivel anterior; y si tomas todo eso junto, el nivel dos se siente como si hubieras estado
00:11:57avanzando, como "oye, estoy tomando un papel activo en la memoria, tengo este archivo CLAUDE.md", te das cuenta de que
00:12:02no es suficiente realmente; y cuando hablemos del nivel tres y de lo que podemos hacer para seguir adelante allí,
00:12:08queremos pensar no en un libro de reglas estático, sino en algo que pueda evolucionar y es
00:12:14algo que puede incluir CLAUDE.md; en lugar de confiar en que CLAUDE.md lo haga todo, ¿qué pasaría si
00:12:18usáramos CLAUDE.md como una especie de archivo de índice que dirija a Claude Code en la dirección correcta?
00:12:24¿A qué me refería con que CLAUDE.md actúe como una especie de índice y apunte hacia otros archivos?
00:12:30Bueno, me refiero a una arquitectura dentro de tu base de código que no tenga solo un archivo markdown
00:12:37intentando lidiar con todos los problemas de memoria en forma de CLAUDE.md; hablo de tener
00:12:41múltiples archivos para tareas específicas; creo que un gran ejemplo de esto en acción es lo que hace GSD, la
00:12:47herramienta de orquestación "get shit done"; no crea simplemente un archivo que dice "oye, esto es lo que
00:12:53vamos a construir, estos son los requisitos, esto es lo que hemos hecho y hacia dónde vamos";
00:12:56en su lugar, crea varios; puedes ver aquí a la izquierda que tenemos un project.md, un requirements.md,
00:13:02un roadmap y un state; así los requisitos existen para que Claude Code siempre sepa y tenga memoria de
00:13:08lo que se supone que debe estar construyendo; el roadmap desglosa qué es exactamente lo que vamos a
00:13:12crear, no solo ahora, sino qué hemos hecho en el pasado y en el futuro; y el project le da
00:13:16memoria, le da contexto de lo que estamos haciendo a nivel de visión general, cuál es nuestra estrella guía; y al
00:13:22dividir la memoria, el contexto y las convenciones en este tipo de sistema, estamos luchando contra la idea
00:13:29de la degradación del contexto y la idea planteada en ese estudio, que es que inyectar estos archivos en cada
00:13:34prompt todo el tiempo como hacemos en CLAUDE.md es realmente contraintuitivo; no nos ayuda a obtener
00:13:39mejores resultados; además, desglosarlo en estos fragmentos y tener un camino claro para que Claude
00:13:44Code lo recorra y diga "oye, quiero averiguar dónde está esta información, oh, voy a CLAUDE.md;
00:13:49oh, CLAUDE.md dice que estas son mis cinco opciones, vale, aquí está esa, déjame ir y encontrarla";
00:13:54ese tipo de estructura es lo que verás al 100% en el siguiente nivel cuando hablemos de
00:13:58Obsidian y realmente es como una reimaginación rudimentaria del sistema de fragmentación y de la
00:14:04búsqueda por similitud de vectores que vemos en los verdaderos sistemas RAG; pero obviamente esto es a pequeña escala;
00:14:10en este nivel estamos hablando de cuatro archivos markdown aquí; no hablamos de un sistema que
00:14:14pueda manejar miles y miles y miles de documentos; pero, como me vas a oír decir
00:14:20mucho, ¿qué significa eso para ti? ¿Necesitas un sistema como el que vamos a hablar en los niveles cuatro,
00:14:26cinco, seis, siete, que pueda manejar tal cantidad de documentos? La respuesta es que tal vez no; y por eso parte de este
00:14:32viaje de RAG es entender no solo dónde estás, sino ¿adónde necesitas ir realmente? ¿Necesitas
00:14:36estar siempre en el nivel siete y saber cómo hacer un sistema RAG agéntico dentro de Claude Code? Es
00:14:41probablemente bueno saber cómo hacerlo, pero también es igual de bueno saber cuándo no necesitas
00:14:46implementar eso; a veces lo que vemos en sistemas como este es suficiente para mucha gente;
00:14:52así que es igual de importante saber cómo hacerlo y saber si lo necesitas, si deberías hacerlo;
00:14:58cuando hablamos del nivel tres y hablamos de archivos de estado, ¿cómo sabemos que estamos aquí?
00:15:00Bueno, sabemos que estamos aquí cuando todavía estamos estrictamente dentro del ecosistema de Claude Code; no hemos
00:15:04integrado herramientas o aplicaciones externas y realmente estamos en el punto en el que solo creamos
00:15:09múltiples archivos markdown para crear nuestro propio sistema casero de fragmentación de memoria;
00:15:14pero esto sigue siendo realmente importante; seguimos dominando algunas habilidades reales aquí: la idea de
00:15:18estructurar documentos realmente, tener algún sistema implementado que actualice el estado en cada
00:15:23sesión, porque esto puede ser un problema también con RAG: ¿cómo te aseguras de que todo esté al
00:15:28día? Y lo más probable es que también estés empezando a apoyarte en capas de orquestación en este punto, cosas como
00:15:33GSD y superpowers que hacen cosas como esta, esta arquitectura de múltiples archivos markdown, por su cuenta; pero
00:15:40hay una trampa real aquí: lo que creamos en este proyecto es en gran medida solo para ese proyecto; es
00:15:46un poco engorroso luego tomar esos archivos markdown y pasarlos a otro proyecto; así que en el nivel
00:15:51cuatro es donde introducimos Obsidian; y esta es una herramienta que ha estado recibiendo muchísima atención
00:15:56y por una buena razón; cuando tienes a gente como Andrej Karpathy hablando de estas
00:16:00bases de conocimientos de LLM que han creado, las cuales están construidas a todos los efectos sobre una
00:16:06base de Obsidian y están recibiendo casi 20 millones de visitas, probablemente deberíamos escuchar y ver cómo está
00:16:11operando esto realmente; ahora, para dar contexto, he hecho un análisis profundo sobre esta base de conocimientos
00:16:18de LLM de Obsidian de Andrej Karpathy; pondré el enlace arriba para que, si quieres enfocarte en eso, en cómo construirlo, te asegures de
00:16:22echarle un vistazo; y lo que también quiero mencionar a la mayoría de la gente es que esto de Obsidian que vamos a
00:16:27tratar justo aquí en el nivel cuatro es honestamente el nivel al que la mayoría de la gente debería aspirar,
00:16:32porque esto es suficiente para la mayoría de las personas en la mayoría de los casos de uso; cuando hablemos de los niveles cinco, seis y
00:16:37siete, hablaremos de estructuras RAG reales y, para ser sinceros, es demasiado para la mayoría; esto
00:16:43es excesivo para la mayoría de la gente; ya saben, nos encanta hablar de RAG como si fuera genial, lo entiendo, pero
00:16:50Obsidian es esa solución del 80% que en realidad es como una solución del 99% para la mayoría porque es gratis,
00:16:56básicamente no tiene gastos generales y cumple su función para el operador individual; y cuando digo que cumple su
00:17:02función para el operador individual, me refiero a que resuelve el problema de tener Claude Code conectado a un montón de
00:17:07documentos diferentes, un montón de archivos markdown diferentes, y ser capaz de obtener información precisa y oportuna
00:17:13de ellos, además de tener una visión de esos documentos como ser humano; porque cuando hago
00:17:19clic en estos documentos, está muy claro qué está pasando dentro de ellos y está muy claro qué documentos
00:17:24están relacionados; cuando hago clic en estos enlaces, me llevan a más documentos; cuando hago clic en estos enlaces,
00:17:30me llevan a más documentos; por eso para mí, como ser humano, tener esta visión es importante
00:17:36porque, para ser totalmente honesto, yo argumentaría que la visión basada en Obsidian de los documentos supera
00:17:42mucha de la visión que obtienes de los sistemas RAG; cuando hablamos de miles y miles de
00:17:47documentos que se incorporan a algo como un sistema Graph RAG. Esto se ve muy bien visualmente,
00:17:52se ve impresionante. ¿Pero realmente sabes qué está pasando ahí dentro? Quizás sí, para ser honesto,
00:17:58pero en cierto modo solo confías en las respuestas que te muestra, los enlaces y demás, pero es un
00:18:03poco difícil analizar los embeddings, sin duda. Todo esto para decir que deberías prestar especial
00:18:08atención a Obsidian y Claude Code porque cuando hablamos de este camino desde RAG, siempre sugiero
00:18:13a todo el mundo, clientes incluidos: "Empecemos con Obsidian y veamos hasta dónde podemos escalar esto".
00:18:20Y, eventualmente, si chocamos con un muro, siempre se puede hacer la transición a sistemas RAG más robustos.
00:18:26¿Por qué no probar la opción sencilla? Si funciona, genial; es gratis, no me cuesta dinero, frente a
00:18:31intentar montar este sistema RAG que puede ser algo difícil de poner en producción dependiendo de lo que intentes
00:18:35hacer. Siempre empieza con lo sencillo; nunca es demasiado difícil pasar a algo más
00:18:40complicado. Entonces, ¿de qué estamos hablando realmente aquí en el nivel cuatro? Estamos hablando de tomar
00:18:45esa estructura que empezamos a construir en el nivel 3, ya sabes, con un archivo de índice apuntando a
00:18:50diferentes archivos markdown, y simplemente escalar eso y luego traer esta herramienta externa, Obsidian, para que sea
00:18:56fácil para ti, el ser humano, ver realmente estas conexiones. El ideal platónico de esta versión
00:19:00es prácticamente lo que Andrej Karpathy planteó al construir una base de conocimientos de LLM sobre Obsidian
00:19:05y potenciada por Claude Code. Y lo que eso parece es una estructura como esta. Cuando usas Obsidian
00:19:11y lo descargas (es completamente gratis de nuevo, consulta ese video que publiqué antes), estableces un
00:19:16archivo determinado como la "bóveda" (vault). Piensa en la bóveda como una especie de sistema RAG, este
00:19:23sistema cuasi-RAG que has creado. Y dentro de la bóveda, luego la arquitecturamos, la estructuramos solo con
00:19:30archivos. Así que tenemos el archivo principal llamado la bóveda, y dentro de esa bóveda creamos múltiples
00:19:36subcarpetas. En el caso de Andrej Karpathy, habla de tres subcarpetas diferentes; la realidad es que
00:19:41podrían ser cualquier subcarpeta, solo necesita coincidir con el tema del que vamos a hablar. En una
00:19:47carpeta tenemos los datos brutos; esto es todo lo que estamos ingiriendo y que eventualmente queremos estructurar para
00:19:52que Claude Code pueda referenciarlo más tarde. Imagina que haces que Claude Code realice un análisis competitivo de
00:19:5850 de tus competidores y extrae 50 sitios por cada uno, ¿verdad? Estamos hablando de una gran cantidad de
00:20:03información, probablemente 2500 cosas diferentes. Todo eso se volcará en algún tipo de carpeta de datos brutos;
00:20:08esta es como el área de preparación de los datos. Luego tenemos la carpeta wiki; la carpeta wiki es donde
00:20:14van los datos estructurados. Hacemos que Claude Code tome estos datos brutos y los estructure esencialmente
00:20:20en diferentes artículos tipo Wikipedia dentro de la carpeta wiki. Cada artículo tiene su propia carpeta,
00:20:28con la idea de que cuando luego le pidas información a Claude Code sobre, no sé, digamos que le pedimos que
00:20:33busque cosas sobre agentes de IA y yo digo: "Oye, Claude Code, háblame sobre agentes de IA", de la misma manera
00:20:38que consultarías un sistema RAG, bueno, Claude Code irá a la bóveda. De la bóveda irá
00:20:45a la wiki. La wiki tiene un archivo markdown de índice maestro; piensa en algo similar a lo que
00:20:50habíamos comentado sobre hacer con claud.md antes, ¿verdad? Ves cómo estos temas van transitando
00:20:56a través de los diferentes niveles. Echa un vistazo a ese índice maestro; el índice maestro le dice qué
00:21:00existe en el sistema RAG de Obsidian. "Ah, existen agentes de IA, genial". ¿Adivina qué está pasando aquí abajo?
00:21:08También tiene un archivo de índice que habla de los artículos individuales que existen. ¿Qué estoy diciendo aquí?
00:21:14Digo que hay una jerarquía clara para que Claude Code la use como referencia cuando quiera encontrar información sobre
00:21:21archivos: bóveda, wiki, índice, artículo, etc. Debido a que es tan claro cómo encontrar información, y también
00:21:31tan claro cómo encontrarla primero y convertirla en wiki, podemos crear un sistema que tenga una gran cantidad de
00:21:37documentos sin RAG. Cientos, miles si haces esto correctamente, porque si el sistema es claro: "Oye, reviso la
00:21:44bóveda y reviso el índice y eso tiene una delimitación clara de dónde está todo", bueno,
00:21:50entonces no es tan difícil para Claude Code averiguar dónde encontrar las cosas. Así que puedes salirte con la tuya con una
00:21:54estructura que no es RAG para miles de documentos, y eso ha sido muy difícil de hacer en el pasado,
00:21:58y eso es porque la mayoría de la gente no estructura nada con ningún tipo de orden; solo tienen mil millones
00:22:02de documentos tirados en una carpeta. Es el equivalente a tener 10 millones de archivos esparcidos por el suelo
00:22:08de una fábrica. Me dirás: "¿Lo encontrará Claude Code?". No, en realidad solo necesitas un archivador. Claude
00:22:13Code es en realidad bastante inteligente, y puedes ver esa arquitectura en acción justo aquí. Ahora mismo estamos
00:22:17viendo un archivo claud.md que está en una bóveda de Obsidian, ¿y qué dice? Bueno, desglosa la
00:22:24estructura de la bóveda, el sistema wiki, ya sabes, la estructura general de las subcarpetas y cómo
00:22:30esencialmente trabajar con ello, ¿verdad? De nuevo, estamos usando claud.md como un archivo de convenciones. Aquí a la izquierda
00:22:36puedes ver la carpeta wiki; dentro de la carpeta wiki hay un índice maestro y enumera lo que hay dentro.
00:22:43En este caso, solo hay un artículo sobre agentes gestionados por Claude. Dentro de esa carpeta vemos
00:22:49los agentes gestionados por Claude; tiene su propia carpeta wiki desglosando los artículos internos hasta
00:22:55llegar al artículo propiamente dicho. Así que son muy claros los pasos que debe seguir. Cuando le digo a Claude Code:
00:23:01"Háblame de los agentes gestionados", tenemos una wiki sobre ello; es muy fácil para él buscarlo a través de
00:23:06su herramienta grep incorporada. Me enlaza el archivo markdown real y luego desglosa todo
00:23:12lo que está sucediendo. Ahora, la pregunta en el nivel cuatro se convierte realmente en una cuestión de escala. ¿Con cuántos documentos
00:23:16podemos salirnos con la nuestra donde este tipo de sistema siga funcionando? ¿Hay un punto en el que el sistema de Andrej
00:23:22Karpathy empieza a desmoronarse? Donde digas: "Oye, entiendo que es un camino muy claro que Claude
00:23:26Code debe seguir, va a los índices, bla bla bla". ¿Se mantiene eso con
00:23:312000 documentos, 2500, 3000? ¿Hay un número claro? La respuesta es que no lo sabemos realmente, y puede que el número
00:23:37sea menor porque todos tus documentos son diferentes. Y en cuanto a chocar con un muro, no es
00:23:43tan simple como decir: "Bueno, Claude Code nos está dando las respuestas incorrectas porque tiene demasiados archivos en el
00:23:47sistema de Obsidian". ¿Cuánto te está costando en términos de tokens ahora que hemos añadido tantos archivos, y qué tan
00:23:52rápido lo hace? Porque el sistema RAG puede ser infinitamente más rápido y barato en ciertas situaciones.
00:23:59Lo que estamos viendo aquí es una comparación entre LLMs textuales (en las barras gigantes) y RAG
00:24:06textual en términos de la cantidad de tokens que se necesitaron para obtener la respuesta correcta y la cantidad de tiempo
00:24:11que tomó obtener esa respuesta. ¿Qué vemos aquí? Vemos que entre el RAG textual frente a los LLMs textuales hay una
00:24:18diferencia masiva, del orden de unas 1200 veces. Estoy diciendo que RAG es 1200 veces más barato y 1200
00:24:25veces más rápido que el LLM textual en estos estudios. Ahora bien, contexto: esto se hizo en 2025; no se hizo con
00:24:33Claude Code. Estos modelos han cambiado significativamente desde entonces; estos son simplemente LLMs puros,
00:24:37no es un agente de codificación, etc. Sin embargo, hablábamos de una diferencia de 1200 veces. Así que al evaluar
00:24:48si Obsidian es lo que debería usar frente a si debería usar un sistema RAG, no es tan simple como
00:24:54si está dando la respuesta correcta o no, porque podrías estar en un escenario
00:24:59donde obtienes la respuesta correcta con Obsidian y, sin embargo, si fueras a RAG, sería mil veces más barato
00:25:04y rápido, ¿verdad? Así que es esta línea muy difusa entre cuándo Obsidian es lo suficientemente bueno y cuándo
00:25:10este tipo de arquitectura de archivos markdown es suficiente, frente a cuándo necesitamos usar RAG.
00:25:15No hay una respuesta única; no tengo una gran respuesta para ti. La respuesta es que tienes que experimentar
00:25:18y probar ambos para ver qué funciona, porque esto está francamente desactualizado, totalmente. 2025, modelos antiguos...
00:25:25la diferencia entre RAG y los LLMs textuales ya no es 1200 veces, pero ¿cuánto se ha reducido esa brecha?
00:25:32Porque esa es una brecha insane. No es un 10x; es 1200x. Así que hay mucho que debes saber y,
00:25:39de nuevo, no sabrás la respuesta de antemano. Simplemente no la sabrás por mucho video que veas.
00:25:45Nadie te dirá dónde está esa línea en la arena; literalmente solo necesitas experimentar
00:25:49y ver qué te funciona a medida que aumentas la cantidad de documentos sobre los que le pides a Claude Code
00:25:54que responda preguntas. Así que, con esa nota, pasemos al nivel cinco, que es donde finalmente
00:25:59empezamos a hablar de sistemas RAG reales y de algunos de los fundamentos de RAG como los embeddings,
00:26:04las bases de datos vectoriales y cómo fluyen realmente los datos a través de un sistema cuando pasan a formar parte de nuestra
00:26:10base de conocimientos RAG. Empecemos hablando del RAG "naive" (ingenuo), que es el tipo de RAG más básico
00:26:16que existe, pero proporciona la base para todo lo demás que hacemos. Puedes pensar en los sistemas RAG
00:26:21como divididos en tres partes. En el lado izquierdo tenemos la etapa de embedding, luego
00:26:27tenemos la base de datos vectorial y luego tenemos la recuperación (retrieval) real que ocurre con el modelo de lenguaje
00:26:33grande. Así que: uno, dos y tres. Y para ilustrar mejor este modelo, empecemos con el trayecto de
00:26:40un documento que va a formar parte de nuestra base de conocimientos. Recuerda que en un sistema RAG grande podríamos
00:26:45estar hablando de miles de documentos y cada documento podría tener miles de páginas, pero en este
00:26:50ejemplo tenemos un documento de una sola página del que estamos hablando. Ahora, si queremos añadir este documento
00:26:56a nuestra base de datos, la forma en que va a funcionar es que no se va a ingerir como una unidad completa; en su lugar,
00:27:03vamos a tomar este documento y lo vamos a fragmentar (chunking) en pedazos. Así que esta página
00:27:08se convierte esencialmente en tres fragmentos diferentes. Estos tres fragmentos se envían a un modelo de embedding,
00:27:15y el trabajo del modelo de embedding es tomar estos tres fragmentos y convertirlos en un vector
00:27:21en una base de datos vectorial. Una base de datos vectorial es solo una variación diferente de tu base de datos estándar.
00:27:27Cuando hablamos de una base de datos estándar, piensa en algo como un documento de Excel, ¿verdad? Tienes
00:27:32columnas y tienes filas. Bueno, en una base de datos vectorial no son columnas y filas bidimensionales; son
00:27:37en realidad cientos, si no miles de dimensiones. Pero para los propósitos de hoy, solo piensa en un
00:27:43gráfico tridimensional como el que ves aquí, y los vectores son solo puntos en ese gráfico. Y cada
00:27:50punto está representado por una serie de números. Así que puedes ver aquí que tenemos "plátanos", y plátanos está
00:27:57representado por 0.52, 5.12 y luego 9.31. Ves eso ahí arriba. Ahora, eso continúa durante cientos de números.
00:28:06Dónde se coloca cada vector en este gráfico gigante multidimensional depende de su significado
00:28:13semántico. ¿Qué significan realmente las palabras? Puedes ver por aquí que esta es como la sección
00:28:19de frutas: tenemos plátanos, tenemos manzanas, tenemos peras. Por aquí tenemos barcos y botes.
00:28:24Volviendo a nuestro documento, imaginemos que este documento trata sobre barcos de la Segunda Guerra Mundial.
00:28:31Así que cada uno de estos fragmentos se va a convertir en una serie de números y esa serie de números
00:28:37estará representada como un punto en este gráfico. ¿A dónde crees que irá? Bueno, probablemente irán
00:28:42alrededor de esta área, ¿verdad? Esos serían uno, dos y tres. Así es como se colocan los documentos; cada
00:28:49documento se va a fragmentar, cada fragmento pasa por el modelo de embedding y el modelo de embedding
00:28:54los inserta en la base de datos vectorial. Repite, repite y repite para cada documento. Al final,
00:28:58después de hacer eso varios miles de veces, obtenemos una base de datos vectorial que representa nuestro grafo de conocimientos,
00:29:04por así decirlo, nuestra base de conocimientos. Y eso nos lleva al paso tres, que es la parte de recuperación.
00:29:09Entonces, ¿dónde entras tú en esto? Bueno, normalmente vamos a representarte a ti... vamos a darte un
00:29:16color diferente, serás rosa. Este eres tú, ¿vale? Normalmente solo hablas con
00:29:23Claude Code y le haces preguntas sobre acorazados de la Segunda Guerra Mundial. Bueno, en tu configuración estándar
00:29:29sin RAG, ¿qué va a pasar? El modelo de lenguaje grande Opus 4.6 va a echar un
00:29:34vistazo a sus datos de entrenamiento y luego te va a dar una respuesta basada en esos datos de entrenamiento,
00:29:39información sobre acorazados de la Segunda Guerra Mundial. Pero con un sistema RAG, va a hacer más: va a
00:29:44recuperar los vectores apropiados. Va a usar esos vectores para aumentar la respuesta que genera
00:29:51para ti; de ahí "Generación Aumentada por Recuperación" (RAG). Ese es el poder de RAG: permite que nuestros modelos
00:29:56de lenguaje grandes extraigan información que no forma parte de sus datos de entrenamiento para aumentar su respuesta. En este
00:30:02ejemplo, acorazados de la Segunda Guerra Mundial; sí, entiendo que el modelo de lenguaje grande ya sabe eso, pero
00:30:06reemplaza esto con cualquier tipo de datos de propiedad de la empresa que no estén disponibles en la web y hazlo
00:30:15a escala; ese es el argumento de venta de RAG. En nuestro ejemplo, cuando le pedimos a Claude Code información sobre
00:30:21acorazados de la Segunda Guerra Mundial y está en una configuración RAG, lo que va a hacer es que va
00:30:25a tomar nuestra pregunta y va a convertir nuestra pregunta en una serie de números similares a los
00:30:32vectores de aquí. Luego va a observar cuál es el número de nuestra pregunta y los números
00:30:39de los vectores, y va a ver cuál de estos vectores coincide más estrechamente con el vector de la pregunta,
00:30:46¿verdad? Qué tan similares son los vectores a la pregunta, básicamente. Y luego va a extraer una cierta
00:30:51cantidad de vectores, ya sea uno, dos, tres, cuatro, cinco, diez o veinte. Y va a traer
00:30:56esos vectores y su información al modelo de lenguaje grande. Así que ahora el modelo de lenguaje grande tiene
00:31:02su respuesta de los datos de entrenamiento más, digamos, 10 vectores de información, ¿verdad? Esa fue la parte de recuperación.
00:31:09Y luego aumenta y genera una respuesta con esa información adicional. Así es como funciona RAG,
00:31:13así es como funciona el RAG ingenuo. Ahora bien, esto no es particularmente efectivo por varias razones. Esta
00:31:19estructura tan básica empieza a fallar cuando nos ponemos a pensar en: "Vale, ¿cómo
00:31:25estamos fragmentando estos documentos? ¿Es al azar? ¿Es solo por un número puro de tokens? ¿Tenemos
00:31:31un cierto número de solapamiento? ¿Están los documentos mismos configurados de una manera en la que tenga
00:31:36sentido fragmentarlos?". Porque ¿qué pasa si, no sé, el fragmento número tres hace referencia a algo en el fragmento
00:31:42número uno? Y luego, en nuestra situación vectorial, cuando extraemos los fragmentos, ¿qué pasa si no obtiene el correcto?
00:31:47¿Qué pasa si no obtiene ese otro fragmento que se requiere como contexto para que incluso tenga sentido lo que
00:31:53dice el número tres? ¿Entiendes lo que digo? Muy a menudo se necesita el documento completo para responder
00:31:59preguntas sobre dichos documentos. Así que esta idea de obtener estas respuestas por piezas no
00:32:05funciona realmente en la práctica, aunque así es como se configuró el RAG durante mucho, mucho tiempo. Otros problemas que pueden
00:32:10entrar en juego son cosas como: "¿Qué pasa si tengo preguntas sobre las relaciones entre diferentes vectores?".
00:32:17Porque ahora mismo solo extraigo vectores de forma aislada. ¿Pero qué pasa si quiero saber cómo se relacionan los botes con
00:32:22los plátanos? Suena aleatorio, pero ¿y si lo necesitara? Ya sabes, este enfoque estándar de base de datos vectorial
00:32:31y RAG ingenuo... todo está un poco aislado; es difícil conectar información y mucho depende
00:32:36de qué tan bien estructurados estén incluso esos documentos originales. ¿Están estructurados de una manera
00:32:41que tenga sentido para el RAG? A lo largo de los años, hemos ideado algunas formas de aliviar estos problemas,
00:32:46cosas como re-clasificadores (re-rankers) o sistemas de clasificación que analizan todos los vectores que tomamos y esencialmente
00:32:51hacen otra pasada sobre ellos con un modelo de lenguaje grande para clasificarlos en términos de su relevancia. Pero,
00:32:56en general, este sistema de RAG ingenuo ha caído un poco en desuso. Sin embargo, sigue siendo importante
00:33:03entender cómo funciona esto a un nivel fundacional para que pueda informar tus decisiones si optas por un
00:33:07enfoque de RAG más robusto. Porque si no entiendes cómo funcionan la fragmentación o los embeddings,
00:33:13¿cómo puedes tomar decisiones sobre cómo deberías estructurar tus documentos cuando hablamos de
00:33:17algo como Graph RAG o hablamos de sistemas de embedding más complicados como el nuevo
00:33:22de Google, que en realidad puede ingerir no solo texto, sino videos? Y si no entiendes
00:33:27esta base, es difícil que entiendas esta trampa. Y la trampa es que
00:33:31simplemente hemos creado un motor de búsqueda mediocre. Porque con estos sistemas de RAG ingenuos donde todo lo que
00:33:36hacemos es tomar fragmentos y realmente no podemos entender las relaciones entre ellos, ¿en qué se diferencia esto
00:33:42básicamente de tener un sistema de "Control+F" sobrecomplicado? La respuesta es que realmente no hay
00:33:48mucha diferencia. Por eso, en estas estructuras de RAG simplistas y algo anticuadas que en realidad
00:33:54todavía están por todas partes... si ves a alguien que dice: "Ah, aquí está mi sistema RAG de Pinecone"
00:33:58o "aquí está mi sistema RAG de Supabase", y no mencionan nada sobre Graph RAG,
00:34:03o no mencionan nada como: "Oye, aquí es como tenemos el sistema sofisticado de re-ranker",
00:34:07va a ser un asco, al nivel de que la efectividad real de esto es como el
00:34:1225% de las veces que aciertas en algo. Es casi mejor adivinar. Así que si no sabes eso
00:34:18al entrar, definitivamente puedes ser engañado, confundido o, en algunos casos, básicamente estafado
00:34:23para comprar estos sistemas RAG que no tienen sentido. Por eso el nivel cinco no trata de implementar
00:34:28estos sistemas de RAG ingenuos; trata de entender cómo funcionan para que cuando
00:34:34llegue el momento de implementar algo más sofisticado, realmente entiendas lo que está pasando. Porque
00:34:38esa explicación de cinco minutos de RAG es, lamentablemente, algo que la mayoría de la gente no entiende cuando dice:
00:34:43"Necesito un sistema RAG". Bueno, ¿lo necesitas? Porque también tienes que preguntarte qué tipo de preguntas
00:34:48estás haciendo realmente a tu sistema. Si solo estás preguntando... esencialmente tratando a tu base de
00:34:54conocimientos como un libro de reglas gigante y solo necesitas cosas específicas de ese sistema de conocimiento
00:34:59que se presenten, bueno, entonces Obsidian es probablemente suficiente, o incluso podrías salirte con la tuya con un
00:35:02sistema de RAG ingenuo. Pero si necesitamos saber sobre relaciones, si necesitamos saber cómo interactúa X con Y y
00:35:09son dos documentos separados, nunca se mencionan el uno al otro y no es algo
00:35:13que pueda simplemente meter dentro del contexto directamente porque tengo miles de dichos documentos, bueno, ahí es
00:35:19cuando vas a necesitar RAG y vas a necesitar algo más sofisticado
00:35:23que el RAG vectorial básico. Ahí es cuando necesitamos empezar a hablar de Graph RAG. Así que cuando hablamos del nivel
00:35:29seis de Claude Code y RAG, estamos hablando de Graph RAG y estamos hablando de esto. Y en mi
00:35:34opinión, si vas a usar RAG, este es el nivel mínimo de infraestructura que necesitas
00:35:39crear. Esto es usar LightRAG, que es una herramienta completamente de código abierto (pondré un enlace arriba donde
00:35:44explico exactamente cómo usarlo y cómo construirlo), pero la idea de Graph RAG es bastante obvia: es
00:35:50la idea de que todo está conectado. Esto no es una base de datos vectorial con un montón de vectores aislados;
00:35:55este es un montón de cosas conectadas entre sí. Hago clic en este documento, puedo ver aquí
00:36:00a la derecha (y moveré esto) la descripción del vector, el nombre, el tipo, el
00:36:05archivo, el fragmento y, lo que es más importante, las diferentes relaciones. Y este enfoque basado
00:36:10en relaciones da como resultado resultados más efectivos. Aquí hay un gráfico del GitHub de LightRAG; esto
00:36:15tiene unos seis u ocho meses y también cabe destacar que LightRAG es el sistema de Graph RAG más ligero
00:36:23que existe y que yo conozca. Hay algunas versiones muy robustas, incluyendo el propio GraphRAG
00:36:30de Microsoft; es un grafo, literalmente se llama GraphRAG. Pero cuando comparamos el RAG ingenuo con LightRAG,
00:36:35en general obtenemos saltos de a menudo más del 100 por ciento, ¿verdad? 31.6 frente a 68.4,
00:36:4324 frente a 75 y así sucesivamente. Dicho esto, según LightRAG,
00:36:49realmente se mantiene firme y supera al propio GraphRAG, pero bueno, son los números de LightRAG, así que
00:36:54tómalo con cautela. Ahora, cuando miramos este sistema de grafo de conocimiento, tu mente
00:36:58probablemente vaya de inmediato a Obsidian porque se ve muy similar. Sin embargo, lo que vemos aquí en
00:37:04Obsidian es mucho más rudimentario que lo que sucede dentro de LightRAG o cualquier sistema GraphRAG,
00:37:10porque esta serie de conexiones que vemos aquí es totalmente manual y algo arbitraria; solo están
00:37:16conectados porque establecimos documentos relacionados o Claude Code los estableció cuando generó
00:37:22este documento en particular; por ejemplo, solo añadió un par de corchetes y, ¡pum!, el documento se conectó.
00:37:27Así que, en teoría, podría conectar un montón de documentos aleatorios que en realidad no tienen nada que ver
00:37:30entre sí. Ahora, como Claude Code no es tonto, no va a hacer eso, pero es muy diferente
00:37:35a lo que pasó aquí; esto pasó por un sistema de incrustación real, analizó el contenido real,
00:37:41estableció una relación, envió una entidad... hay mucho más trabajo ocurriendo aquí dentro de
00:37:46LightRAG en términos de definir las relaciones que en Obsidian. Ahora bien, ¿esa diferencia realmente
00:37:52equivale a una brecha salvaje en términos de rendimiento? A bajo nivel, quizá; a gran escala, puede que también.
00:38:02Estamos en esa zona gris que depende de tu escala y de lo que estemos hablando realmente,
00:38:07y nadie puede responder esa pregunta excepto tú con algo de experiencia personal. Pero entiende que estas
00:38:13dos cosas no son iguales; no somos iguales, hermano. Son dos sistemas totalmente diferentes: uno es muy
00:38:20sofisticado y el otro es bastante rudimentario. Entiende eso. Y para cerrar el Nivel 6 con GraphRAG,
00:38:26estamos aquí cuando hemos decidido que cosas como Obsidian no funcionan, que no podemos usar
00:38:31algo como un RAG ingenuo porque simplemente no sirve, y necesitamos algo que pueda extraer entidades
00:38:36y relaciones, y realmente aprovechar este diseño de sistema de consulta híbrido de vector más grafo.
00:38:43Pero hay algunas trampas, hay algunos obstáculos serios incluso aquí en el Nivel 6. Cuando hablamos
00:38:48de LightRAG, esto es solo texto. ¿Qué pasa si tengo PDFs escaneables, o vídeos, o
00:38:55imágenes? No vivimos en un mundo donde todos tus documentos van a ser solo Google Docs,
00:39:01así que, ¿qué hacemos en esos casos? La recuperación multimodal es algo enorme y, además, ¿qué tal si
00:39:06aportamos algunas cualidades más agénticas a estos sistemas? Darles un poco más de poder de IA, algún tipo de
00:39:11impulso en ese departamento. Bueno, si hablamos de cosas multimodales, finalmente podemos pasar
00:39:17a lo que es la vanguardia del RAG hoy en día, en abril de 2026. De eso trata el Nivel 7.
00:39:24Ahora, cuando hablamos del Nivel 7 en RAG agéntico, en lo que queremos enfocarnos aquí
00:39:31es en las cosas que tienen que ver con la ingesta multimodal. Hemos hecho vídeos sobre esto, cosas como
00:39:36Rag-Anything, que nos permite importar imágenes y documentos que no son de texto (de nuevo, piensa en PDFs escaneables)
00:39:44en estructuras como el grafo de conocimiento de LightRAG que viste aquí. También tenemos nuevos lanzamientos como
00:39:49Gemini Embedding 2, que acaba de salir en marzo y nos permite incrustar vídeos en nuestra
00:39:56base de datos de vectores; vídeos en sí. Y francamente, hacia allí se dirige este espacio. No basta con
00:40:01documentos de texto. ¿Cuánta información, cuánto conocimiento está atrapado en Internet, especialmente en sitios
00:40:06como YouTube, donde todo es puramente vídeo? Y queremos algo más que una simple transcripción; una
00:40:10transcripción no es suficiente. Así que este problema multimodal es real y, de nuevo, esto es algo que
00:40:16salió hace apenas unas semanas. El Nivel 7 es también donde debemos empezar a prestar atención a nuestra
00:40:20arquitectura y flujos de trabajo en lo que respecta a los datos que entran y salen de nuestro sistema RAG. No
00:40:25basta con meter los datos aquí; genial, tenemos todas estas conexiones y
00:40:30demás. ¿Pero cómo llegan los datos allí? ¿Cómo llegan en el contexto de un equipo?
00:40:35¿Cómo salen los datos de allí? Por ejemplo, ¿qué pasa si parte de la información aquí ha cambiado en un
00:40:40documento específico? ¿Qué pasa si alguien lo edita? ¿Cómo se actualiza? ¿Y si añadimos duplicados? ¿Quién puede
00:40:46realmente poner estas cosas ahí? Cuando hablamos de cosas a nivel de producción, estas son preguntas
00:40:50que debes empezar a hacerte. Y así, cuando miramos un sistema RAG agéntico como este de
00:40:54n8n, puedes ver que la gran mayoría de la infraestructura, todo lo delineado aquí, tiene que ver con
00:41:01la ingesta y sincronización de datos. Solo hay una parte muy pequeña que tiene que ver con el RAG en sí,
00:41:06que está justo ahí, porque necesitamos sistemas que limpien los datos, que sean capaces de ver que acabamos de
00:41:11ingerir este documento, que de hecho era la versión 2 de la versión 1, ¿podemos ahora volver y limpiar esos datos?
00:41:17Aquí hay algo como un flujo de ingesta de datos donde los documentos no se ponen directamente en el
00:41:21sistema o en LightRAG; en su lugar, los ponemos en algo como Google Drive y desde allí se ingieren
00:41:27en el sistema GraphRAG y se registran. Este es el tipo de cosas que realmente determinarán el éxito
00:41:31de tu sistema RAG cuando lo uses de verdad. Y cuando hablamos de RAG agéntico, puedes ver aquí, y
00:41:37sé que esto está bastante borroso, pero si tenemos un agente de IA ejecutando todo este programa... imagina
00:41:42algún tipo de chatbot para tu equipo. ¿Necesita consultar siempre esta base de datos? La respuesta es
00:41:49probablemente no. Lo más seguro es que, en un entorno de equipo o negocio, vayas a tener información
00:41:54que esté en una base de datos como esta, como texto, pero probablemente también tengas otro conjunto
00:41:58de bases de datos, como bases Postgres estándar con un montón de información que quieras consultar
00:42:03con SQL también. Así que, cuando hablamos de un sistema RAG agéntico, necesitamos algo que tenga todo eso:
00:42:08la capacidad de decidir inteligentemente si va a consultar la base de datos GraphRAG representada
00:42:15aquí, o si simplemente va a realizar algunas consultas SQL en Postgres. Estas cosas pueden volverse
00:42:20complicadas, ¿verdad? Y todo esto depende del caso de uso, por eso a veces es difícil
00:42:23hacer estos vídeos e intentar cubrir cada caso particular. El punto aquí en el Nivel 7 no
00:42:30es que necesariamente haya algún súper sistema RAG del que nunca hayas oído hablar; es que
00:42:34el diablo está en los detalles, y eso es principalmente la parte de la ingesta de datos y mantenerlos
00:42:39actualizados, pero también cómo accedes realmente a esto. Es fácil en una demostración justo aquí: oh,
00:42:46simplemente vamos a LightRAG, voy a recuperación y hago preguntas. Es un escenario diferente cuando
00:42:50hablamos de ello con un equipo y todos lo abordan desde diferentes ángulos, y probablemente
00:42:55no quieras que todos tengan acceso para subir cosas a LightRAG directamente en una aplicación web.
00:43:01Dicho esto, para el operador individual que intenta crear algún tipo de sistema RAG sofisticado
00:43:07que sea capaz de hacer cosas multimodales, sugeriría la combinación de Rag-Anything más LightRAG.
00:43:14He hecho un vídeo sobre eso, y si no lo he enlazado ya, lo pondré arriba. Lo sugiero por varias
00:43:19razones: una es que es de código abierto y ligero, así que no es como si estuvieras gastando mucho dinero
00:43:26o tiempo para poner algo así en marcha para asegurarte de que realmente tiene sentido para tu caso de uso.
00:43:31De nuevo, lo que queremos es no quedarnos atrapados en sistemas donde no hay salida y
00:43:37donde gastamos un montón de dinero para llegar, por eso me encanta Obsidian y siempre recomiendo cosas
00:43:42como LightRAG y Rag-Anything porque, oye, si lo pruebas y no te funciona o no
00:43:45tiene sentido, pues no pasa nada, perdiste unas cuantas horas; no es como si estuvieras
00:43:50gastando un montón de dinero en el GraphRAG de Microsoft, que de ninguna manera es barato. Entonces, ¿cuándo
00:43:56sabes que estás en el Nivel 7? Realmente con cosas multimodales: necesitas indexar imágenes, tablas y vídeos,
00:44:02e integrar algún tipo de sistema de agentes donde este pueda decidir inteligentemente qué camino tomar
00:44:06para responder la información. Porque en el Nivel 7, probablemente estés integrando todo esto; probablemente
00:44:12tengas un archivo Claude .md con información permanente, probablemente lo tengas en una base de código con archivos Markdown
00:44:16que tienen sentido para una recuperación fácil; tal vez también estés incluyendo Obsidian
00:44:20con algún tipo de bóveda, además de tener alguna sección de documentos en una base de datos GraphRAG,
00:44:25y tienes un sistema de IA al principio del embudo que puede decidir: si preguntan esto, voy por
00:44:33esta ruta. Esa es una arquitectura de memoria madura que sugeriría. ¿Pero cuál es la trampa aquí?
00:44:40La trampa, honestamente, es intentar forzarte a este nivel y a este tipo de sofisticación cuando
00:44:47simplemente no es necesario. Para ser honesto, después de todo esto, la mayoría de ustedes estarán bien con Obsidian;
00:44:52es más que suficiente. No necesitas GraphRAG, realmente no necesitas RAG en general, y si no es obvio que
00:44:57necesitas el Nivel 7, y ciertamente si no has probado ya la ruta de Obsidian, no necesitas estar aquí;
00:45:01probablemente sea una pérdida de tiempo. Pero todo el punto de este vídeo era, en la medida de lo posible,
00:45:07exponerte a lo que veo como los diferentes niveles de RAG, la memoria y Claude Code, y qué
00:45:12es este problema, cuáles son algunas de las tensiones, los compromisos y dónde deberías estar probablemente
00:45:18para tu caso de uso. De nuevo, lo más importante es simplemente experimentar; no tienes que saber la respuesta
00:45:24antes de meterte en esto. Solo pruébalos, y yo lo intentaría en orden ascendente si puedes.
00:45:28Si te basta con archivos Markdown en un sistema de Claude y es básicamente Claude.md potenciado, genial, adelante.
00:45:34Luego prueba Obsidian; si Obsidian no es suficiente, prueba LightRAG, y así sucesivamente. Así que ahí
00:45:39es donde los voy a dejar hoy. Si quieren aprender más, especialmente sobre el lado de la producción
00:45:43de RAG, como cómo montar esto para un equipo o empaquetarlo para un cliente, tenemos todo un módulo
00:45:47sobre eso dentro de Chase AI Plus, así que échenle un vistazo. Por lo demás, díganme qué les pareció;
00:45:52sé que este fue largo y nos vemos por aquí.

Key Takeaway

La optimización de la memoria en Claude Code requiere una progresión desde archivos Markdown estructurados e índices en Obsidian hasta sistemas GraphRAG multimodales para evitar una degradación del contexto de hasta el 14%.

Highlights

La degradación del contexto reduce la efectividad de Claude Code del 92% al 78% cuando se alcanzan los 256,000 tokens en una sesión.

El uso de sistemas RAG textuales en comparación con LLMs puros reduce los costos y aumenta la velocidad de respuesta en un factor de 1200x.

El archivo CLAUDE.md inyecta instrucciones en cada prompt, pero un exceso de reglas estáticas disminuye el rendimiento del modelo por saturación de ruido.

Obsidian funciona como una solución de gestión de memoria gratuita que cubre el 99% de las necesidades de desarrolladores individuales sin complejidad técnica.

LightRAG supera al RAG convencional con mejoras de precisión del 31.6% al 68.4% mediante el uso de grafos de conocimiento basados en relaciones.

Gemini Embedding 2 permite la indexación directa de contenido de video en bases de datos vectoriales para una recuperación multimodal completa.

Timeline

Degradación del contexto y fallos de la automemoria

  • La función nativa de automemoria genera archivos Markdown en la carpeta .claude/projects/memory basados únicamente en la intuición del modelo.
  • El miedo a perder el hilo de la conversación provoca sesiones excesivamente largas que disparan el consumo de tokens y reducen la precisión.
  • La efectividad de Claude Code cae significativamente una vez que se llena apenas el 25% de la ventana de contexto de un millón de tokens.

Los sistemas de memoria por defecto resultan insuficientes porque el usuario carece de control sobre qué información decide recordar el asistente. Esta saturación de la ventana de contexto genera respuestas menos precisas y costos operativos más altos. La solución inmediata es adoptar un papel activo en la limpieza de la sesión y la gestión explícita de la información relevante.

Gestión de reglas con CLAUDE.md y arquitecturas de estado

  • El archivo CLAUDE.md actúa como el estándar de oro para definir convenciones y reglas que el modelo consulta antes de cada tarea.
  • La fragmentación de la memoria en archivos específicos como project.md, requirements.md y roadmap.md combate la contaminación del contexto.
  • La inyección constante de instrucciones irrelevantes en cada prompt mediante archivos de configuración densos degrada el rendimiento del lenguaje.

El uso de CLAUDE.md debe seguir la filosofía de que menos es más para evitar el ruido en el procesamiento. Herramientas de orquestación como GSD dividen la memoria en fragmentos lógicos para que el modelo sepa exactamente qué se está construyendo y qué queda pendiente. Esta estructura rudimentaria de fragmentación es el primer paso hacia sistemas de recuperación más complejos.

Obsidian como base de conocimientos escalable

  • Obsidian permite estructurar miles de documentos mediante una jerarquía de bóveda, wiki e índices maestros sin necesidad de bases de datos vectoriales.
  • La organización manual de archivos en carpetas de datos brutos y artículos estructurados facilita que la herramienta grep de Claude encuentre información precisa.
  • La transición a RAG formal solo es necesaria cuando el volumen de documentos hace que el procesamiento de texto plano sea demasiado lento o costoso.

Para el desarrollador individual, Obsidian representa la solución óptima debido a que no tiene costos de mantenimiento y ofrece una visualización clara de las conexiones entre notas. Una estructura bien definida con índices claros permite manejar cientos de archivos con una efectividad similar a sistemas más complejos. La experimentación es el único método para determinar el punto exacto donde el costo de tokens justifica el cambio a una base de datos vectorial.

Mecánica del RAG ingenuo y bases de datos vectoriales

  • El proceso RAG divide documentos en fragmentos que un modelo de embedding convierte en vectores numéricos dentro de un espacio multidimensional.
  • La búsqueda por similitud semántica recupera fragmentos relevantes para aumentar la respuesta del LLM con datos externos no incluidos en su entrenamiento.
  • El RAG ingenuo falla frecuentemente al ignorar las relaciones entre fragmentos y actuar como un buscador de palabras clave sobrecomplicado.

Los sistemas RAG tradicionales pueden tener una tasa de acierto de apenas el 25% si no se implementan técnicas de re-clasificación o estructuras de grafos. El problema principal es el aislamiento de la información, donde un fragmento recuperado puede perder el sentido si depende del contexto de otro fragmento no seleccionado. Comprender estos fundamentos es vital para no adquirir infraestructuras mediocres que solo realizan búsquedas superficiales.

GraphRAG y la vanguardia de la recuperación multimodal

  • LightRAG implementa un sistema de consulta híbrido que combina vectores con grafos para entender las relaciones entre distintas entidades de datos.
  • El RAG agéntico de nivel 7 integra la ingesta de videos, imágenes y PDFs escaneables mediante herramientas como Rag-Anything.
  • La infraestructura de producción exitosa se centra en la sincronización y limpieza de datos entre Google Drive, Postgres y el sistema GraphRAG.

El nivel más alto de madurez en IA implica el uso de agentes que deciden inteligentemente si consultar una base de datos de grafos o realizar consultas SQL en Postgres. La integración de Gemini Embedding 2 marca un hito al permitir que el conocimiento atrapado en videos sea accesible para el sistema. Sin embargo, se advierte que forzar este nivel de sofisticación sin haber agotado opciones más simples como Obsidian suele ser una pérdida de tiempo y recursos.

Community Posts

View all posts