Buenas, esto es BIMPRAXIS, el podcast donde el
BIM se encuentra con la inteligencia artificial.
Exploramos la ciencia, la tecnología y el futuro
desde el enfoque de la arquitectura, ingeniería y
construcción.
¡Empezamos!
¡Hola, humanas y humanos!
Aquí estamos con un episodio nuevo de BIMPRAXIS.
En el episodio de hoy seguimos con la
serie dedicada a los RAG, los Retrieval Aumented
Generation.
Hoy traemos una potente combinación de técnicas.
Una combinación muy, muy potente, sí.
Vamos a ver cómo estos sistemas están empezando
a, bueno, a razonar de verdad.
Exacto.
El objetivo de los RAG, para poner un
poco de contexto, es dar a las IAs
la capacidad de buscar en nuestro propio conocimiento,
en nuestros documentos, vaya.
Pero claro, no todas las formas de buscar.
Son iguales.
Y creo que lo mejor es empezar por
la más básica, la que a veces llaman
RAG vainilla o RAG ingenuo.
Sí, es el punto de partida de todo
esto.
El RAG, digamos, clásico.
Venga, pues explícanos ese flujo tradicional.
A ver, es bastante lineal.
Primero, coges tus documentos, lo que sea, PDFs,
webs, da igual.
Y los partes en trocitos más pequeños.
Se les suele llamar chunks.
Claro, porque no puedes meter un informe de
100 páginas de golpe en el computador.
En el contexto del modelo no cabe.
Ni cabe ni es eficiente.
Una vez tienes esos fragmentos, creas una representación
vectorial de cada uno.
Un embedding.
O sea, lo traduces a números que la
máquina entiende.
Precisamente.
Y esos vectores, esos números, los guardas en
una base de datos vectorial.
El ejemplo de la fuente, de hecho, usa
PostgreSQL con la extensión pgVector, que es muy
popular para esto.
Vale.
Conocimiento troceado y convertido en vectores.
Y ahora llega la pregunta del usuario.
Y se repite el proceso.
La pregunta también se convierte en un vector.
Y entonces lo que hace el sistema es
buscar en la base de datos qué fragmentos
tienen los vectores más parecidos, más cercanos al
de la pregunta.
Y esos fragmentos son los que se usan
como contexto para que el LLM, el modelo
de lenguaje, genere la respuesta final.
Exacto.
Se le dice.
Responde a esto, pero usando esta información.
Suena bastante lógico.
Entonces, ¿dónde está el problema?
¿Cuál es la pega?
Pues mira, la principal debilidad es su inflexibilidad.
Es una tubería totalmente rígida.
¿Una tubería?
Sí.
El contexto se recupera y se inyecta la
fuerza en el prompt del LLM.
El agente de IA no tiene ninguna opción.
Ah, vale.
Debe usar ese contexto.
Sí o sí.
Le guste o no le guste, sea relevante
o no.
Es como si no pudiera levantar la mano
y decir, oye, esto que me has dado
no me sirve.
Justo.
No puede refinar su búsqueda ni pensar en
una estrategia mejor.
Ni consultar otras fuentes si las tuviera.
Es un receptor pasivo.
Vale.
Entonces necesitamos darle más autonomía, más iniciativa.
Aquí es donde entra en juego el concepto
de Agent X RAG, ¿no?
Exactamente.
Ahí está el cambio de paradigma.
La idea central es dar a la gente
la capacidad de razonar sobre cómo explora la
base de conocimiento.
Que deje de ser un simple ejecutor de
órdenes.
Eso es.
En lugar de ese paso previo forzado, el
agente ahora puede, por ejemplo, formular sus propias
consultas para buscar.
O sea, reformular mi pregunta para que la
base de datos la entienda mejor.
Sí.
O puede decidir si necesita buscar más información
o refinar la búsqueda que ya ha hecho.
Y lo más importante, puede elegir entre diferentes
herramientas o fuentes de conocimiento si las tiene
disponibles.
Es un cambio fundamental, vaya.
De ser un receptor pasivo de contexto a
ser un explorador activo de la información.
Totalmente.
¿Qué pasa de ser un bibliotecario que solo
busca en el fichero?
¿Qué le dicen a ser un investigador que
decide qué libros consultar?
Y aquí es donde se pone realmente interesante.
Porque el material que analizamos no se queda
solo en darle autonomía a la gente, sino
que le da una herramienta completamente diferente.
Los grafos de conocimiento.
Y esto es crucial.
Porque no es solo darle a elegir, es
darle opciones que son conceptualmente distintas.
A ver, explícanos la diferencia.
¿Base de datos vectorial?
¿Oltragrafo de conocimiento?
Mira, la base de datos vectorial es ideal
para encontrar información por similitud semántica.
Lo que hablábamos.
Responde genial a preguntas como, ¿qué iniciativas de
IA tiene Google?
Buscará textos que usen palabras parecidas a Google,
IA, iniciativas.
Correcto.
Pero un grafo de conocimiento, un knowledge graph,
juega en otra liga.
Su fuerte no es la similitud, son las
relaciones, las conexiones entre entidades.
¿No almacena solo datos?
No, no almacena solo datos, sino cómo se
conectan esos datos.
Ahí está la clave.
Usa ejemplos muy claros en la fuente.
Por ejemplo, no tienes solo un nodo Amazon
y un nodo Anthropic.
Tienes el nodo Amazon que se relaciona con
el nodo Anthropic a través de un enlace,
una relación, que dice ha invertido en.
¡Ostras!
¡Claro!
O el nodo Microsoft que se relaciona con
OpenAI a través de relaciones como son socios
o usa exclusivamente Azure.
Captura la estructura, el esqueleto del conocimiento.
Lo veo.
El agente ahora tiene dos formas muy distintas
de ver la misma información.
Una es semántica y la otra es...
Relacional.
Una es una biblioteca y la otra es
un mapa de conexiones.
Y eso le da una potencia increíble.
Vamos a llevar esto a la práctica, que
creo que es como mejor se va a
entender.
La fuente describe un agente que tiene acceso
a las dos herramientas.
Y lo interesante es ver cómo elige una
u otra según la pregunta.
Sí.
La demostración es muy, muy clara.
Ponen tres ejemplos.
El primero, una pregunta sencilla.
¿Cuáles son las iniciativas de IA de Google?
La que ya hemos dicho.
Un caso de libro para la búsqueda vectorial.
Y el agente lo pilla al vuelo.
Su razonamiento interno es algo como...
A ver, la pregunta va sobre una única
entidad, Google.
No necesito explorar relaciones complejas.
No hay que conectar puntos, vaya.
Exacto.
Así que su acción es clara.
Elige usar la búsqueda vectorial.
¿Recupera los fragmentos sobre Google?
¿Recupera los fragmentos sobre Google y responde?
¿Eficiente y directo?
Vale.
Fácil.
Segundo escenario.
La segunda pregunta es, ¿cómo se relacionan OpenAI
y Microsoft?
Ah, amigo.
Aquí la palabra clave es relacionan.
Es una pista enorme.
Es un dispararar total.
El agente detecta que la pregunta va explícitamente
sobre la conexión entre dos entidades.
Con lo cual...
Con lo cual, elige usar la búsqueda en
el grafo.
Ignora la biblioteca de textos y se va
directo al mapa de conexiones.
Sigue el enlace entre el nodo OpenAI y
el nodo Microsoft y extrae la información de
esa relación.
Es mucho más preciso.
Te evitas el ruido de encontrar un artículo
que las mencione a las dos de pasada,
pero sin explicar nada.
Va directo al grano.
Y el tercer caso es el que lo
une todo.
La pregunta es, ¿cuáles son las iniciativas de
Microsoft y cómo se relacionan con Anthropic?
Interesante.
Es una pregunta doble.
Efectivamente.
Una parte es descriptiva, sobre Microsoft.
Y la otra es relacional, sobre su conexión
con Anthropic.
Y el agente es capaz de darse cuenta,
supongo.
Sí.
Y de descomponer la pregunta.
Su razonamiento es, vale, necesito dos tipos de
información.
Por un lado, info general de Microsoft.
Para eso lo mejor es la búsqueda vectorial.
Por otro, analizar una relación.
Para eso el grafo es la herramienta.
Con lo que decide usar las dos.
Exacto.
Lanza una consulta a la base de datos
vectorial para lo de Microsoft.
Y otra a la base de datos vectorial.
Al grafo, para ver la conexión con Anthropic.
Y luego junta los dos resultados para dar
una respuesta completa.
Y lo más importante, y creo que este
es el punto clave, no es el usuario
quien elige la herramienta.
Es el agente quien razona y toma la
decisión.
Ese es el salto cualitativo.
Pasamos de un sistema que busca a un
sistema que investiga.
Esto suena muy potente, pero también me da
la sensación de que es complejo de implementar.
¿Qué piezas se necesitan para montar un sistema
así?
Bueno, no es trivial.
Pero las herramientas son cada vez más accesibles.
La fuente menciona su tech stack, su pila
tecnológica.
A ver.
Usan Vosgres con PG Vector para los vectores,
como dijimos.
Para el grafo de conocimiento usan Neo4, que
es como el estándar de la industria.
Y todo el cerebro de la gente lo
montan con una librería de Python que se
llama Pydantic A, servido con FastTP.
Vale.
Son herramientas más o menos conocidas en el
mundillo.
Sí, no es nada esotérico.
¿Qué es lo que se usa para montar
un sistema así?
La tecnología es solo una parte.
Lo que más me intriga es cómo le
dices a la gente cuándo usar cada herramienta,
cómo se le dan esas instrucciones, esas reglas.
Esa es la pregunta del millón.
Y la respuesta está en lo que se
llama el System Prompt.
¿El Prompt de Sistema?
¿Las instrucciones iniciales?
Justo.
Es el conjunto de instrucciones que guían todo
el comportamiento de la gente.
Es como su constitución.
El desarrollador define ahí las reglas de razonamiento.
Dame un ejemplo.
¿Qué es una de esas reglas?
La fuente cita uno muy claro de su
propio proyecto.
Le dicen algo como, usa el grafo de
conocimiento solo cuando el usuario pregunte por dos
empresas en la misma pregunta.
En caso contrario, usa la base de datos
vectorial.
Combina ambas solo si se te pide explícitamente.
O sea que es bastante explícito.
No es magia.
Para nada.
Es un trabajo de ingeniería de prompts muy
cuidadoso.
Tienes que pensar en los casos de uso
y traducirlos a instrucciones claras para la IA.
Y este prompt, claro, tienes que adaptarlo a
tus datos y a tu problema concreto.
Claro.
Me imagino que es un punto muy delicado.
Si el prompt es ambiguo o te dejas
fuera un caso importante, el agente puede tomar
una decisión equivocada.
Totalmente.
Es un proceso iterativo.
Pruebas, ves dónde fallar y refinas las instrucciones.
No hay una solución universal.
Y como apunte final, hay un detalle en
el material que es fascinante.
Sobre cómo se construyó este proyecto.
¿Ah, sí?
Es una capa meta que te deja pensando,
la verdad.
Cuéntalo.
El autor del proyecto comenta que para crear
gran parte del agente, utilizó un asistente de
codificación de IA.
Usó Cloud Code.
Espera, ¿me estás diciendo que usó una IA
para programar esta otra IA?
Una IA construyendo a otra IA.
Pero lo increíble no es solo eso, es
cómo lo hizo.
¿Cómo?
No le fue dando órdenes paso a paso
en plan, ahora escribe esta función.
No.
El propio proceso de desarrollo fue agéntico.
¿Qué quieres decir?
¿Qué quieres decir con eso?
Pues que le dio al asistente de codificación
un plan de alto nivel, una lista de
tareas y unas reglas generales.
¿Y con eso?
¿Lo dejó trabajar solo?
Lo dejó trabajar solo durante largos periodos.
La fuente habla de una sesión de 35
minutos seguidos en la que la IA estuvo
escribiendo código, creando las bases de datos, validando
su trabajo.
¡Madre mía!
Es un agente de IA que, de forma
autónoma, construye otro agente de IA.
Es una muñeca rusa de inteligencia artificial.
Así que, ¿cuál es…?
¿Cuál es la gran conclusión de todo esto,
la idea con la que nos tenemos que
quedar?
Pues yo diría que la idea principal es
que estamos yendo más allá de la simple
recuperación de información.
La combinación de este enfoque agéntico, con múltiples
formas de ver el conocimiento, vectores y grafos,
permite a las IAs no sólo recuperar datos,
sino hacerlo de una forma mucho más inteligente.
¿Mucho más humana?
Eligiendo la herramienta adecuada para cada tarea, como
haría un experto.
Exacto.
Ya no se trata sólo de buscar, se
trata de investigar.
Y esto me lleva a una reflexión final,
un pensamiento un poco provocador.
Si un agente de IA ya puede aprender
a elegir la mejor herramienta para buscar en
la información que le damos… ¿Qué pasará cuando
empiece a cuestionar la calidad de esas fuentes
que le proporcionamos?
¿Cuándo pasará de ser un recuperador de datos
a un evaluador crítico del conocimiento?
Nos despedimos por hoy, recordándoos que las voces
que escuchas han sido generadas por una IA,
Notebook LM.
Aunque el podcast no carece del factor humano,
porque en la trastienda está Julio Pablo Vázquez,
que investiga buscando temas interesantes que traeros prácticamente
todos los días.
Os manda saludos.
Hasta el próximo episodio, queridos humanos.
Y hasta aquí el episodio de hoy.
Muchas gracias por tu atención.
Esto es BIMPRAXIS.
El próximo episodio.