Patrón ReAct para agentes que razonan y ejecutan tools
Clase 13 de 26 • Curso para Crear Agentes de AI con LangGraph
Resumen
La arquitectura React para agentes con tools permite razonar, actuar y observar en ciclos controlados hasta cumplir un objetivo. Con este enfoque, el agente decide si llamar una o varias tools, cuándo pedir más datos y en qué momento finalizar, logrando respuestas más precisas y útiles.
¿Qué es el patrón react y por qué potencia agentes con tools?
El patrón React (reason and act) integra razonamiento y ejecución en un solo bucle. El agente analiza, actúa con tools, observa resultados y decide si continuar o cerrar con una respuesta final. Así se evita separar el “pensar” de la “acción”, y se crea un ciclo virtuoso que mejora decisiones.
- Une razonamiento y acciones en un bucle iterativo.
- Controla bucles con un máximo de iteraciones para evitar ciclos infinitos.
- No depende del proveedor: puedes definir tus propias tools.
- Permite structured output usando tools para dar salidas formateadas.
- Contrasta con un chain secuencial: aquí hay bifurcaciones y routers en un grafo.
En el ecosistema: LangChain ofrece utilidades y un agente que implementa React por defecto con create_agent. LangGraph orquesta el flujo en grafo, es agnóstico a librerías y facilita nodos, edges y ruteo. Juntos, simplifican un patrón complejo en “cuatro o cinco líneas”, sin perder flexibilidad para versiones “custom”.
¿Cómo decide un agente cuándo llamar una tool y cuándo responder?
El agente parte de un prompt e historial, evalúa si basta con razonar o si debe ejecutar una tool. Si no necesita tool, responde. Si la requiere, planifica, invoca una o varias tools, observa resultados y decide si repetir o finalizar con la respuesta.
- Decide si usar 1 o varias tools antes de responder.
- Pide información faltante al usuario cuando es necesaria.
- Se detiene al cumplir el objetivo o al alcanzar el tope de iteraciones.
- Puede informar “no hay información suficiente” si faltan datos clave.
Ejemplo explicado: un agendador de citas pide fecha, nombre del doctor y nombre del paciente para ejecutar tools como “crear cita” o “verificar disponibilidad”. El agente gestiona el diálogo, recolecta datos mínimos y solo entonces ejecuta las tools para resolver la tarea por completo.
Punto clave: aunque proveedores como OpenAI internamente decidan llamar una tool (ej.: file search), aquí tú controlas el patrón. Puedes combinar utilidades de LangChain (agente React con create_agent) con la orquestación de LangGraph para construir flujos con bifurcaciones y ciclos.
¿Qué modelos razonadores convienen para el patrón react?
Este patrón necesita modelos con razonamiento para planificar, decidir el orden de tools y solicitar datos críticos. Con modelos sin razonamiento, el desempeño puede bajar.
- OpenAI: GPT-4 con buen equilibrio de razonamiento y velocidad. Familia “zero” (01, 03, 01 mini) con razonamiento fuerte; mayor costo y latencia. GPT-4.1 con alta inteligencia, pero no de razonamiento; podría reemplazarse por 01 o 03 según la tarea. Para triage, se menciona 4-0 mini; para tareas complejas, 01. También se cita 01 preview y 03, y opciones más económicas como 04 mini dentro de la serie “zero”.
- Google: Gemini 2.5 Pro Thinking con capacidades de thinking adecuadas y costo competitivo frente al mercado; 2.5 sin thinking y Flashlight sin estas capacidades.
- Anthropic: Claude Opus 4.1 con razonamiento; alternativas en Claude Sonnet 4 con razonamiento por defecto.
Habilidades que se practican con este patrón:
- Planificación de pasos y selección de tools.
- Evaluación iterativa de resultados y siguientes acciones.
- Diseño de prompts que guían decisiones y salidas.
- Orquestación en grafo con bifurcaciones y ruteo.
- Control de iteraciones para evitar ciclos infinitos.
- Estructuración de salidas con structured output cuando se requiere formato.
¿Listo para construir agentes que piensan y actúan de forma confiable con tools? Cuéntame en los comentarios qué tareas resolverías con modelos razonadores y qué tools incluirías en tu flujo.