Agentes de IA en Producción: De Prototipo a Sistema Autónomo
Lección 2 de 18
Fundamentos de agentes de IA
Duración estimada: 12 minutos
Bienvenido a una lección fundamental en tu camino para dominar los agentes de IA. Si un modelo de lenguaje es el motor, la arquitectura del agente es el chasis, el sistema de navegación y el piloto, todo en uno. Es lo que transforma un modelo predictivo en un sistema capaz de razonar, planificar y ejecutar tareas complejas en el mundo real. Un simple ciclo de pregunta y respuesta no es suficiente para la autonomía; necesitamos estructuras de razonamiento sofisticadas.
En esta lección, desglosarás tres de las arquitecturas más influyentes y poderosas para construir agentes: ReAct, Planner-Executor y Reflexión. Comprenderás sus mecanismos internos, sus fortalezas, debilidades y, lo más importante, cuándo y cómo aplicarlas para llevar tus prototipos a sistemas de producción robustos y eficientes.
Un LLM, en su forma más básica, es un generador de texto. Le das una entrada (un prompt) y produce una salida. Aunque técnicas como la "cadena de pensamiento" (del inglés, Chain of Thought) le permiten "pensar en voz alta" para resolver problemas más complejos, su capacidad de acción sigue siendo nula. No puede consultar una base de datos, no puede enviar un correo electrónico y no puede verificar un dato en internet por sí mismo.
Aquí es donde entran en juego las arquitecturas de agentes. Su propósito es orquestar un ciclo donde el modelo de lenguaje no solo genera texto, sino que razona sobre qué acciones tomar, utiliza herramientas externas para ejecutarlas y observa los resultados para refinar su siguiente paso. Pasamos de un monólogo a un diálogo interactivo con el entorno.
El patrón ReAct, que significa Reasoning and Acting (Razonamiento y Acción), es una de las arquitecturas de agentes más intuitivas y efectivas. Su genialidad radica en la forma en que entrelaza el razonamiento del modelo con la ejecución de acciones concretas.
ReAct funciona en un ciclo iterativo simple pero poderoso:
Este bucle Pensamiento → Acción → Observación se repite hasta que el agente considera que ha completado la tarea o hasta que determina que no puede continuar.
Imagina que le pides a un agente ReAct: "¿Cuál es la edad del actual CEO de la empresa matriz de Google, elevada a la potencia de 0.3?"
El ciclo del agente se vería así:
Pregunta: ¿Cuál es la edad del actual CEO de la empresa matriz de Google, elevada a la potencia de 0.3?
Pensamiento 1: Primero necesito identificar la empresa matriz de Google. Luego, encontrar su CEO actual. Después, buscar la edad de esa persona. Finalmente, usar una calculadora para elevar esa edad a la potencia de 0.3. Empezaré por encontrar la empresa matriz.
Acción 1: Search("empresa matriz de Google")
Observación 1: Alphabet Inc.
Pensamiento 2: OK, la empresa matriz es Alphabet Inc. Ahora necesito encontrar el nombre de su CEO.
Acción 2: Search("CEO de Alphabet Inc.")
Observación 2: Sundar Pichai.
Pensamiento 3: Bien, el CEO es Sundar Pichai. Ahora necesito su edad. Buscaré su fecha de nacimiento para calcularla.
Acción 3: Search("Sundar Pichai fecha de nacimiento")
Observación 3: 10 de junio de 1972.
Pensamiento 4: Nació el 10 de junio de 1972. Asumiendo que el año actual es 2024, su edad es 52 años. Ahora necesito calcular 52 elevado a la potencia de 0.3. Usaré la calculadora para esto.
Acción 4: Calculator("52 ** 0.3")
Observación 4: 3.511...
Pensamiento 5: He calculado el valor. La respuesta es aproximadamente 3.51. He completado todos los pasos necesarios.
Respuesta Final: La edad del CEO de la empresa matriz de Google, elevada a la potencia de 0.3, es aproximadamente 3.51.
Ventajas de ReAct: Es excelente para tareas que requieren una secuencia de pasos lógicos y el uso de herramientas. Es fácil de depurar porque podemos leer la "cadena de pensamiento" del agente.
Desventajas: Puede ser lento debido a los múltiples llamados al LLM (uno por cada ciclo) y puede perderse en bucles si el pensamiento no es lo suficientemente claro.
La arquitectura Planner-Executor (Planificador-Ejecutor) adopta un enfoque más estratégico. En lugar de decidir paso a paso como ReAct, intenta trazar un plan completo desde el principio y luego lo ejecuta.
Este patrón se divide en dos fases distintas:
El planificador piensa una vez y a lo grande; el ejecutor actúa muchas veces, pero de forma sencilla.
Usando la misma tarea: "¿Cuál es la edad del actual CEO de la empresa matriz de Google, elevada a la potencia de 0.3?"
Fase de Planificación:
El agente planificador recibe la pregunta y genera un plan estructurado, por ejemplo, en formato JSON:
{
"plan": [
{
"step": 1,
"tool": "search",
"args": {"query": "empresa matriz de Google"},
"store_result_as": "parent_company"
},
{
"step": 2,
"tool": "search",
"args": {"query": "CEO de ${parent_company}"},
"store_result_as": "ceo_name"
},
{
"step": 3,
"tool": "search",
"args": {"query": "edad de ${ceo_name}"},
"store_result_as": "ceo_age"
},
{
"step": 4,
"tool": "calculator",
"args": {"expression": "${ceo_age} ** 0.3"},
"store_result_as": "final_result"
}
]
}
Fase de Ejecución:
El ejecutor recibe este JSON. No necesita pensar. Simplemente:
parent_company.ceo_name.ceo_age.final_result.Ventajas del Planner-Executor: Es más eficiente en costos y latencia, ya que la planificación (el llamado más caro al LLM) se hace una sola vez. El plan es explícito y puede ser validado por un humano antes de la ejecución.
Desventajas: Es menos flexible. Si ocurre un error inesperado durante la ejecución, el agente no puede "improvisar" o replanificar dinámicamente. Falla si la tarea es demasiado ambigua o impredecible para crear un plan completo de antemano.
La arquitectura de Reflexión, a menudo combinada con ReAct o Planner-Executor, introduce un concepto clave: la autocrítica y el aprendizaje a partir de errores.
El ciclo se expande para incluir una fase de autoevaluación:
Tarea: "Resume los tres artículos de noticias más recientes sobre la empresa 'InnovateCorp' y envíalos por correo."
Intento 1 (Usando ReAct):
Fase de Reflexión:
El evaluador detecta que los resultados no son "artículos de noticias recientes". Se inicia la reflexión:
Prompt de Reflexión:
El agente falló al obtener los artículos correctos. La tarea era "artículos de noticias recientes". El agente usó fuentes no fiables y antiguas. ¿Por qué ocurrió esto y cómo puede evitarse en el futuro?
Respuesta de Reflexión del LLM (el "recuerdo"):
El fallo ocurrió porque la búsqueda fue demasiado genérica. Para obtener "artículos de noticias recientes", debo usar herramientas de búsqueda de noticias específicas o filtrar los resultados por fecha y por fuentes de noticias conocidas (como Reuters, Bloomberg, etc.). No debo considerar tuits o blogs personales como fuentes primarias de noticias.
Intento 2 (Con la reflexión en memoria):
El agente recibe la misma tarea, pero su contexto ahora incluye el "recuerdo" anterior.
Ventajas de la Reflexión: Permite al agente mejorar con el tiempo y la experiencia. Es crucial para sistemas autónomos que deben operar durante largos periodos sin intervención humana.
Desventajas: Aumenta significativamente la complejidad y el costo computacional. Diseñar un buen evaluador y un mecanismo de memoria eficaz es un desafío de ingeniería avanzado.
No existe una "mejor" arquitectura; la elección depende completamente del problema que intentas resolver.
En la práctica, los sistemas más avanzados a menudo combinan elementos de las tres. Podrías tener un agente que usa ReAct para tareas de bajo nivel, pero que es guiado por un plan de alto nivel (Planner-Executor) y que refina su estrategia global a través de la Reflexión. Al dominar estos patrones, estás adquiriendo las herramientas para diseñar y construir la próxima generación de sistemas inteligentes y autónomos.