MÓDULO 3 · ARQUITECTURA DE SISTEMAS CONVERSACIONALES · AGENTES DE IA 2/5 · 35 MIN

ReAct Pattern

Nivel intermedio — razonamiento explícito para agentes confiables: Thought, Action y Observation en cada paso del ciclo.

Idea central Los agentes en producción necesitan ser auditables. Cuando un agente toma una decisión que afecta a un cliente o un sistema crítico, necesitas poder reconstruir exactamente por qué tomó esa decisión — el razonamiento implícito hace imposible el debugging y la mejora sistemática.

El problema

El agente de la lección anterior funciona, pero su razonamiento era opaco: el modelo decidía internamente qué herramienta usar sin explicar por qué.

Situación típica: tu agente de soporte debe resolver "el cliente no puede acceder a su cuenta". Ejecuta 5 herramientas y da una respuesta incorrecta. Sin visibilidad del razonamiento, no sabes si malinterpretó el problema inicial, usó la herramienta incorrecta, interpretó mal un resultado, o llegó a una conclusión errónea con datos correctos. // 4 causas posibles distintas, cero forma de distinguirlas

El patrón ReAct (Reasoning + Acting)

Formaliza el ciclo del agente en tres fases explícitas que se repiten hasta completar la tarea:

CICLO REACT

THOUGHT (Razono) → ACTION (Ejecuto) → OBSERVATION (Observo)
      ↑                                               |
└─────────────────────────────────┘

Thought — el agente verbaliza explícitamente qué piensa, qué información tiene, qué le falta y qué planea hacer. Action — basándose en el pensamiento, elige una acción concreta: usar una herramienta específica o finalizar. Observation — el sistema ejecuta la acción y devuelve el resultado, que alimenta el siguiente ciclo.

La clave: el Thought no es opcional ni implícito. Es un output estructurado que el modelo debe generar antes de cada acción.

Ejemplo de traza

PREGUNTA: ¿Cuál es la población de la capital de Francia?

THOUGHT 1: Necesito identificar cuál es la capital de Francia. Usaré la herramienta de búsqueda para confirmar.
ACTION 1: search("capital de Francia")
OBSERVATION 1: La capital de Francia es París.

THOUGHT 2: Ahora sé que la capital es París. Necesito buscar su población actual.
ACTION 2: search("población de París 2024")
OBSERVATION 2: París tiene aproximadamente 2.1 millones de habitantes.

THOUGHT 3: Tengo toda la información necesaria. Puedo dar una respuesta completa.
ACTION 3: finish("La capital de Francia es París, con una población de aproximadamente 2.1 millones de habitantes.")

Agente básico vs. ReAct

AspectoAgente básicoAgente ReAct
RazonamientoImplícito (caja negra)Explícito (auditable)
DebuggingDifícil — solo ves inputs/outputsFácil — ves cada paso lógico
Tokens usadosMenosMás (por los thoughts)
LatenciaMenorMayor (más generación)
ExplicabilidadBajaAlta
Mejora sistemáticaDifícilPosible (analizas patrones de error)

Cuándo aplicarlo

Usa ReAct cuando...NO lo uses cuando...
Necesitas auditar decisiones del agenteLa tarea es trivial (1 paso)
Debuggeas por qué un agente fallaLa latencia es crítica (añade tokens)
El dominio requiere explicabilidad (finanzas, salud)El razonamiento no aporta valor al usuario
Tareas complejas con múltiples pasosEl agente ya funciona correctamente
Ver el razonamiento no prueba que sea correcto

El THOUGHT es texto generado por el modelo, igual que cualquier otra salida — puede sonar coherente y plausible y aun así llevar a una acción equivocada, o justificar después de los hechos una decisión que en realidad tomó por otras razones. ReAct es una herramienta de diagnóstico, no una garantía de que el proceso interno del modelo coincida literalmente con lo que el texto dice.

Practica: transforma el agente a ReAct

Partiendo del agente básico de la lección anterior, implementa un agente ReAct completo que externalice su razonamiento en cada paso, con herramientas de búsqueda simulada y calculadora. Refuerza el formato en el system prompt (THOUGHT antes de cada ACTION, una sola herramienta por turno, razonamiento de al menos 2 frases) y prueba con una pregunta donde la búsqueda no encuentre resultados, para ver cómo el agente adapta su plan.