[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"article-data-curso-gcp-google-adk-05":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 5: Aprende a implementar flujos iterativos con LoopAgents en ADK. Crea sistemas de IA que se corrigen a sí mismos mediante bucles de retroalimentación.\">\r\n    \u003Cmeta name=\"keywords\"\r\n        content=\"LoopAgents, Feedback Loops, Auto-corrección IA, ADK, Quality Control, Algoritmos Iterativos, Python, Inteligencia Artificial\">\r\n    \u003Cmeta name=\"author\" content=\"Eduardo Martínez Agrelo\">\r\n    \u003Ctitle>LoopAgents | 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>LoopAgents (Sistemas de Auto-corrección)\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>En la ingeniería de software tradicional, los bucles nos permiten repetir tareas hasta cumplir una condición. En\r\n        el mundo de los agentes, los \u003Cstrong>LoopAgents\u003C/strong> nos permiten implementar el \u003Cstrong>Control de Calidad\r\n            (QA)\u003C/strong> automático. En este laboratorio, aprenderemos a crear flujos donde un agente revisa el trabajo\r\n        de otro y lo obliga a iterar hasta que el resultado sea perfecto.\u003C/p>\r\n\r\n    \u003Ch2>¿Qué es un LoopAgent?\u003C/h2>\r\n\r\n    \u003Cp>A diferencia de los SequentialAgents, que siguen una línea recta, el \u003Cstrong>LoopAgent\u003C/strong> de ADK define un\r\n        proceso circular de retroalimentación:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Ciclo Generación-Validación:\u003C/strong> Un agente genera una propuesta y otro actúa como crítico o\r\n            validador.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Refinamiento Iterativo:\u003C/strong> Si el validador encuentra errores, el flujo vuelve al generador con\r\n            instrucciones específicas sobre qué mejorar, repitiendo el proceso de forma autónoma.\u003C/li>\r\n    \u003C/ul>\r\n\r\n    \u003Ch2>La señal de salida: Escalate\u003C/h2>\r\n\r\n    \u003Cp>Para evitar que un agente quede atrapado en un bucle infinito, necesitamos definir una condición de parada clara.\r\n        En ADK, esto se gestiona a través de herramientas de control:\u003C/p>\r\n    \u003Cp>\u003Ccode>tool_context.actions.escalate = True\u003C/code>\u003C/p>\r\n    \u003Cp>Esta señal indica al orquestador que el objetivo se ha cumplido con éxito y que puede romper el bucle para\r\n        entregar la respuesta final al usuario. Es el equivalente agéntico al comando \u003Ccode>break\u003C/code> en programación\r\n        convencional.\u003C/p>\r\n\r\n    \u003Ch2>Seguridad y Límites (Max Iterations)\u003C/h2>\r\n\r\n    \u003Cp>En un entorno de producción, cada iteración consume tokens y tiempo de procesamiento. Por ello, la configuración\r\n        de límites de seguridad es obligatoria:\u003C/p>\r\n    \u003Cul>\r\n        \u003Cli>\u003Cstrong>Max Iterations:\u003C/strong> Definimos un número máximo de vueltas (ej. 3 o 5 intentos). Si el agente no\r\n            logra validar la tarea en ese margen, el sistema se detiene para evitar costes innecesarios.\u003C/li>\r\n        \u003Cli>\u003Cstrong>Eficiencia:\u003C/strong> Los bucles de feedback permiten que modelos más pequeños (como Gemini Flash)\r\n            alcancen resultados de alta calidad mediante la revisión constante, optimizando el rendimiento global.\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, construiremos un sistema de \"Validación de Formato Estricto\". Configuraremos un agente que\r\n        genera nombres de proyectos y un revisor que utiliza una herramienta de Python para verificar si se cumplen\r\n        ciertas reglas de nomenclatura. Verás cómo, si el generador comete un error, el revisor lo detecta y lo obliga a\r\n        corregirse en una segunda vuelta, logrando una precisión que un solo agente nunca podría garantizar.\u003C/p>\r\n\r\n    \u003Ch2>Conclusión: La importancia del criterio\u003C/h2>\r\n    \u003Cp>Has aprendido que el poder de la IA no está solo en generar, sino en evaluar. Ya sabes cómo crear sistemas que se\r\n        corrigen a sí mismos de forma autónoma. Con el dominio de la orquestación completado, el siguiente paso es\r\n        conectar estos sistemas con el conocimiento del mundo real mediante el Grounding y RAG.\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-05.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",1778604629805]