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.