Cómo construir un agente compuesto en Jitterbit Harmony
Introducción
Esta guía te muestra cómo construir un agente compuesto en Jitterbit Harmony utilizando Studio. Un agente compuesto proporciona una única interfaz para interactuar con múltiples agentes especializados dentro de tu organización. El agente recibe consultas de los usuarios, determina qué agente especializado puede manejar mejor cada consulta y dirige la solicitud a ese agente.
Esta guía utiliza Azure OpenAI como proveedor del Modelo de Lenguaje Grande (LLM) y Slack como un ejemplo de interfaz de chat, pero puedes adaptar estos pasos para otros proveedores de LLM como Google Gemini o AWS Bedrock, y otras plataformas de chat como Microsoft Teams, aplicaciones web personalizadas o cualquier sistema que pueda enviar solicitudes HTTP.
Consejo
Para fines de aprendizaje, consulta el Agente Compuesto proporcionado a través de Jitterbit Marketplace para una implementación de esta guía.
Construir un agente compuesto
En esta guía, se utilizan los siguientes conectores:
- HTTP v2: Para llamadas API a tu proveedor de LLM y agentes especializados.
- Cloud Datastore: Para almacenar el historial de chat y las sesiones de usuario.
- Un conector de interfaz de chat como Slack o Microsoft Teams.
Nota
Aunque esta guía utiliza Azure OpenAI, Slack y Jitterbit Cloud Datastore, puedes adaptarla para trabajar con otros modelos de lenguaje grande (LLMs), plataformas de chat y soluciones de bases de datos.
Una implementación completa típicamente incluye 4 flujos de trabajo con operaciones, scripts y transformaciones. El número exacto varía según tus requisitos específicos, el LLM elegido y la complejidad de tus integraciones de datos.
-
Crea un nuevo proyecto en Studio:
- Inicia sesión en el portal de Harmony y selecciona Studio > Projects.
- Haz clic en New Project. Se abre el cuadro de diálogo Create New Project.
- En el cuadro de diálogo, ingresa un Project name como
AI Agent - Composite, selecciona un environment existente y haz clic en Start Designing. Se abre el diseñador de proyectos.
-
Crea un flujo de trabajo de manejador de solicitudes API para recibir consultas de usuario desde tu interfaz de chat:
-
En el diseñador de proyectos, haz doble clic en el nombre del flujo de trabajo predeterminado e ingresa un nombre descriptivo, como
API Request HandleroSlack API Request Handler. -
En la pestaña Project endpoints and connectors, arrastra el tipo de actividad Request a la drop zone en el lienzo de diseño.
-
Haz doble clic en la actividad API Request y define un esquema JSON apropiado para el formato de solicitud de tu interfaz de chat. Por ejemplo, una solicitud de Slack incluye estos campos:
- User ID
- Channel ID
- Message text
- Timestamp
-
Agrega transformaciones y scripts que realicen las siguientes tareas:
-
Manejar cualquier solicitud de verificación específica de la interfaz, como la verificación de URL de Slack.
-
Analizar los datos del mensaje entrante.
-
Extraer información del usuario.
-
Llamar al flujo de trabajo de lógica de IA utilizando la función
RunOperation. -
Formatear y devolver la respuesta a tu interfaz de chat.
-
Nota
El número de operaciones en este flujo de trabajo depende de los requisitos de tu interfaz de chat.
-
-
Crea el flujo de trabajo de lógica de IA para analizar consultas y dirigirlas a agentes especializados:
-
Haz clic en Add New Workflow para crear un nuevo flujo de trabajo.
-
Cambia el nombre del flujo de trabajo a un nombre descriptivo como
AI Logic. -
En la pestaña Project endpoints and connectors, configura un endpoint de HTTP v2 connector para tu proveedor de LLM.
-
Arrastra una actividad POST de HTTP v2 desde el punto final del proveedor de LLM a la zona de caída para crear la operación principal de llamada a LLM.
-
Crea un script para construir la solicitud de LLM. Este script debe incluir los siguientes elementos:
-
La consulta del usuario del controlador de solicitudes de API.
-
Tu aviso del sistema que define el comportamiento de enrutamiento.
-
La lista de agentes especializados disponibles con sus descripciones de funciones.
Por ejemplo, podrías nombrar este script Construir Solicitud de Herramientas de Enrutamiento.
-
-
Agrega una transformación después de la actividad POST de HTTP v2 para analizar la respuesta de LLM y determinar qué agente especializado llamar.
-
Agrega operaciones de lógica condicional para enrutar la consulta al controlador apropiado. Por ejemplo, puedes agregar los siguientes controladores:
-
Un controlador para consultas de
Agente 1. -
Un controlador para consultas de
Agente 2. -
Un controlador para preguntas de conocimiento general (respondidas directamente sin enrutamiento).
-
Un controlador para consultas poco claras que necesitan aclaración.
-
-
Para agregar o eliminar agentes especializados para el enrutamiento, modifica este flujo de trabajo completando las siguientes tareas:
-
Edita tu script de solicitud de herramientas de enrutamiento para agregar o eliminar llamadas a funciones.
-
Usa Herramientas de Decisión para ajustar la lógica condicional que maneja la adición o eliminación de herramientas.
-
Crea o actualiza scripts de controlador para cada agente.
-
-
-
Crea un flujo de trabajo de llamada a API de agente especializado:
-
Haz clic en Agregar Nuevo Flujo de Trabajo para crear un nuevo flujo de trabajo.
-
Cambia el nombre del flujo de trabajo a un nombre descriptivo como
Llamada a API de Agente Especializado. -
En la pestaña Puntos finales y conectores del Proyecto, configura un punto final de conector HTTP v2 para tus agentes especializados (por ejemplo, Punto Final HTTP v2 de Agente).
-
Arrastra una actividad POST de HTTP v2 desde el punto final del agente especializado a la zona de caída.
-
Agrega una transformación para formatear la consulta según los requisitos de API de tu agente especializado. Esta transformación construye la solicitud utilizando la URL del agente y las variables de autenticación que defines en las variables del proyecto.
-
Agrega una transformación después de la actividad HTTP v2 POST para mapear la respuesta del agente especializado en un formato que el agente de IA pueda devolver al usuario.
-
-
Crea un flujo de trabajo utilitario para almacenar el historial de chat:
Nota
Esta guía utiliza Jitterbit Cloud Datastore, pero puedes adaptar el proyecto para trabajar con otras soluciones de bases de datos.
-
Haz clic en Agregar Nuevo Flujo de Trabajo para crear un nuevo flujo de trabajo.
-
Cambia el nombre del flujo de trabajo a un nombre descriptivo como
Utilidad - Historial de Chat. -
Configura una conexión de Jitterbit Cloud Datastore con operaciones que realicen las siguientes tareas:
-
Crear o actualizar sesiones de usuario.
-
Recuperar el historial de chat para el contexto de la conversación.
-
Eliminar datos de conversaciones antiguas.
-
Almacenar pares de preguntas y respuestas.
-
-
Define los almacenes clave para las sesiones de usuario y el historial de conversaciones según tus requisitos. Este flujo de trabajo almacena el historial de chat para proporcionar contexto de conversación para el LLM.
Consejo
Almacenar el historial de chat permite que el agente de IA mantenga el contexto a través de múltiples interacciones del usuario, mejorando la calidad de las respuestas.
-
-
Configura los recursos de tu proveedor de LLM. Completa uno de los siguientes procedimientos:
-
Para Azure OpenAI, completa los siguientes pasos:
-
Crea un recurso de Azure OpenAI y despliega un modelo
gpt-4oogpt-4.1a través del portal de Azure AI Foundry. -
Guarda los siguientes valores para configurar las variables del proyecto:
- Nombre de la implementación
- URL del endpoint de Azure OpenAI
- Clave API
-
-
Para otros proveedores de LLM, sigue la documentación de tu proveedor para configurar los recursos necesarios y obtener las credenciales requeridas (claves API, URLs de endpoints, identificadores de modelos).
Consejo
La mayoría de los proveedores de LLM requieren una configuración similar: un endpoint API, credenciales de autenticación y un identificador de modelo. Adapta la configuración del conector HTTP v2 para que coincida con las especificaciones API de tu proveedor.
-
-
Configurar Jitterbit Cloud Datastore (si se utiliza el historial de chat):
-
Crear dos almacenes de claves en Jitterbit Cloud Datastore:
-
Uno para mantener la información de la sesión del usuario.
-
Uno para almacenar el historial de chat.
-
-
Agregar los campos personalizados requeridos a cada almacén de claves de acuerdo con los requisitos de sus datos. Para especificaciones de campos, consulte la documentación del Agente Compuesto.
-
-
Probar las conexiones de los endpoints:
-
En la pestaña Endpoints y conectores del proyecto , pase el cursor sobre cada endpoint.
-
Haga clic en Probar para verificar la conectividad utilizando los valores de las variables del proyecto definidas.
-
-
Desplegar el proyecto haciendo clic en el menú de acciones del proyecto y seleccionando Desplegar Proyecto.
-
Crear una API personalizada de Jitterbit para exponer el manejador de solicitudes:
-
Regresar al flujo de trabajo de su manejador de solicitudes de API (por ejemplo,
Main Entry - API Request Handler). -
Haga clic en el menú de acciones de la operación y seleccione Publicar como una API.
-
Configure la API con los siguientes ajustes:
- Método:
POST - Tipo de Respuesta:
Variable del Sistema
- Método:
-
Guarde la URL del servicio de API para configurar su interfaz de chat.
-
-
Configure su interfaz de chat. Complete uno de los siguientes procedimientos:
-
Para Slack, complete los siguientes pasos:
-
Crear una aplicación de Slack utilizando un archivo de manifiesto o crearla desde cero.
-
Configure la aplicación de Slack para enviar solicitudes a la URL de su servicio de API personalizada de Jitterbit.
-
Después de instalar la aplicación de Slack, obtenga su token de bot.
-
Actualice la variable del proyecto de su token de bot con el valor del token de bot.
-
Pruebe la conexión de Slack y redeploy el proyecto.
-
-
Para Microsoft Teams u otras plataformas de chat, siga la documentación de su plataforma para configurar webhooks o integraciones de bots que envíen mensajes de usuario a la URL de su servicio de API personalizada de Jitterbit.
-
-
Prueba el agente de IA:
-
Envía un mensaje directo a la aplicación Slack. Esto activa el flujo de trabajo
Main - Slack API Request Handler. -
Verifica que el agente de IA dirija correctamente las consultas a agentes especializados y devuelva respuestas.
Consejo
Para solucionar problemas, revisa los registros de API y los registros de operaciones.
-
