El bucle agéntico y el patrón ReAct
Índice de contenidos
- Puntos clave
- ¿Qué es el bucle razonar-actuar-observar?
- El patrón ReAct explicado
- Un ejemplo paso a paso
- ReAct frente a una sola llamada al modelo
- Cuándo se detiene el bucle
- Preguntas frecuentes
- ¿Qué significa ReAct?
- ¿En qué se diferencia ReAct del razonamiento encadenado?
- ¿Necesito un framework para usar ReAct?
- Conclusión
- Fuentes
El patrón ReAct (Reason + Act) organiza un agente como un bucle de tres pasos que se repite: razonar sobre qué hacer, ejecutar una acción con una herramienta y observar el resultado. Presentado por Yao y sus colegas en 2022, entrelaza el razonamiento y la acción para que el modelo planifique, consulte fuentes externas y corrija sus errores sobre la marcha.
El bucle agéntico es el motor que convierte a un modelo de lenguaje en un agente: en vez de responder de un tirón, piensa, actúa y observa, y repite ese ciclo hasta terminar. El patrón ReAct es la forma más conocida de escribir ese bucle, y entenderlo es el primer paso para construir agentes fiables. En esta guía verás cómo funciona, un ejemplo paso a paso y cuándo conviene frente a una sola llamada al modelo. La misma explicación está disponible en inglés.
Puntos clave
- El patrón ReAct (Reason + Act) estructura al agente como un bucle de tres pasos: razonar, actuar y observar.
- Lo presentaron Shunyu Yao y sus colegas en el artículo de 2022 arXiv 2210.03629[1], que unió por primera vez el razonamiento explícito con el uso de herramientas.
- En el banco de pruebas ALFWorld, ReAct mejoró la tasa de éxito un 34 % absoluto sobre los métodos anteriores; en WebShop, un 10 %.
- Cada vuelta del bucle produce un pensamiento, una acción (una llamada a una herramienta) y una observación con su resultado.
- Frente a una sola llamada al modelo, ReAct permite consultar datos actualizados y corregir el rumbo, a cambio de más latencia y más tokens.
¿Qué es el bucle razonar-actuar-observar?
Un modelo de lenguaje, por sí solo, solo sabe generar texto a partir de lo que tiene en su contexto. No puede consultar una base de datos, comprobar el precio de un producto ni leer un archivo. El bucle agéntico rompe esa limitación: rodea al modelo con un programa que le deja tomar acciones sobre el mundo y le devuelve los resultados para que siga razonando.
El ciclo tiene tres pasos que se repiten:
- Razonar (Thought). El modelo escribe qué quiere hacer a continuación y por qué.
- Actuar (Action). Elige una herramienta y sus argumentos; el programa la ejecuta.
- Observar (Observation). El resultado de la herramienta se añade al contexto.
Con la observación nueva, el modelo vuelve a razonar, y así sucesivamente. Anthropic lo resume con precisión en su guía sobre agentes: los agentes «no son más que modelos de lenguaje que usan herramientas a partir de la retroalimentación del entorno, dentro de un bucle». Esa retroalimentación es lo que distingue a un agente de un flujo de trabajo con pasos fijos, como explicamos en qué es un agente de IA.
El patrón ReAct explicado
ReAct (de Reasoning y Acting) es la receta que popularizó este bucle. Su idea central es entrelazar en el mismo hilo de texto los pensamientos y las acciones, en lugar de separarlos. El modelo no solo decide qué herramienta llamar: antes escribe un pensamiento en lenguaje natural que justifica esa decisión y que le sirve para llevar la cuenta de lo que ya sabe.
Los autores lo explican así en el resumen del artículo: «las trazas de razonamiento ayudan al modelo a inducir, seguir y actualizar los planes de acción, además de gestionar excepciones, mientras que las acciones le permiten conectar con fuentes externas, como bases de conocimiento o entornos, para reunir más información». Esa combinación es lo que hace al patrón robusto: el razonamiento guía la acción y la acción alimenta el razonamiento.
En la práctica, ReAct se implementa de dos maneras. La original usaba un prompt con ejemplos que enseñaban al modelo a escribir las etiquetas Thought:, Action: y Observation:. Hoy, con los modelos que admiten llamada a funciones nativa, el pensamiento va en el texto y la acción es una llamada estructurada a una herramienta, más fiable de analizar. Frameworks como LangGraph, que alcanzó su versión estable 1.0 en octubre de 2025, ofrecen este bucle ya montado; puedes verlo aplicado en flujos de agentes con LangGraph.
Un ejemplo paso a paso
Supón que un agente tiene una sola herramienta, buscar(consulta), que devuelve un dato de una enciclopedia. Le preguntamos: «¿Cuál es la capital del país donde nació Miguel de Cervantes?». Es una pregunta de dos saltos: primero hay que averiguar dónde nació y luego la capital de ese país. Esta es la traza del bucle:
Pregunta: ¿Cuál es la capital del país donde nació Miguel de Cervantes?
Pensamiento 1: Necesito saber en qué país nació Cervantes.
Acción 1: buscar("lugar de nacimiento de Miguel de Cervantes")
Observación 1: Alcalá de Henares, España (1547).
Pensamiento 2: Nació en España, así que necesito la capital de España.
Acción 2: buscar("capital de España")
Observación 2: Madrid.
Pensamiento 3: Ya tengo los dos datos. Puedo responder.
Acción 3: responder("Madrid")
Fíjate en tres cosas. El agente descompone la pregunta sin que se lo pidamos; cada observación cambia lo que decide hacer después; y el bucle termina cuando el modelo decide que ya puede responder, no tras un número fijo de pasos. En pseudocódigo, el motor que ejecuta esa traza cabe en pocas líneas:
def agente_react(pregunta, herramientas, modelo):
contexto = [pregunta]
for paso in range(10): # limite de seguridad
salida = modelo.generar(contexto) # produce pensamiento + accion
if salida.es_respuesta_final():
return salida.respuesta
resultado = herramientas.ejecutar(salida.accion)
contexto.append(salida) # el pensamiento y la accion
contexto.append(resultado) # la observacion
return "sin respuesta dentro del limite de pasos"
Un agente real usaría la llamada a funciones del modelo para que salida.accion sea una estructura y no texto suelto; el esqueleto del bucle, sin embargo, es exactamente este.
ReAct frente a una sola llamada al modelo
La alternativa a ReAct es pedirle al modelo la respuesta de una vez, quizá con razonamiento encadenado (chain-of-thought). Funciona para preguntas que caben en lo que el modelo ya sabe, pero falla cuando hace falta un dato que no está en sus pesos o que ha cambiado desde su entrenamiento. Ahí el modelo tiende a inventar: alucina una respuesta plausible pero falsa.
La contribución del artículo de ReAct fue medir esa diferencia. En las tareas de preguntas HotpotQA y de verificación de hechos Fever, dejar que el modelo consultara una base de conocimiento en cada paso redujo las alucinaciones frente al razonamiento a solas. Y en tareas interactivas, donde hay que actuar sobre un entorno, la ventaja fue grande: un 34 % absoluto en ALFWorld y un 10 % en WebShop. La lección es que el acceso a herramientas, no un modelo más grande, es lo que resuelve muchas tareas.
El coste es real. Cada vuelta del bucle es una llamada al modelo, así que un agente que da cinco pasos gasta cinco veces más tokens y tarda más que una respuesta directa. Por eso conviene elegir el patrón según la tarea, un tema que ampliamos en plan-and-execute frente a ReAct.
Cuándo se detiene el bucle
Un bucle sin freno es peligroso: un agente confundido puede repetir acciones para siempre y disparar el gasto. Hay tres formas habituales de pararlo:
- Respuesta final. El modelo emite una acción especial de tipo «responder» y el programa devuelve ese texto al usuario. Es la salida normal.
- Límite de pasos. Un tope máximo de iteraciones (por ejemplo, diez) evita bucles infinitos aunque el modelo no acierte a terminar.
- Intervención humana. En tareas sensibles, el bucle se detiene para pedir confirmación antes de una acción con consecuencias, algo que tratamos junto al patrón de reflexión, donde el agente revisa su propio trabajo.
Diseñar bien esta condición de parada es tan importante como el propio razonamiento: marca la diferencia entre un agente útil y uno que se atasca.
Preguntas frecuentes
¿Qué significa ReAct?
ReAct combina las palabras inglesas Reasoning (razonar) y Acting (actuar). Nombra un patrón en el que el agente alterna pensamientos en lenguaje natural con acciones sobre herramientas, todo en el mismo hilo de texto, de modo que el razonamiento y la acción se refuerzan mutuamente en cada vuelta del bucle.
¿En qué se diferencia ReAct del razonamiento encadenado?
El razonamiento encadenado (chain-of-thought) hace que el modelo piense en voz alta antes de responder, pero sin salir de su propio conocimiento. ReAct añade el paso de la acción: entre pensamiento y pensamiento el agente consulta fuentes externas, así que puede trabajar con datos actualizados y comprobar hechos en lugar de inventarlos.
¿Necesito un framework para usar ReAct?
No es obligatorio. El bucle cabe en unas pocas líneas de código, como en el ejemplo de esta guía. Un framework como LangGraph o el SDK de agentes de tu proveedor te ahorra gestionar el estado, los reintentos y el análisis de las llamadas a herramientas, pero el patrón es sencillo de escribir a mano para entenderlo.
Conclusión
El patrón ReAct es la base sobre la que se apoyan casi todos los agentes actuales: un bucle de razonar, actuar y observar que se repite hasta resolver la tarea. Su fuerza está en entrelazar el pensamiento con el uso de herramientas, lo que permite al modelo planificar, consultar datos reales y corregirse. Ahora que conoces el bucle, el siguiente paso es ver cómo un agente descompone y planifica tareas más largas.
Fuentes: [1] ReAct, Synergizing Reasoning and Acting in Language Models (Yao et al., 2022)[1], [2] Building effective agents (Anthropic, 2024)[2], [3] Agentes ReAct en LangGraph (documentación de LangChain)[3], [4] Plantilla react-agent (repositorio de LangChain)[4].