Saltearse al contenido

A2A Orchestrator

El componente A2A Orchestrator permite a los usuarios elegir y ejecutar agentes A2A dentro del dashboard de Nappai. El usuario escribe una solicitud, el componente consulta al modelo de lenguaje para decidir qué agente debe manejar la tarea y luego envía la solicitud al agente seleccionado.

¿Cómo funciona?

El componente recibe tres entradas:

  1. Input – El texto que describe la tarea que el usuario desea realizar.
  2. Card List – Una lista de datos de tarjetas A2A que contiene información sobre los agentes disponibles.
  3. Model – Un modelo de lenguaje que se utiliza para generar el prompt y obtener la respuesta.

El flujo interno es el siguiente:

  1. Selección del agente

    • Se construye un prompt con generate_a2a_select_agent_prompt, pasando el texto de la solicitud y la lista de tarjetas.
    • El prompt se envía al modelo de lenguaje (llm.invoke).
    • El modelo devuelve la URL del agente que debe manejar la tarea. Esta URL se almacena como selected_agent.
  2. Ejecución del agente

    • Se crea el cuerpo de la petición con generate_run_agent_payload, usando el texto de la solicitud.
    • Se envía una solicitud HTTP POST a la URL del agente (selected_agent.value).
    • La respuesta del agente se devuelve como texto.

El componente no realiza operaciones adicionales; simplemente actúa como puente entre el usuario, el modelo de lenguaje y el agente A2A.

Entradas

Campos de Entrada

  • Card List: Lista de datos de tarjetas A2A que contiene información sobre los agentes disponibles.
  • Model: Modelo de lenguaje que se utilizará para generar el prompt y seleccionar el agente.
  • Input: Texto que describe la tarea que el usuario desea que el agente realice.

Salidas

  • Selected Agent: Texto que contiene la URL del agente seleccionado por el modelo de lenguaje.
  • Execution Result: Texto que contiene la respuesta del agente después de ejecutar la solicitud.

Ejemplo de Uso

  1. Escenario: Un usuario quiere crear un nuevo cliente llamado “Juan Pérez”.
  2. Paso 1: En el campo Input escribe:
    Crear un nuevo cliente llamado Juan Pérez con correo juan.perez@example.com
  3. Paso 2: El componente envía esta solicitud al modelo de lenguaje junto con la lista de tarjetas.
  4. Paso 3: El modelo devuelve la URL del agente “Customer Creation Agent”.
  5. Paso 4: El componente envía la solicitud al agente y recibe la respuesta, por ejemplo:
    Cliente creado con éxito. ID: 12345
  6. Resultado: El usuario ve el mensaje de éxito en el dashboard y puede usar el ID para otras tareas.

Componentes Relacionados

  • LanguageModel – El modelo de lenguaje que se conecta al componente para generar prompts y seleccionar agentes.
  • DataInput – Entrada que permite pasar la lista de tarjetas A2A.
  • MessageTextInput – Entrada que captura el texto de la solicitud del usuario.

Consejos y Mejores Prácticas

  • Asegúrate de que la lista de tarjetas esté actualizada y contenga las URLs correctas de los agentes.
  • Verifica que el modelo de lenguaje esté configurado con la capacidad adecuada para comprender el dominio de tu negocio.
  • Revisa la respuesta del agente antes de usarla en pasos posteriores del flujo de trabajo.
  • Si la lista de tarjetas incluye datos sensibles, protege la información con los mecanismos de seguridad de Nappai.

Consideraciones de Seguridad

  • El componente envía datos a través de HTTP POST; confirma que la URL del agente utilice HTTPS para cifrar la comunicación.
  • No incluyas credenciales directamente en la lista de tarjetas; utiliza mecanismos de autenticación seguros proporcionados por Nappai.
  • Valida la respuesta del agente para evitar la propagación de datos incorrectos o maliciosos en el flujo de trabajo.