Patrones de orquestación de Saga - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Patrones de orquestación de Saga

A medida que los flujos de trabajo impulsados por ellos LLMs se vuelven cada vez más complejos y abarcan cadenas de solicitudes, pasos de procesamiento de datos, invocaciones de herramientas y colaboración entre agentes, la necesidad de una orquestación inteligente se vuelve esencial. En lugar de basarse en scripts estrechamente acoplados o flujos de ejecución estáticos predeterminados, estos flujos de trabajo se pueden implementar como patrones de orquestación basados en eventos, lo que permite a los sistemas basados en la LLM coordinar, monitorear y adaptar de forma dinámica las tareas de varios pasos entre agentes autónomos.

El siguiente diagrama es un ejemplo de un orquestador:

Orchestrador.

Orquestación de eventos

En los sistemas distribuidos tradicionales, la orquestación de eventos se refiere a un patrón en el que un coordinador central gestiona un flujo de trabajo complejo al dirigir explícitamente el flujo de control entre varios servicios o tareas. A diferencia de la coreografía de eventos (en la que cada servicio reacciona de forma independiente), la orquestación proporciona una lógica, visibilidad y control centralizados sobre todo el proceso.

Por lo general, esto se implementa con las siguientes herramientas:

  • AWS Step Functions— Defina y ejecute flujos de trabajo con estado

  • AWS Lambda— Realice tareas discretas dentro del flujo orquestado

  • Amazon SQS o Amazon EventBridge: activa pasos o respuestas asíncronos

El siguiente diagrama es un ejemplo de la orquestación de una saga:

Orquestación de la saga.

Un AWS Step Functions flujo de trabajo gestiona el proceso de pedido de un cliente:

  1. Crear pedido (AWS Lambda)

  2. Actualizar inventario (AWS Lambda)

  3. Realizar el pago (AWS Lambda)

El orquestador coordina cada paso gestionando los reintentos, las ramificaciones paralelas, los tiempos de espera y los errores.

Sistema de agentes basado en roles (orquestador)

En los sistemas agenciales, el patrón del orquestador refleja la orquestación de eventos, pero distribuye la lógica entre varios agentes de razonamiento, cada uno con una función o especialización definida. Un agente orquestador central interpreta la tarea general, la descompone en subtareas y las delega en agentes trabajadores, cada una optimizada para un dominio concreto (por ejemplo, investigación, codificación, resumen o revisión).

Supervisor

  1. Un usuario envía la siguiente pregunta: «Cree un resumen del proyecto y resuma los cinco principales competidores».

  2. El agente orquestador hace lo siguiente:

    • Asigna un agente de investigación para buscar datos de la competencia

    • Envía los resultados sin procesar a un agente de resumen

    • Pasa los resultados a un agente redactor de informes

    • Compila el resultado final para el usuario

Cada agente funciona de forma independiente, pero el orquestador coordina las tareas. Es como una función Lambda que gestiona las tareas del flujo de trabajo.

El siguiente diagrama es un ejemplo de un supervisor:

Supervisor.
  1. Un usuario envía una tarea a un agente supervisor de Amazon Bedrock.

  2. El agente supervisor analiza la solicitud en subtareas para cada agente colaborador.

  3. Cada subtarea se asigna a un agente colaborador con instrucciones o cadenas de herramientas específicas para cada función.

  4. Los agentes de trabajo recurren a herramientas APIs o herramientas externas a través de un grupo de acción.

  5. Cada agente de trabajo devuelve el resultado en un formato estructurado.

  6. Cuando todos los trabajadores devuelven sus resultados, el supervisor evalúa, sintetiza y devuelve la respuesta final.

Esta estructura permite la modularidad, la adaptabilidad y la introspección en flujos de trabajo complejos de agentes de varios pasos.

Conclusiones

Mientras que la orquestación de eventos utiliza un control centralizado (por ejemplo AWS Step Functions) para dirigir la ejecución del servicio, los sistemas de agentes basados en roles utilizan un agente orquestador con tecnología LLM para razonar sobre el objetivo, delegar subtareas a los agentes trabajadores y sintetizar el resultado final.

En ambos paradigmas, el orquestador hace lo siguiente:

  • Mantiene el contexto y el flujo de ejecución

  • Gestiona la ramificación, la secuenciación y la gestión de errores

  • Produce un resultado unificado a partir de componentes distribuidos

Sin embargo, la orquestación agencial añade razonamiento, adaptabilidad y delegación semántica. Esto lo hace ideal para tareas abiertas, ambiguas y en evolución.