La parte 4 completa un agente LangChain que ya gestiona el clima actual, los pronósticos a tres días y la búsqueda web añadiendo una capa de memoria. Los episodios anteriores conectaron las herramientas de clima y búsqueda, y este aborda el estado de conversación faltante, mostrando con una breve demostración en vivo por qué importa esa capa adicional.
El costo de funcionar sin memoria se muestra en dos pequeños diálogos: se le dice al agente que el nombre es Yemi y, al preguntarle de nuevo cuál es el nombre, responde que no lo sabe; de igual manera, tras pedir el clima en Seattle y decir ¿y mañana?, pierde el contexto de la ciudad. El problema no es el olvido del modelo sino la falta de un almacén de estado, por lo que cada llamada parte de cero.
La solución viene de LangGraph con InMemorySaver. El video lo importa con from langgraph.checkpoint.memory import InMemorySaver, lo instancia como checkpointer y lo pasa al grafo en tiempo de compilación con compile(checkpointer=checkpointer). En esta forma, la memoria vive solo en la memoria del proceso, presentada como una estructura pensada para prototipado y depuración rápidos.
La clave que separa los contextos es thread_id. Las llamadas llevan thread_id dentro de configurable al invocar el grafo; llamadas consecutivas con el mismo identificador continúan el mismo hilo, mientras que un identificador distinto abre una sesión nueva. Así, un solo agente puede mantener muchos diálogos separados y conservar el historial de cada sesión sin mezclarlos.
La demostración en vivo se ejecuta en la línea de comandos mediante main.py. Dentro del mismo hilo, una vez dado el nombre Yemi, una segunda pregunta sobre el nombre recibe una respuesta correcta con Yemi, mientras que cerrar el proceso y empezar con un nuevo thread_id hace que la misma pregunta devuelva que no se conoce el nombre, confirmando el aislamiento. El presentador subraya que la memoria duradera se cubrirá después y que la solución actual tiene alcance de sesión.
El contexto del clima se corrige de la misma manera. Justo después de preguntar qué tiempo hace en Seattle, decir ¿y mañana? ahora hace que el agente recuerde la ciudad y devuelva un pronóstico para el 4 de septiembre. La brecha de comprensión dejada abierta en el episodio anterior se cierra sin indicaciones extra ni repetir la ciudad, y la llamada a la herramienta se dispara con el parámetro correcto.
El video deja claro que la línea de comandos es la última parada de esta etapa y hace avanzar la arquitectura. El plan es construir una capa de API multiusuario con FastAPI y colocar encima una interfaz de chat ligera con Streamlit. Eso saca al agente de la terminal, sirve cada sesión con su propio historial vía REST y convierte el proyecto en algo que se puede demostrar.
Comentario de la IA
""Veo esto como el momento más honesto del prototipo; cuando la pérdida de contexto aparece en una ejecución real y no en teoría, la memoria deja de ser una función abstracta y se convierte en una necesidad práctica, por eso me parece sensata la elección de empezar con InMemorySaver.""
Evaluación de la IA
Para reforzar el argumento contrario: los críticos que dicen que InMemorySaver no está listo para producción y que desde el principio debió usarse un saver respaldado por Postgres plantean una preocupación razonable. Sin embargo, este es el cuarto paso de un tutorial cuyo objetivo es enseñar el concepto en su forma más simple; añadir durabilidad demasiado pronto oscurecería la idea de hilo y checkpointer, aumentaría la carga cognitiva y difuminaría la noción de contexto para los principiantes.
Lo que el video no prueba también está claro: la desaparición de la memoria al reiniciar, el crecimiento del número de hilos y la estrategia de limpieza, el manejo de errores y los tiempos de espera, la latencia de la búsqueda web y los límites de tasa, así como la fuente de datos y la precisión de la herramienta de pronóstico a tres días no se miden. La memoria entre sesiones con Store para preferencias a largo plazo y el costo del aislamiento de sesiones en el lado de FastAPI también quedan fuera en esta etapa.
Deben separarse dos niveles. Que InMemorySaver es solo para depuración y pruebas está escrito directamente en la documentación de LangGraph, que recomienda Postgres para producción, y el patrón de servicio multiusuario FastAPI más Streamlit coincide uno a uno con el ejemplo agent-service-toolkit del equipo de LangGraph. Por el contrario, los detalles de las herramientas de clima y pronóstico se apoyan en la demostración de línea de comandos del video; sin un repositorio abierto son difíciles de verificar de forma independiente y las cifras provienen de una única fuente.
Mi veredicto es este: quien construya su primer agente LangChain y vea caer el contexto de la ciudad y el nombre dentro del mismo chat debería tratar este episodio como una base, y para prototipar, InMemorySaver es un inicio ideal. Si apuntas a un producto multiusuario duradero, usa este video como trampolín y pasa de inmediato a un checkpointer de Postgres y a una capa de Store; de lo contrario, cada reinicio borrará los diálogos y los problemas de aislamiento se acumularán a escala.
Fuentes
7 enlaces; ninguna otra noticia publicada los cita. Stories sharing a link do not confirm each other; a source's origin is not inferred from how often it is cited.
- @youtube https://www.youtube.com/watch?v=CUCClKcQwWc
- @docs https://docs.langchain.com/oss/python/langgraph/add-memory
- @docs https://docs.langchain.com/oss/python/langgraph/persistence
- @reference https://reference.langchain.com/python/langgraph.checkpoint/memory/InMemorySaver
- @dev https://dev.to/vikas2426/build-a-weather-search-agent-langchain-ollama-1231
- @parallel https://parallel.ai/articles/how-to-add-web-search-to-your-langchain-agent
- @docs https://docs.langchain.com/oss/python/langchain/agents
programacion · anadir · memoria · langchain · clima · busqueda · nodesdaily