[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-google-adk-10":3},{"content":4,"date":5,"image":6,"sideArticles":7},"\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"es\">\r\n\r\n\u003Chead>\r\n    \u003Cmeta charset=\"UTF-8\">\r\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n    \u003Cmeta name=\"description\"\r\n        content=\"Laboratorio 10: Aprende a gestionar la persistencia y el contexto en tus agentes de IA. Implementa sesiones y memoria de estado para crear experiencias personalizadas.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"Memoria IA, Sesiones, session_id, ADK, Estado del Agente, Persistencia, Context Window, Python, Inteligencia Artificial\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>Memoria, Estado y Sesiones | Curso Agentes IA\u003C/title>\r\n    \u003Cstyle>\r\n        body {\r\n            font-family: sans-serif;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        h1,\r\n        h2,\r\n        h3 {\r\n            color: #333;\r\n        }\r\n\r\n        ul {\r\n            list-style-type: disc;\r\n            margin-left: 20px;\r\n        }\r\n\r\n        code {\r\n            background-color: #f4f4f4;\r\n            padding: 2px 5px;\r\n            border-radius: 3px;\r\n            font-family: monospace;\r\n        }\r\n    \u003C/style>\r\n\u003C/head>\r\n\r\n\u003Cbody>\r\n    \u003Ch1>Memoria, Estado y Sesiones (Persistencia de Contexto)\u003C/h1>\r\n\r\n    \u003Cp>\u003Cstrong>Autor:\u003C/strong> \u003Ca href=\"https://www.youtube.com/@EduardoMartinezAgrelo\" target=\"_blank\">Eduardo Martínez\r\n            Agrelo\u003C/a>\u003C/p>\r\n\r\n    \u003Cp>Uno de los mayores obstáculos para la adopción de la IA en servicios de acompañamiento o soporte es la \"amnesia\"\r\n        de los modelos de lenguaje. Por naturaleza, los LLMs son \u003Cstrong>stateless\u003C/strong> (sin estado). En este\r\n        laboratorio, aprenderemos cómo ADK utiliza las \u003Cstrong>Sesiones\u003C/strong> para proporcionar una memoria de corto\r\n        plazo, permitiendo que el agente recuerde quién es el usuario y qué se ha discutido anteriormente.\u003C/p>\r\n\r\n    \u003Ch2>El concepto de Sesión en ADK\u003C/h2>\r\n\r\n    \u003Cp>Una sesión es un contenedor lógico que agrupa el historial de interacciones entre un usuario específico y el\r\n        agente:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Aislamiento de Contexto:\u003C/strong> Cada usuario posee un identificador único\r\n            (\u003Ccode>session_id\u003C/code>), lo que garantiza que la información de un cliente no se filtre a la conversación\r\n            de otro.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Gestión Automática del Historial:\u003C/strong> ADK se encarga de reinyectar los mensajes previos en el\r\n            prompt de forma inteligente, manteniendo la coherencia sin que el desarrollador deba programar la base de\r\n            datos de logs manualmente.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Memoria de Corto Plazo vs. Largo Plazo\u003C/h2>\r\n\r\n    \u003Cp>Es vital distinguir entre los diferentes tipos de persistencia que podemos implementar en nuestras arquitecturas:\r\n    \u003C/p>\r\n    \u003Cp>\u003Ccode>response = agente.run(\"Recuerda mi nombre\", session_id=\"usuario_123\")\u003C/code>\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Memoria de Corto Plazo (Contextual):\u003C/strong> Vive dentro de la ventana de contexto del modelo. Es\r\n            ideal para recordar detalles de la sesión actual, como preferencias temporales o el hilo de la resolución de\r\n            un ticket.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Estado Persistente:\u003C/strong> ADK permite almacenar estos historiales de forma local o en servicios\r\n            gestionados, asegurando que si el servidor se reinicia, el agente no pierda el hilo de la conversación.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Personalización y Experiencia de Usuario\u003C/h2>\r\n\r\n    \u003Cp>La memoria transforma radicalmente la percepción del agente por parte del usuario final:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Reconocimiento:\u003C/strong> El agente puede saludar al usuario por su nombre o recordar que prefiere\r\n            respuestas breves y técnicas.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Continuidad:\u003C/strong> Permite resolver problemas complejos que requieren múltiples interacciones,\r\n            donde el agente construye la solución basándose en datos proporcionados en mensajes anteriores.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>Implementación práctica\u003C/h2>\r\n\r\n    \u003Cp>En este laboratorio, configuraremos un \"Asistente Personal Memorable\". Utilizaremos el parámetro\r\n        \u003Ccode>session_id\u003C/code> para simular dos conversaciones paralelas. Verás cómo, en la \u003Cstrong>Dev UI\u003C/strong>, el\r\n        agente es capaz de recordar el nombre y los gustos de un usuario en la Sesión A, mientras mantiene una tabla\r\n        rasa con un usuario diferente en la Sesión B. Comprobarás cómo ADK gestiona la ventana de contexto para que el\r\n        agente nunca olvide el objetivo principal a pesar de que la conversación se extienda.\r\n    \u003C/p>\r\n\r\n    \u003Ch2>Conclusión: De scripts a compañeros inteligentes\u003C/h2>\r\n    \u003Cp>Has aprendido a darle recuerdos a tu IA, eliminando la barrera de la interacción efímera. Ya sabes cómo gestionar\r\n        sesiones y estados. Con un agente capaz de recordar y razonar, el siguiente paso es abrir las puertas al mundo\r\n        exterior convirtiendo tu agente en un servicio accesible mediante una API Server profesional.\u003C/p>\r\n\u003C/body>\r\n\r\n\u003C/html>","May 12, 2026","https://storage.googleapis.com/mp-blog/images/curso-gcp-google-adk-10.jpg",[8,14,19,24],{"id":9,"title":10,"description":11,"image":12,"date":13},"curso-gcp-apache-spark-01","Spark: Infraestructura como Código con Terraform | Curso Spark, Scala y Terraform","Aprende a desplegar clústeres de Big Data profesionalmente. Domina Terraform para crear infraestructura como código (IaC) en Google Cloud y automatiza tu entorno de Dataproc para Spark.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-01.jpg","March 12, 2026",{"id":15,"title":16,"description":17,"image":18,"date":13},"curso-gcp-apache-spark-02","Spark: Ingesta (Raw to Bronze) y Formatos Columnares | Curso Spark, Scala y Terraform","Domina la ingesta de datos con Spark. Aprende a convertir JSONs pesados en formato Parquet, optimiza tu almacenamiento en un 85% y domina los esquemas estrictos con Scala.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-02.jpg",{"id":20,"title":21,"description":22,"image":23,"date":13},"curso-gcp-apache-spark-03","Spark: Limpieza y Calidad (Bronze to Silver) | Curso Spark, Scala y Terraform","Domina la limpieza de datos en Spark. Aprende a usar Scala para implementar la capa Silver (Plata) de tu arquitectura Medallón, utilizando Case Classes para mayor seguridad.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-03.jpg",{"id":25,"title":26,"description":27,"image":28,"date":13},"curso-gcp-apache-spark-04","Spark: Analítica Avanzada (Silver to Gold) | Curso Spark, Scala y Terraform","Domina el Análisis Avanzado con Spark. Aprende a calcular métricas de negocio con Window Functions y a extraer el Top 3 de canciones por país y día para tu capa Gold.","https://storage.googleapis.com/mp-blog/images/curso-gcp-apache-spark-04.jpg",1778604634279]