1 00:00:10,000 --> 00:00:15,800 Buenas, esto es BIMPRAXIS, el podcast donde el 2 00:00:15,800 --> 00:00:17,920 BIM se encuentra con la inteligencia artificial. 3 00:00:20,519 --> 00:00:23,620 Exploramos la ciencia, la tecnología y el futuro 4 00:00:23,620 --> 00:00:26,559 desde el enfoque de la arquitectura, ingeniería y 5 00:00:26,559 --> 00:00:27,179 construcción. 6 00:00:28,859 --> 00:00:29,519 ¡Empezamos! 7 00:00:37,520 --> 00:00:39,859 Vale, vamos a meternos de lleno. 8 00:00:39,939 --> 00:00:41,420 Hoy tenemos sobre la mesa un conjunto de 9 00:00:41,420 --> 00:00:45,799 fuentes bastante ecléctico sobre una herramienta llamada LangGraph. 10 00:00:45,920 --> 00:00:46,219 ¡Um! 11 00:00:46,219 --> 00:00:48,560 Sí, hay un poco de todo. 12 00:00:48,560 --> 00:00:49,560 Hay de todo. 13 00:00:49,880 --> 00:00:54,119 Desde guías para principiantes, la documentación oficial, que 14 00:00:54,119 --> 00:00:57,659 es bastante densa, hasta hilos de debate muy 15 00:00:57,659 --> 00:00:58,719 intensos en Reddit. 16 00:00:58,820 --> 00:01:01,380 Ahí es donde está la salsa, claro. 17 00:01:01,380 --> 00:01:02,399 Totalmente. 18 00:01:02,399 --> 00:01:04,120 Y la misión es entender por qué algunos 19 00:01:04,120 --> 00:01:07,420 la describen como algo fundacional, una palabra bastante 20 00:01:07,420 --> 00:01:10,920 fuerte para construir aplicaciones de inteligencia artificial que 21 00:01:10,920 --> 00:01:13,459 sean a la vez complejas y fiables. 22 00:01:13,519 --> 00:01:15,000 Efectivamente. 23 00:01:15,000 --> 00:01:17,140 Y el reto, yo creo, está en separar 24 00:01:17,140 --> 00:01:18,900 un poco la promesa de la realidad. 25 00:01:19,859 --> 00:01:22,500 Las fuentes no solo nos dicen qué es, 26 00:01:22,500 --> 00:01:24,719 sino que abren un debate muy interesante sobre 27 00:01:24,719 --> 00:01:26,040 por qué es necesaria. 28 00:01:26,599 --> 00:01:27,319 Claro. 29 00:01:26,840 --> 00:01:30,540 O sea, ¿qué problema resuelve que su predecesor, 30 00:01:30,540 --> 00:01:32,379 Landchain, no podía? 31 00:01:32,599 --> 00:01:35,260 Y sobre todo, ¿qué opinan los desarrolladores que 32 00:01:35,260 --> 00:01:36,879 se están quejando con ella en el día 33 00:01:36,879 --> 00:01:37,280 a día? 34 00:01:37,379 --> 00:01:39,400 Es que es fascinante ver cómo una pieza 35 00:01:39,400 --> 00:01:42,620 de software puede generar opiniones tan polarizadas, ¿verdad? 36 00:01:42,359 --> 00:01:43,780 Muchísimo. 37 00:01:43,739 --> 00:01:45,200 Pues empecemos por el principio, entonces. 38 00:01:45,200 --> 00:01:47,219 ¿Por qué nace LangGraph? 39 00:01:47,280 --> 00:01:49,099 Una de las fuentes de un blog llamado 40 00:01:49,099 --> 00:01:52,599 Q2B Studio dice algo que parece muy simple, 41 00:01:52,599 --> 00:01:54,299 pero que es la clave de todo. 42 00:01:54,239 --> 00:01:55,000 A ver. 43 00:01:54,799 --> 00:01:56,920 Dice que la mayoría de aplicaciones de IA 44 00:01:56,920 --> 00:01:59,700 no son lineales, no van en línea recta 45 00:01:59,700 --> 00:02:00,920 del punto A al B. 46 00:02:00,920 --> 00:02:03,359 ¿A qué se refieran con eso exactamente? 47 00:02:03,400 --> 00:02:05,480 Pues esa es la madre del cordero. 48 00:02:05,480 --> 00:02:08,319 Su predecesor, Landchain, es fantástico para flujos de 49 00:02:08,319 --> 00:02:10,879 trabajo que son como una cadena de montaje. 50 00:02:10,800 --> 00:02:11,699 ¿Una secuencia? 51 00:02:11,740 --> 00:02:12,900 Eso es. 52 00:02:12,900 --> 00:02:14,419 Coges un dato, se lo pasas a un 53 00:02:14,419 --> 00:02:16,620 modelo, el resultado se lo pasas a otra 54 00:02:16,620 --> 00:02:18,419 herramienta, y así sucesivamente. 55 00:02:18,419 --> 00:02:20,939 Es una secuencia lineal. 56 00:02:20,939 --> 00:02:23,099 Y es perfecto para un prototipo rápido o 57 00:02:23,099 --> 00:02:25,539 un chatbot que responde preguntas simples. 58 00:02:25,539 --> 00:02:27,659 Pero el mundo real no funciona así. 59 00:02:27,719 --> 00:02:28,580 Para nada. 60 00:02:28,580 --> 00:02:29,879 Es mucho más caótico. 61 00:02:29,879 --> 00:02:32,319 Aquí es donde la cosa se pone interesante. 62 00:02:31,340 --> 00:02:35,360 Las aplicaciones de verdad necesitan poder dudar, tomar 63 00:02:35,360 --> 00:02:37,979 decisiones, volver sobre sus pasos si algo sale 64 00:02:37,979 --> 00:02:39,939 mal, autocorregirse. 65 00:02:39,939 --> 00:02:40,680 Claro. 66 00:02:40,680 --> 00:02:42,400 La analogía que usan en las fuentes es 67 00:02:42,400 --> 00:02:44,139 la de un diagrama de flujo, no una 68 00:02:44,139 --> 00:02:45,039 línea recta. 69 00:02:45,039 --> 00:02:45,979 Esa es la idea. 70 00:02:45,979 --> 00:02:47,199 Exacto. 71 00:02:47,199 --> 00:02:48,939 Piensa en un agente de IA que tiene 72 00:02:48,939 --> 00:02:50,319 que reservar un viaje. 73 00:02:50,860 --> 00:02:52,719 Primero busca vuelos. 74 00:02:52,719 --> 00:02:55,159 Si no hay, no puede simplemente detenerse, ¿no? 75 00:02:55,159 --> 00:02:57,259 Claro, tiene que probar otras fechas o algo. 76 00:02:57,259 --> 00:02:59,360 Tiene que probar con otras fechas, si encuentra 77 00:02:59,360 --> 00:03:01,319 un vuelo, busca uno tal. 78 00:03:01,319 --> 00:03:03,520 Si el hotel es carísimo, quizás tiene que 79 00:03:03,520 --> 00:03:05,460 volver atrás y buscar un vuelo a una 80 00:03:05,460 --> 00:03:06,979 ciudad cercana. 81 00:03:06,979 --> 00:03:08,419 ¿Eso es un grafo? 82 00:03:08,539 --> 00:03:09,819 Un mapa de decisiones. 83 00:03:09,819 --> 00:03:10,560 Justo. 84 00:03:10,560 --> 00:03:14,340 Un mapa de decisiones con bucles, bifurcaciones y 85 00:03:14,340 --> 00:03:15,560 saltos condicionales. 86 00:03:16,360 --> 00:03:18,599 LangGraph te da las herramientas para construir ese 87 00:03:18,599 --> 00:03:21,759 mapa, con sus nodos, que son las acciones, 88 00:03:21,800 --> 00:03:23,479 y sus aristas, que son las rutas que 89 00:03:23,479 --> 00:03:24,900 conectan esas acciones. 90 00:03:24,900 --> 00:03:25,860 Entiendo. 91 00:03:25,860 --> 00:03:27,759 O sea, no es una tubería, Es una 92 00:03:27,759 --> 00:03:30,099 red de carreteras y he visto que en 93 00:03:30,099 --> 00:03:32,740 otra fuente, un curso de Hugging Face, lo 94 00:03:32,740 --> 00:03:34,919 enmarcan en un concepto que me ha parecido 95 00:03:34,919 --> 00:03:36,099 muy potente. 96 00:03:36,759 --> 00:03:39,360 El equilibrio entre el control y la libertad 97 00:03:39,360 --> 00:03:40,900 del modelo de lenguaje. 98 00:03:41,280 --> 00:03:43,319 ¿Cómo encaja LangGraph en esa balanza? 99 00:03:43,759 --> 00:03:45,719 Ese punto es crucial. 100 00:03:45,939 --> 00:03:48,460 A ver, darle total libertad a un LLM 101 00:03:48,460 --> 00:03:50,300 es como darle las llaves del coche a 102 00:03:50,300 --> 00:03:53,240 un adolescente muy inteligente pero sin experiencia. 103 00:03:53,039 --> 00:03:54,379 Buena analogía. 104 00:03:53,900 --> 00:03:56,240 Puede que llegue al destino, o puede que 105 00:03:56,240 --> 00:03:58,080 acabe en otra ciudad porque vio un cartel 106 00:03:58,080 --> 00:03:59,580 que le parece interesante. 107 00:03:59,860 --> 00:04:02,099 Landchain a veces puede pecar un poco de 108 00:04:02,099 --> 00:04:02,300 eso. 109 00:04:02,599 --> 00:04:04,000 De darle demasiada libertad. 110 00:04:04,199 --> 00:04:05,139 Sí. 111 00:04:05,139 --> 00:04:08,259 LangGraph, en cambio, se posiciona firmemente en el 112 00:04:08,259 --> 00:04:09,500 lado del control. 113 00:04:09,639 --> 00:04:12,060 Te obliga a diseñar ese mapa de carreteras 114 00:04:12,060 --> 00:04:12,599 de antemano. 115 00:04:13,280 --> 00:04:15,356 El agente puede elegir qué ruta tomar en 116 00:04:15,356 --> 00:04:17,876 una bifurcación, pero no puede salirse de las 117 00:04:17,876 --> 00:04:19,416 carreteras que tú has dibujado. 118 00:04:19,416 --> 00:04:20,356 Entiendo. 119 00:04:20,356 --> 00:04:24,556 Es lo que llaman una arquitectura cognitiva controlable. 120 00:04:24,556 --> 00:04:25,496 Exacto. 121 00:04:25,496 --> 00:04:28,516 Y eso es fundamental para que una empresa 122 00:04:28,516 --> 00:04:30,536 se fíe de poner esa IA de cara 123 00:04:30,536 --> 00:04:31,976 a sus clientes. 124 00:04:31,976 --> 00:04:34,056 Necesitas esa predictibilidad. 125 00:04:34,196 --> 00:04:35,036 Vale. 126 00:04:35,036 --> 00:04:37,676 Eso deja la diferencia conceptual muy clara. 127 00:04:37,856 --> 00:04:40,216 Pero, en la práctica, si alguien está empezando 128 00:04:40,216 --> 00:04:41,716 un proyecto, ¿cómo decide? 129 00:04:42,196 --> 00:04:45,056 La guía de Q2B Studio da algunas pistas, 130 00:04:45,056 --> 00:04:46,896 pero ¿cuál sería la regla de oro para 131 00:04:46,896 --> 00:04:47,316 elegir? 132 00:04:48,236 --> 00:04:50,176 La regla de oro es preguntarse. 133 00:04:49,276 --> 00:04:53,176 ¿Mi agente necesita pensar en varios pasos y 134 00:04:53,176 --> 00:04:54,716 potencialmente corregir su rumbo? 135 00:04:55,476 --> 00:04:58,516 Si la respuesta es sí, probablemente necesites LangGraph. 136 00:04:58,516 --> 00:04:59,676 Vale. 137 00:04:59,716 --> 00:05:03,696 Para prototipos, chatbots básicos que solo clasifican o 138 00:05:03,696 --> 00:05:06,736 resumen texto, langchain es más que suficiente y 139 00:05:06,736 --> 00:05:08,576 mucho más rápido de implementar, ¿verdad? 140 00:05:09,016 --> 00:05:11,316 Pero si ya necesitas que razone, que maneje 141 00:05:11,316 --> 00:05:14,156 errores de forma inteligente… Allí es donde langchain 142 00:05:14,156 --> 00:05:15,336 se queda corto. 143 00:05:15,336 --> 00:05:18,616 Si necesita llamar a herramientas externas, dependiendo de 144 00:05:18,616 --> 00:05:21,276 una condición, o recordar el contexto de una 145 00:05:21,276 --> 00:05:24,316 tarea larga, allí es donde langgraph se vuelve 146 00:05:24,316 --> 00:05:25,456 indispensable. 147 00:05:25,116 --> 00:05:27,496 Y ojo, que aquí no se trata de 148 00:05:27,496 --> 00:05:29,196 que uno sea bueno y el otro malo, 149 00:05:29,196 --> 00:05:29,756 ¿verdad? 150 00:05:29,756 --> 00:05:32,256 Por lo que entiendo, no compiten entre sí. 151 00:05:32,636 --> 00:05:33,536 Para nada. 152 00:05:33,536 --> 00:05:35,576 Más bien, se pasan el relevo. 153 00:05:35,576 --> 00:05:38,356 LangGraph es la evolución natural cuando la complejidad 154 00:05:38,356 --> 00:05:40,056 de un proyecto crece. 155 00:05:40,056 --> 00:05:42,016 Es el siguiente paso lógico. 156 00:05:41,916 --> 00:05:43,836 O sea que usa componentes de Landchain. 157 00:05:44,456 --> 00:05:45,096 Claro. 158 00:05:45,096 --> 00:05:47,196 De hecho, usa muchos de los componentes de 159 00:05:47,196 --> 00:05:47,996 Landchain. 160 00:05:47,996 --> 00:05:50,856 Simplemente los organiza de una manera diferente, más 161 00:05:50,856 --> 00:05:51,916 robusta. 162 00:05:51,656 --> 00:05:53,276 He visto que en la documentación de IBM 163 00:05:53,276 --> 00:05:56,356 mencionan algo llamado grafos con estado. 164 00:05:56,356 --> 00:05:57,876 Suena bastante técnico. 165 00:05:57,876 --> 00:06:00,236 ¿Qué significa exactamente en este contexto y por 166 00:06:00,236 --> 00:06:01,576 qué es tan importante para LangGraph? 167 00:06:01,916 --> 00:06:05,296 Es probablemente la característica más importante y la 168 00:06:05,296 --> 00:06:07,676 que resuelve más dolores de cabeza. 169 00:06:07,676 --> 00:06:10,716 Con estado significa simplemente que el sistema tiene 170 00:06:10,716 --> 00:06:12,276 memoria de todo lo que ha pasado en 171 00:06:12,276 --> 00:06:13,676 cada paso del camino. 172 00:06:14,076 --> 00:06:15,856 Imagina que cada vez que la gente completa 173 00:06:15,856 --> 00:06:18,956 una acción, un nodo del grafo, anota en 174 00:06:18,956 --> 00:06:21,296 un cuaderno digital lo que ha hecho, los 175 00:06:21,296 --> 00:06:23,476 datos que ha obtenido y el resultado. 176 00:06:23,816 --> 00:06:25,336 Ese cuaderno es el estado. 177 00:06:25,236 --> 00:06:26,836 Y se va pasando de un paso a 178 00:06:26,836 --> 00:06:27,576 otro. 179 00:06:27,236 --> 00:06:29,196 Se va pasando de nodo a nodo, de 180 00:06:29,196 --> 00:06:30,916 forma que la gente siempre sabe de dónde 181 00:06:30,916 --> 00:06:33,496 viene y qué información tiene disponible en ese 182 00:06:33,496 --> 00:06:34,356 momento. 183 00:06:34,176 --> 00:06:35,976 Vamos, que es como tener un registro de 184 00:06:35,976 --> 00:06:37,836 vuelo detallado en todo momento. 185 00:06:37,776 --> 00:06:39,516 Y supongo que eso es una maravilla para 186 00:06:39,516 --> 00:06:40,436 depurar errores, ¿no? 187 00:06:40,916 --> 00:06:42,996 puedes ver exactamente en qué punto se torció 188 00:06:42,996 --> 00:06:43,816 el plan. 189 00:06:43,796 --> 00:06:46,156 Exacto, tienes una transparencia total. 190 00:06:46,196 --> 00:06:48,296 Y esa gestión centralizada del estado es lo 191 00:06:48,296 --> 00:06:49,516 que evita el caos. 192 00:06:49,676 --> 00:06:50,916 Hay una cita en uno de los hilos 193 00:06:50,916 --> 00:06:52,496 de Reddit que lo resume de una forma 194 00:06:52,496 --> 00:06:54,116 muy directa y brillante. 195 00:06:54,036 --> 00:06:55,216 A ver, ¿qué dice? 196 00:06:55,656 --> 00:06:58,396 Un usuario dice, Langchain es una capa de 197 00:06:58,396 --> 00:07:01,036 abstracción para los clientes de chat de IA. 198 00:07:01,196 --> 00:07:03,976 Langgraph es para cuando quieres orquestar a estos 199 00:07:03,976 --> 00:07:06,136 agentes para lograr un resultado. 200 00:07:06,496 --> 00:07:08,456 Orquestar, me gusta esa palabra. 201 00:07:09,016 --> 00:07:12,356 Y termina diciendo, básicamente, si necesitas que múltiples 202 00:07:12,356 --> 00:07:14,536 agentes trabajen juntos, usa LangGraph. 203 00:07:14,536 --> 00:07:17,416 Y creo que no se puede explicar mejor. 204 00:07:17,416 --> 00:07:19,836 Esa idea de la orquestación es muy potente. 205 00:07:19,836 --> 00:07:21,436 Y supongo que para que esa orquesta suene 206 00:07:21,436 --> 00:07:23,876 bien, no solo necesitan saber qué hacer, sino 207 00:07:23,876 --> 00:07:25,696 también recordar la partitura. 208 00:07:25,456 --> 00:07:26,956 Totalmente. 209 00:07:27,056 --> 00:07:28,916 Eso nos lleva directamente al tema de la 210 00:07:28,916 --> 00:07:31,076 memoria, que parece ser el otro gran pilar 211 00:07:31,076 --> 00:07:32,236 de todo esto. 212 00:07:31,936 --> 00:07:34,156 La capacidad es que el Unchain permita gestionar 213 00:07:34,156 --> 00:07:36,696 de una forma mucho más estructurada. 214 00:07:36,696 --> 00:07:39,316 La documentación oficial del Unchain profundiza mucho en 215 00:07:39,316 --> 00:07:41,676 esto, y es fascinante como lo plantean. 216 00:07:41,676 --> 00:07:44,036 Sí, lo dividen en dos grandes tipos que 217 00:07:44,036 --> 00:07:45,936 ayudan a entenderlo, la verdad. 218 00:07:45,936 --> 00:07:48,116 Por un lado, la memoria a corto plazo, 219 00:07:48,116 --> 00:07:49,936 la que se usa dentro de una única 220 00:07:49,936 --> 00:07:50,936 conversación. 221 00:07:50,836 --> 00:07:52,316 La de aquí y ahora. 222 00:07:52,416 --> 00:07:54,676 Eso es, la capacidad de recordar lo que 223 00:07:54,676 --> 00:07:55,916 acabamos de hablar. 224 00:07:55,676 --> 00:07:56,616 Correcto. 225 00:07:56,616 --> 00:07:58,476 Esa memoria a corto plazo es parte de 226 00:07:58,476 --> 00:08:01,316 ese cuaderno digital, de ese estado del que 227 00:08:01,316 --> 00:08:02,336 hablábamos. 228 00:08:02,336 --> 00:08:05,196 Es volátil y específica de la tarea actual. 229 00:08:05,116 --> 00:08:07,656 Vale, pero luego está el verdadero cambio de 230 00:08:07,656 --> 00:08:08,376 juego. 231 00:08:08,376 --> 00:08:10,756 La memoria a largo plazo, la que persiste 232 00:08:10,756 --> 00:08:12,396 entre diferentes conversaciones. 233 00:08:13,116 --> 00:08:14,696 Es la que permite que una gente te 234 00:08:14,696 --> 00:08:17,356 reconozca y recuerde tus preferencias de una semana 235 00:08:17,356 --> 00:08:18,336 para otra. 236 00:08:18,736 --> 00:08:19,796 Y aquí es donde a mí me voló 237 00:08:19,796 --> 00:08:22,176 la cabeza, porque usan una analogía con la 238 00:08:22,176 --> 00:08:24,136 memoria humana para categorizarla. 239 00:08:24,436 --> 00:08:25,816 Hablan de tres tipos. 240 00:08:25,816 --> 00:08:28,012 El primero es la memoria semántica. 241 00:08:28,052 --> 00:08:29,352 La de los hechos. 242 00:08:29,432 --> 00:08:30,872 Justo, para recordar hechos. 243 00:08:31,632 --> 00:08:33,352 El ejemplo que dan es, al usuario le 244 00:08:33,352 --> 00:08:35,272 gusta el lenguaje directo y habla inglés y 245 00:08:35,272 --> 00:08:36,072 Python. 246 00:08:36,392 --> 00:08:38,792 Datos puros y duros sobre alguien o algo. 247 00:08:38,792 --> 00:08:40,332 Sí, esa es la base. 248 00:08:40,532 --> 00:08:43,772 Luego suben un nivel con la memoria episodica, 249 00:08:43,752 --> 00:08:46,032 que es para recordar secuencias de acciones o 250 00:08:46,032 --> 00:08:47,712 conversaciones pasadas. 251 00:08:47,492 --> 00:08:49,152 Experiencias, por así decirlo. 252 00:08:49,372 --> 00:08:50,192 Exacto. 253 00:08:50,192 --> 00:08:52,252 En la práctica, dicen que se usa para 254 00:08:52,252 --> 00:08:56,032 darle al modelo ejemplos de interacciones exitosas. 255 00:08:56,032 --> 00:08:58,492 Es como decirle, mira, la última vez que 256 00:08:58,492 --> 00:09:00,932 pedí un resumen de un informe financiero lo 257 00:09:00,932 --> 00:09:03,212 hiciste de esta manera y el resultado fue 258 00:09:03,212 --> 00:09:04,512 perfecto. 259 00:09:04,512 --> 00:09:06,052 Hazlo así otra vez. 260 00:09:06,052 --> 00:09:07,792 Es enseñarle con el ejemplo. 261 00:09:07,792 --> 00:09:10,792 Es aprender de la experiencia, literalmente. 262 00:09:10,792 --> 00:09:13,192 Y el tercer tipo, que me parece increíble, 263 00:09:13,192 --> 00:09:15,132 es la memoria procedural. 264 00:09:15,132 --> 00:09:17,692 No se trata de recordar hechos ni experiencias, 265 00:09:17,692 --> 00:09:19,612 sino reglas y procedimientos. 266 00:09:19,612 --> 00:09:21,952 Ahí se pone la cosa muy interesante. 267 00:09:21,952 --> 00:09:23,572 El ejemplo que ponen es el de un 268 00:09:23,572 --> 00:09:26,792 agente que puede modificar sus propias instrucciones, su 269 00:09:26,792 --> 00:09:30,112 system prompt, basándose en el feedback que recibe. 270 00:09:30,112 --> 00:09:32,752 A este proceso lo llaman reflexión. 271 00:09:32,752 --> 00:09:35,732 Es un concepto muy avanzado y muy potente. 272 00:09:35,732 --> 00:09:38,112 Significa que el sistema no es estático. 273 00:09:38,212 --> 00:09:40,052 Si un agente genera un tuit para una 274 00:09:40,052 --> 00:09:42,172 campaña de marketing y un humano le dice 275 00:09:42,172 --> 00:09:44,872 esto es demasiado informal, que pasa mucho, sé 276 00:09:44,872 --> 00:09:48,392 creativo y divertido, su nueva regla podría ser 277 00:09:48,392 --> 00:09:51,712 sé creativo y divertido pero mantén un tono 278 00:09:51,712 --> 00:09:52,752 profesional. 279 00:09:52,832 --> 00:09:55,332 Es un bucle de automejora real. 280 00:09:55,232 --> 00:09:56,352 Exactamente. 281 00:09:56,352 --> 00:09:58,152 Se va puliendo a sí mismo. 282 00:09:58,232 --> 00:09:58,632 Vale. 283 00:09:58,632 --> 00:10:01,032 En papel todo esto suena increíble, casi a 284 00:10:01,032 --> 00:10:02,212 ciencia ficción. 285 00:10:02,272 --> 00:10:04,992 Un sistema que se autocorrige, que recuerda, que 286 00:10:04,992 --> 00:10:06,072 sigue un plan. 287 00:10:06,272 --> 00:10:08,812 Pero, ¿qué pasa cuando los desarrolladores intentan usar 288 00:10:08,812 --> 00:10:09,832 esto en el mundo real? 289 00:10:10,152 --> 00:10:10,832 Claro. 290 00:10:10,772 --> 00:10:13,492 Porque, en los hilos de Reddit que tenemos, 291 00:10:13,492 --> 00:10:14,992 el panorama no es tan color de rosa 292 00:10:14,992 --> 00:10:16,072 para todos. 293 00:10:15,872 --> 00:10:17,072 No, para nada. 294 00:10:17,072 --> 00:10:19,492 Aquí es donde chocamos con la dura realidad. 295 00:10:19,012 --> 00:10:22,132 Hay un comentario muy directo en el subreddit 296 00:10:22,132 --> 00:10:25,512 de Langchain que lo describe como una absoluta 297 00:10:25,512 --> 00:10:28,212 pesadilla de mantenimiento en producción. 298 00:10:28,192 --> 00:10:29,992 Uf, palabras mayores. 299 00:10:29,932 --> 00:10:32,692 Y otro usuario se queja de que probar 300 00:10:32,692 --> 00:10:35,072 un grafo complejo es un desastre. 301 00:10:35,332 --> 00:10:37,472 Y hace una comparación que creo que muchos 302 00:10:37,472 --> 00:10:39,252 desarrolladores entenderán. 303 00:10:39,092 --> 00:10:39,292 ¿Cuál? 304 00:10:39,472 --> 00:10:42,432 Lo compara con las primeras versiones de TensorFlow, 305 00:10:42,432 --> 00:10:43,952 el framework de Google. 306 00:10:43,792 --> 00:10:44,692 Ostras. 307 00:10:44,452 --> 00:10:46,532 Dice que era tan poco intuitivo y tan 308 00:10:46,532 --> 00:10:49,032 difícil de depurar que la gente huyó en 309 00:10:49,032 --> 00:10:50,612 masa a PyTorch. 310 00:10:50,612 --> 00:10:54,352 Y cualquiera que lidiara con tef.session.trizates en aquella 311 00:10:54,352 --> 00:10:56,812 época sabe exactamente a qué se refiere. 312 00:10:56,812 --> 00:10:59,012 Esa sensación de caja negra, de que no 313 00:10:59,012 --> 00:11:00,972 sabes qué está pasando dentro. 314 00:11:00,972 --> 00:11:02,992 Es esa sensación de que el framework te 315 00:11:02,992 --> 00:11:05,192 está combatiendo en lugar de ayudarte. 316 00:11:05,192 --> 00:11:07,652 La crítica es que LangGraph puede sentirse así, 317 00:11:07,652 --> 00:11:08,652 a veces. 318 00:11:08,652 --> 00:11:11,992 Demasiado complejo, demasiadas capas de abstracción. 319 00:11:11,992 --> 00:11:14,272 Esa crítica sobre la complejidad y el mantenimiento 320 00:11:14,272 --> 00:11:15,712 aparece varias veces. 321 00:11:15,712 --> 00:11:17,612 Pero claro, no todo es negativo. 322 00:11:17,612 --> 00:11:19,072 Hay gente que lo defiende a capa y 323 00:11:19,072 --> 00:11:19,352 espada. 324 00:11:19,612 --> 00:11:20,552 Por supuesto. 325 00:11:20,072 --> 00:11:22,692 Dicen que para flujos de trabajo de agentes 326 00:11:22,692 --> 00:11:25,452 es de lejos la mejor opción. 327 00:11:25,452 --> 00:11:28,012 Mencionan a uno de los creadores de LandChain, 328 00:11:28,012 --> 00:11:30,372 Lance Martin, que confirmó que el bot de 329 00:11:30,372 --> 00:11:32,772 atención al cliente de su propia empresa está 330 00:11:32,772 --> 00:11:34,612 construido con LangGraph. 331 00:11:34,572 --> 00:11:36,392 Sí, y no son los únicos. 332 00:11:36,392 --> 00:11:38,912 Las fuentes mencionan casos de uso reales en 333 00:11:38,912 --> 00:11:40,292 empresas grandes. 334 00:11:40,292 --> 00:11:42,592 Norwegian Cruise Line, por ejemplo, lo usa para 335 00:11:42,592 --> 00:11:45,492 mejorar la experiencia de reserva de sus clientes. 336 00:11:45,492 --> 00:11:48,452 También mencionan a Ali, una empresa financiera. 337 00:11:48,252 --> 00:11:50,092 Eso es, que lo está usando para sus 338 00:11:50,092 --> 00:11:51,212 agentes. 339 00:11:51,212 --> 00:11:52,752 Esto nos dice que, a pesar de las 340 00:11:52,752 --> 00:11:56,072 dificultades, hay quienes están consiguiendo sacarle un valor 341 00:11:56,072 --> 00:11:59,072 real en entornos de producción muy exigentes. 342 00:11:59,192 --> 00:12:00,992 Entonces parece que la clave no es si 343 00:12:00,992 --> 00:12:03,232 la herramienta es buena o mala, sino saber 344 00:12:03,232 --> 00:12:05,612 cuándo merece la pena la inversión de complejidad. 345 00:12:05,572 --> 00:12:06,472 Justo. 346 00:12:06,212 --> 00:12:07,992 He encontrado un comentario en el softreddit de 347 00:12:07,992 --> 00:12:09,992 IAI Agents que me ha parecido oro pulo. 348 00:12:10,552 --> 00:12:12,972 Un desarrollador proponía un enfoque muy pragmático para 349 00:12:12,972 --> 00:12:14,452 decidir cuándo usar LangGraph. 350 00:12:14,652 --> 00:12:16,432 ¿Te suena esta idea de empezar con algo 351 00:12:16,432 --> 00:12:18,352 simple y solo migrar cuando la cosa se 352 00:12:18,352 --> 00:12:19,552 complica de verdad? 353 00:12:19,532 --> 00:12:20,412 Totalmente. 354 00:12:20,412 --> 00:12:22,772 Es el principio de no uses un martillo 355 00:12:22,772 --> 00:12:24,292 para matar una mosca. 356 00:12:24,532 --> 00:12:27,132 Empezar con LangGraph para un bot sencillo es 357 00:12:27,132 --> 00:12:28,972 una sobreingeniería tremenda. 358 00:12:28,892 --> 00:12:29,892 Claro. 359 00:12:29,892 --> 00:12:32,352 Ese consejo refleja una madurez de desarrollo. 360 00:12:32,472 --> 00:12:34,172 Primero resuelve el problema de la forma más 361 00:12:34,172 --> 00:12:36,332 simple posible, que a menudo es un simple 362 00:12:36,332 --> 00:12:36,952 bucle en Python. 363 00:12:37,192 --> 00:12:38,372 Exacto. 364 00:12:37,972 --> 00:12:39,548 Y solo cuando ese bucle empieza a llenarse 365 00:12:39,548 --> 00:12:42,568 de condiciones, de if, else, any dados, cuando 366 00:12:42,568 --> 00:12:44,568 el diagrama de flujo mental empieza a tener 367 00:12:44,568 --> 00:12:47,948 demasiadas flechas y fallos, es cuando dices, vale, 368 00:12:47,948 --> 00:12:49,788 necesito una herramienta que me ayude a gestionar 369 00:12:49,788 --> 00:12:50,889 este caos. 370 00:12:50,568 --> 00:12:52,288 Ahí es cuando migras a LangGraph. 371 00:12:52,229 --> 00:12:54,688 Es un consejo sensacional y basado en la 372 00:12:54,688 --> 00:12:55,428 experiencia pura. 373 00:12:56,108 --> 00:12:58,928 Evita comprometerse demasiado pronto con un framework y 374 00:12:58,928 --> 00:13:01,668 te da la estructura justo cuando la necesitas. 375 00:13:01,108 --> 00:13:03,688 La regla que propone este usuario es muy 376 00:13:03,688 --> 00:13:04,849 clara, la verdad. 377 00:13:04,928 --> 00:13:06,428 Si es un agente que va a tener 378 00:13:06,428 --> 00:13:08,769 varios pasos y va a ir a producción, 379 00:13:08,769 --> 00:13:10,668 la claridad y seguridad que te da LangGraph 380 00:13:10,668 --> 00:13:12,729 valen la pena al esfuerzo inicial. 381 00:13:12,868 --> 00:13:15,408 Y hablando de seguridad y producción, hay otra 382 00:13:15,408 --> 00:13:17,889 funcionalidad que destacan varias fuentes, como la de 383 00:13:17,889 --> 00:13:20,969 IBM, la intervención humana o Human in the 384 00:13:20,969 --> 00:13:21,149 Loop. 385 00:13:21,469 --> 00:13:23,089 Ah, eso es fundamental. 386 00:13:23,128 --> 00:13:24,408 ¿Por qué es tan clave para que las 387 00:13:24,408 --> 00:13:26,688 empresas se atrevan a usar estos sistemas? 388 00:13:26,609 --> 00:13:28,368 Porque es la red de seguridad. 389 00:13:28,368 --> 00:13:30,528 Es la capacidad de diseñar tu grafo con 390 00:13:30,528 --> 00:13:32,109 puntos de control. 391 00:13:32,248 --> 00:13:33,769 imagina un agente que va a realizar una 392 00:13:33,769 --> 00:13:35,649 serie de transacciones financieras. 393 00:13:35,548 --> 00:13:36,408 Algo delicado. 394 00:13:36,408 --> 00:13:37,408 Muy delicado. 395 00:13:37,469 --> 00:13:39,349 Puedes programar el grafo para que justo antes 396 00:13:39,349 --> 00:13:41,769 de ejecutar la transferencia final se detenga y 397 00:13:41,769 --> 00:13:43,628 espere la aprobación de un supervisor humano. 398 00:13:44,428 --> 00:13:46,649 Te permite pausar todo el proceso. 399 00:13:46,708 --> 00:13:47,068 Exacto. 400 00:13:47,068 --> 00:13:50,469 Permite pausar el flujo, inspeccionar el estado, ese 401 00:13:50,469 --> 00:13:52,788 cuaderno del que hablábamos, y asegurarse de que 402 00:13:52,788 --> 00:13:54,328 todo es correcto antes de proceder. 403 00:13:54,868 --> 00:13:56,109 Es el botón de emergencia. 404 00:13:56,649 --> 00:13:58,729 Y he leído que incluso permite hacer algo 405 00:13:58,729 --> 00:14:01,028 que llaman viajar en el tiempo. 406 00:14:01,089 --> 00:14:02,609 Suena muy espectacular. 407 00:14:02,708 --> 00:14:05,028 Bueno, es una consecuencia directa de tener el 408 00:14:05,028 --> 00:14:06,188 estado guardado. 409 00:14:06,389 --> 00:14:07,889 Si en un punto de control detectas que 410 00:14:07,889 --> 00:14:09,729 la gente ha tomado una mala decisión dos 411 00:14:09,729 --> 00:14:11,708 pasos atrás… ¿Puedes volver? 412 00:14:11,828 --> 00:14:14,248 Puedes literalmente retroceder a ese estado anterior y 413 00:14:14,248 --> 00:14:15,729 forzarle a tomar un camino diferente. 414 00:14:16,488 --> 00:14:18,048 Es un nivel de control y depuración que 415 00:14:18,048 --> 00:14:19,948 es casi imposible de conseguir con un script 416 00:14:19,948 --> 00:14:20,788 simple. 417 00:14:20,849 --> 00:14:22,769 Combina lo mejor de los dos mundos. 418 00:14:22,668 --> 00:14:25,089 Sí, combina la autonomía de la IA con 419 00:14:25,089 --> 00:14:27,628 la supervisión humana, que ahora mismo es el 420 00:14:27,628 --> 00:14:31,488 enfoque más robusto y seguro para aplicaciones críticas. 421 00:14:31,488 --> 00:14:35,109 Entonces, si unimos todas las piezas, ¿qué significa 422 00:14:35,109 --> 00:14:36,188 todo esto? 423 00:14:36,628 --> 00:14:39,208 LangGraph no es simplemente una librería de código 424 00:14:39,208 --> 00:14:39,988 más. 425 00:14:40,128 --> 00:14:42,248 Parece más bien un cambio de mentalidad. 426 00:14:42,389 --> 00:14:44,109 Un cambio de paradigma, sí. 427 00:14:44,028 --> 00:14:46,328 Un cambio en cómo se diseñan y construyan 428 00:14:46,328 --> 00:14:47,368 los agentes de IA. 429 00:14:47,288 --> 00:14:48,609 Absolutamente. 430 00:14:48,748 --> 00:14:51,389 Implica pasar de pensar en secuencias lineales y 431 00:14:51,389 --> 00:14:55,448 simples a pensar en sistemas cíclicos, con estado, 432 00:14:55,448 --> 00:14:57,708 donde el control, la memoria y la capacidad 433 00:14:57,708 --> 00:14:59,948 de observación son los protagonistas. 434 00:15:00,448 --> 00:15:02,489 ¿Representa una madurez en el campo? 435 00:15:02,609 --> 00:15:03,589 Totalmente. 436 00:15:03,589 --> 00:15:06,349 Es el reconocimiento de que, para construir sistemas 437 00:15:06,349 --> 00:15:08,769 fiables, no basta con la brillantez de un 438 00:15:08,769 --> 00:15:09,989 modelo de lenguaje. 439 00:15:10,149 --> 00:15:12,808 Se necesita una arquitectura sólida que lo guíe, 440 00:15:12,808 --> 00:15:14,828 que lo corrija y que le permita aprender 441 00:15:14,828 --> 00:15:16,328 de sus interacciones. 442 00:15:16,149 --> 00:15:18,688 Es el andamiaje necesario para pasar de los 443 00:15:18,688 --> 00:15:21,948 prototipos y las demos espectaculares a sistemas que 444 00:15:21,948 --> 00:15:24,009 funcionan de verdad en el mundo real, con 445 00:15:24,009 --> 00:15:25,908 todas sus complicidades e imprevistos. 446 00:15:26,389 --> 00:15:26,788 Exacto. 447 00:15:26,788 --> 00:15:29,349 Es un paso fundamental en esa dirección. 448 00:15:29,288 --> 00:15:31,109 Y todo esto nos deja con una idea 449 00:15:31,109 --> 00:15:33,208 final para darle vueltas. 450 00:15:33,248 --> 00:15:35,808 Hemos hablado de la memoria procedural, de esa 451 00:15:35,808 --> 00:15:38,308 capacidad de un agente para reescribir sus propias 452 00:15:38,308 --> 00:15:40,688 instrucciones basándose en el feedback. 453 00:15:41,568 --> 00:15:43,568 Si un sistema puede modificar sus reglas de 454 00:15:43,568 --> 00:15:47,009 funcionamiento internas para adaptarse y mejorar, dónde queda 455 00:15:47,009 --> 00:15:50,028 exactamente la línea que separa una herramienta que 456 00:15:50,028 --> 00:15:52,849 sigue un diagrama de flujo muy sofisticado de 457 00:15:52,849 --> 00:15:55,229 un sistema que empieza a aprender y adaptarse 458 00:15:55,229 --> 00:15:57,188 por sí mismo de una forma mucho más 459 00:15:57,188 --> 00:15:58,149 fundamental. 460 00:15:58,808 --> 00:16:00,628 Buena pregunta para cerrar. 461 00:16:00,628 --> 00:16:02,168 Es una línea cada vez más difusa. 462 00:16:13,688 --> 00:16:16,089 Y hasta aquí el episodio de hoy Muchas 463 00:16:16,089 --> 00:16:29,509 gracias por tu atención Esto es BIMPRAXIS Nos 464 00:16:29,509 --> 00:16:52,469 escuchamos en el próximo episodio ¡Suscríbete al canal!