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:
- Input – El texto que describe la tarea que el usuario desea realizar.
- Card List – Una lista de datos de tarjetas A2A que contiene información sobre los agentes disponibles.
- Model – Un modelo de lenguaje que se utiliza para generar el prompt y obtener la respuesta.
El flujo interno es el siguiente:
-
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
.
- Se construye un prompt con
-
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.
- Se crea el cuerpo de la petición con
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
- Escenario: Un usuario quiere crear un nuevo cliente llamado “Juan Pérez”.
- Paso 1: En el campo Input escribe:
Crear un nuevo cliente llamado Juan Pérez con correo juan.perez@example.com
- Paso 2: El componente envía esta solicitud al modelo de lenguaje junto con la lista de tarjetas.
- Paso 3: El modelo devuelve la URL del agente “Customer Creation Agent”.
- Paso 4: El componente envía la solicitud al agente y recibe la respuesta, por ejemplo:
Cliente creado con éxito. ID: 12345
- 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.