Saltearse al contenido

Reflection Agent

El Reflection Agent permite crear un agente Langgraph que no solo genera respuestas, sino que también las revisa y mejora mediante un proceso de reflexión. Este componente es útil cuando necesitas que un asistente evalúe su propia salida antes de entregarla al usuario final.

¿Cómo funciona?

El componente recibe un agente principal (o un modelo de lenguaje si no se proporciona uno) y un agente de reflexión. Cuando se envía una entrada, el agente principal genera una respuesta. Luego, el agente de reflexión analiza esa respuesta y devuelve un puntaje (score) y un comentario (comment). Si el puntaje no alcanza el umbral deseado, el proceso se repite hasta que se cumpla el número máximo de iteraciones o el tiempo máximo de ejecución. El resultado final es la respuesta mejorada que se entrega al usuario.

Entradas

  • Agent: El asistente principal que generará respuestas.
  • Judge Agent: El agente de reflexión que evaluará las respuestas. Debe responder con las claves score y comment.
  • Model: El modelo de lenguaje a usar si no se proporciona un agente principal.
  • Comment Key: La clave en la respuesta que contiene el comentario.
  • Agent Description: Descripción útil cuando se usa el agente como herramienta.
  • Agent Name: El nombre del agente de reflexión a usar.
  • Input: Entrada que se enviará al agente.
  • Max Execution Time: Tiempo máximo de ejecución en segundos.
  • Max Iterations: Máximo número de ciclos de reflexión antes de aceptar la respuesta.
  • Score Key: La clave en la respuesta que indica si la respuesta es satisfactoria.
  • Show Reflections: Mostrar las reflexiones generadas.
  • Tool Schema: Esquema de metadatos a usar para el agente como herramienta.
  • Stream: Activar transmisión de respuestas.
  • Verbose: Modo detallado de logs.

Salidas

  • Agent: Grafo compilado (método build_agent).
  • Response: Mensaje generado por el agente después de la reflexión.
  • Tool: Herramienta base construida (método build_tool).

Ejemplo de Uso

Supongamos que quieres generar un informe de ventas y asegurarte de que sea claro y preciso:

  1. Agent: Conecta el agente principal que escribe el informe.
  2. Judge Agent: Conecta un agente de reflexión que evalúa la claridad y precisión.
  3. Model: Selecciona gpt-4o-mini si no tienes un agente principal.
  4. Input: Pasa los datos de ventas.
  5. Max Iterations: Establece 3 para permitir hasta tres revisiones.
  6. Show Reflections: Activa para ver cada paso de la reflexión.
  7. Ejecuta el componente.
  8. El resultado en Response será el informe final, ya revisado y aprobado por el agente de reflexión.

Componentes Relacionados

  • LanggraphAgent – Crea agentes Langgraph sin reflexión.
  • LanggraphReflection – Base de la lógica de reflexión utilizada por este componente.
  • BaseTool – Herramienta que puede ser construida a partir del agente.

Consejos y Mejores Prácticas

  • Asegúrate de que el Judge Agent devuelva siempre las claves score y comment.
  • Ajusta Max Iterations según la complejidad de la tarea; tareas simples pueden necesitar menos ciclos.
  • Usa Show Reflections durante la fase de prueba para entender cómo el agente revisa sus respuestas.
  • Si el tiempo de respuesta es crítico, limita Max Execution Time a un valor razonable.
  • Configura Verbose solo cuando necesites depurar; en producción puede generar logs extensos.

Consideraciones de Seguridad

  • El componente interactúa con modelos de lenguaje externos; protege tus claves API y evita exponer datos sensibles en las respuestas.
  • Si usas Stream, verifica que el flujo de datos no revele información confidencial en tiempo real.
  • Revisa los permisos del Judge Agent para asegurarte de que solo pueda leer y escribir los campos necesarios.