El marco ReAct se inspira en la forma en que los humanos pueden usar intuitivamente el lenguaje natural, a menudo a través de nuestro propio monólogo interno, en la planificación y ejecución paso a paso de tareas complejas.
En lugar de implementar flujos de trabajo basados en reglas o predefinidos, los agentes ReAct confían en las capacidades de razonamiento de su LLM para ajustar dinámicamente su enfoque en función de nueva información o los resultados de pasos anteriores.
Imagine hacer las maletas para un viaje breve. Puede empezar por identificar las consideraciones clave (“¿Cómo estará el clima mientras esté allí?”) y, a continuación, consultar activamente fuentes externas (“Verificaré el pronóstico local”).
Al utilizar esa nueva información (“Va a hacer frío”), determina su próxima consideración (“¿Qué ropa de abrigo tengo?) y acción (“Revisaré mi armario”). Al tomar esa medida, es posible que se encuentre con un obstáculo inesperado ("Toda mi ropa de abrigo está guardada") y ajuste su siguiente paso en consecuencia ("¿Qué ropa puedo ponerme en capas?").
De manera similar, el marco ReAct utiliza ingeniería rápida para estructurar la actividad de un agente de IA en un patrón formal de pensamientos, acciones y observaciones alternas:
Después de realizar una acción, el modelo vuelve a evaluar su progreso y utiliza esa observación para ofrecer una respuesta final o informar el siguiente pensamiento. Idealmente, la observación también podría considerar información previa, ya sea anterior en la ventana de contexto estándar del modelo o de un componente de memoria externo.
Debido a que el rendimiento de un agente ReAct depende en gran medida de la capacidad de su LLM central para pensar "verbalmente" en tareas complejas, los agentes ReAct obtienen un gran beneficio de modelos altamente capaces con razonamiento avanzado y capacidad para seguir instrucciones.
Para minimizar el costo y la latencia, un marco ReAct multiagente podría basarse principalmente en un modelo más grande y de mayor rendimiento para servir como agente central cuyo proceso de razonamiento o acciones podrían implicar delegar subtareas a más agentes creados utilizando modelos más pequeños y eficientes.