Agente Composite do Jitterbit
Visão geral
O Jitterbit fornece o Agente Composite a todos os clientes através do Jitterbit Marketplace. Esse agente foi desenvolvido para fins de aprendizado, ajudando as organizações a adotarem IA com facilidade.
Esse agente oferece uma única interface para interagir com múltiplos agentes especializados dentro de sua organização. Um agente especializado é um agente de IA projetado para lidar com tipos específicos de tarefas ou consultas em um domínio particular. Os exemplos incluem o Agente de Vendas e o Agente de RH do Jitterbit.
O Agente Composite recebe consultas do usuário, determina qual agente especializado pode lidar melhor com cada consulta e roteia a solicitação para esse agente. Após o agente selecionado responder, o Agente Composite retorna a resposta ao usuário. Ao usar um único ponto de entrada, o Agente Composite elimina a necessidade de usuários acessarem interfaces separadas para cada agente. Embora esse agente use Azure OpenAI e Slack por padrão, você pode adaptá-lo para trabalhar com outros LLMs e plataformas de chat, como Claude, Microsoft Teams, microsserviços, apps SaaS como Salesforce ou aplicações desenvolvidas usando o Jitterbit App Builder.
Este documento explica como configurar e operar esse agente de IA. Ele aborda os seguintes tópicos: arquitetura e pré-requisitos, exemplos de prompts mostrando o que o agente pode fazer, e passos para instalar, configurar e operar o agente de IA.
Arquitetura do agente de IA
Esse agente de IA roteia consultas do usuário para agentes especializados. Um fluxo de trabalho típico segue estas etapas:
- Um usuário interage com o bot do Slack e envia uma pergunta ou solicitação.
- O Agente Composite analisa a consulta e a roteia para o agente especializado apropriado.
- O agente especializado processa a solicitação e retorna os resultados.
- O Agente Composite entrega a resposta ao usuário.
Diagrama de fluxo de trabalho
O diagrama a seguir mostra como o Agente Composite processa as consultas do usuário:
Jitterbit Composite Agent" } SCI[fab:fa-slack
Slack bot chat interface] JCA@{ shape: hex, label: "
Jitterbit API Manager
custom API" } AZR[Azure OpenAI REST call] AZM@{ shape: hex, label: "Azure OpenAI model" } SAG@{ shape: hex, label: "Specialized Agent" } SCI -->|1. Sends question| JCA JCA -->|2. Triggers request handler| JSP JSP -->|3. Query| AZR AZR --> AZM AZM --> AZR AZR -->|4. Routing decision| JSP JSP -->|5. Routed query| SAG SAG -->|6. Agent response| JSP JSP -->|7. Answer| SCI classDef plain fill:white, stroke:black, stroke-width:3px, rx:15px, ry:15px
Pré-requisitos
Você precisa dos seguintes componentes para usar esse agente de IA.
Componentes Harmony
Você deve ter uma licença do Jitterbit Harmony com acesso aos seguintes componentes:
Endpoints suportados
O agente de IA incorpora os seguintes endpoints. Você pode acomodar outros sistemas modificando as configurações de endpoint do projeto e os fluxos de trabalho.
Grande modelo de linguagem (LLM)
O agente de IA usa Azure OpenAI como provedor de LLM para análise de consultas e decisões de roteamento. Para usar OpenAI, você deve ter uma assinatura do Microsoft Azure com permissões para criar um recurso Azure OpenAI com um modelo gpt-4o ou gpt-4.1 implementado.
Dica
Para informações de preços, consulte a página de preços do Azure OpenAI.
Interface de chat
O agente de IA usa Slack como a interface de chat padrão para interagir com o Agente Composite.
Se desejar usar um aplicativo diferente como interface de chat, você pode modificar os fluxos de trabalho do projeto para integrar com sua plataforma preferida.
Exemplos de prompts
A tabela a seguir ilustra como o Agente Composite decide se deve responder uma consulta diretamente ou delegá-la a um agente especializado, com base na natureza da consulta e nos agentes especializados disponíveis.
| Tipo de consulta | Exemplo de consulta | Ação do Agente Composite |
|---|---|---|
| Conhecimento geral | "Qual é a capital dos EUA?" | Respondida diretamente, pois é uma pergunta de conhecimento geral que não requer roteamento para um agente especializado. |
| Conhecimento especializado (Vendas) | "Forneça os pedidos de vendas para o cliente ABC Inc." | Roteada para um Agente de Vendas especializado porque a solicitação requer acesso a dados relacionados a vendas. |
Instalação, configuração e operação
Siga estas etapas para instalar, configurar e operar este agente de IA:
- Baixar personalizações e instalar o projeto Studio.
- Criar recursos do Microsoft Azure.
- Criar o aplicativo Slack.
- Preparar Jitterbit Cloud Datastore.
- Configurar variáveis de projeto.
- Testar conexões.
- Implantar o projeto.
- Criar a API personalizada Jitterbit.
- Revisar fluxos de trabalho do projeto.
- Acionador dos fluxos de trabalho do projeto.
- Solução de problemas.
Baixar personalizações e instalar o projeto
Siga estas etapas para baixar arquivos de personalização e instalar o projeto Studio:
-
Faça login no portal Harmony em https://login.jitterbit.com e abra Marketplace.
-
Localize o agente de IA chamado Jitterbit Composite Agent. Para localizar o agente, utilize a barra de pesquisa ou, no painel Filtros em Tipo, selecione Agente de IA para filtrar a exibição.
-
Clique no link Documentação do agente de IA para abrir sua documentação em uma aba separada. Mantenha a aba aberta para consultar depois de iniciar o projeto.
-
Clique em Iniciar Projeto para abrir um diálogo de configuração de duas etapas para baixar personalizações e importar o agente de IA como um projeto Studio.
Nota
Se ainda não adquiriu o agente de IA, será exibido Obter agente. Clique nele para abrir um diálogo informativo e depois clique em Enviar para que um representante entre em contato sobre a compra do agente de IA.
-
Na etapa 1 de configuração, Baixar Personalizações, utilize o seguinte arquivo para criar o aplicativo Slack. Selecione o arquivo e clique em Baixar Arquivos:
- Arquivo de manifesto do aplicativo Slack:
slack_app_manifest.json
Dica
O diálogo de configuração inclui um aviso para não importar o modelo antes de aplicar personalizações de endpoint. Esse aviso não se aplica a este agente de IA e pode ser ignorado. Siga a ordem recomendada de etapas nesta documentação.
- Arquivo de manifesto do aplicativo Slack:
-
Clique em Próximo.
-
Na etapa 2 de configuração, Criar um Novo Projeto, selecione um ambiente onde deseja criar o projeto Studio e clique em Criar Projeto.
-
Um diálogo de progresso é exibido. Depois que indicar que o projeto foi criado, utilize o link do diálogo Ir para Studio ou abra o projeto diretamente da página Projetos do Studio.
Criar recursos do Microsoft Azure
Crie os seguintes recursos do Microsoft Azure e mantenha as informações para configurar o agente de IA. Para criar e gerenciar esses recursos, é necessário ter uma assinatura do Microsoft Azure com as devidas permissões.
Recurso do Azure OpenAI
É necessário criar um recurso do Azure OpenAI e implantar um modelo gpt-4o ou gpt-4.1 através do portal Azure AI Foundry.
Você precisará do nome da implantação, URL do endpoint do Azure OpenAI e chave de API para configurar as variáveis de projeto do Azure OpenAI. Para encontrar esses valores, siga estas etapas:
-
No portal Azure AI Foundry, abra o recurso OpenAI específico.
-
Na página inicial do recurso, localize os valores da URL do endpoint (
azure_openai_base_url) e chave de API (azure_openai_api_key). -
No menu de navegação em Recursos compartilhados, selecione Implantações. O nome da implantação (
Azure_OpenAI_Deployment_Name) aparece na lista.
Criar o aplicativo Slack
Para criar a interface de chat no Slack, siga estas etapas:
-
Crie um app do Slack usando o arquivo de manifesto do app do Slack (
slack_app_manifest.json) fornecido com os arquivos de customização deste agente de IA. Alternativamente, crie o app do zero. -
Se usar o arquivo de manifesto fornecido, substitua os seguintes placeholders pelos seus próprios valores de configuração:
Placeholder Descrição {{Replace with Slack bot name}}O nome que você deseja que seu bot do Slack tenha, conforme exibido aos usuários. Substitua este valor em dois lugares no manifesto. {{Replace with Jitterbit API URL}}A URL do serviço da API customizada do Jitterbit que você criou em Criar a API customizada do Jitterbit. -
Instale o app no seu workspace do Slack.
-
Obtenha o token do bot (para o campo Bot User OAuth Token da conexão do Slack) e insira seu valor na variável de projeto
slack_bot_oauth_user_token. -
Configure a variável de projeto
slack_channel_namecom o canal onde as notificações devem ser enviadas. -
Insira o valor do token do bot na variável de projeto
slack_bot_oauth_user_tokene o nome do canal na variável de projetoslack_channel_name. Você configurará estas na próxima etapa.
Prepare o Cloud Datastore do Jitterbit
Crie dois armazenamentos de chave no Cloud Datastore do Jitterbit chamados askjb_user_session e askjb_q_and_a. Os campos Key, AlternativeKey e Value estão presentes por padrão. Configure os campos customizados com os nomes e tipos listados nas tabelas a seguir.
Você pode deixar em branco os valores de campos que o sistema preenche automaticamente ou não utiliza.
Armazenamento de sessão de usuário (askjb_user_session)
Este armazenamento de chave mantém informações de sessão dos usuários. Nenhum campo customizado é necessário.
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Preenchido automaticamente. O endereço de e-mail do usuário, gerado durante a execução. Nenhuma entrada manual é necessária. |
AlternativeKey |
Texto | Preenchido automaticamente. A sessão do usuário, gerada durante a execução. Nenhuma entrada manual é necessária. |
Value |
Texto | Não utilizado. |
Histórico de chat (askjb_q_and_a)
Este armazenamento de chave retém o histórico de chats do bot para fornecer contexto de conversa ao LLM. Ele armazena o histórico de perguntas e respostas. O sistema insere automaticamente todos os dados durante a execução do workflow. Adicione os seguintes campos customizados:
| Nome do campo | Tipo | Descrição |
|---|---|---|
Key |
Texto | Preenchido automaticamente. O identificador único que o sistema atribui a uma mensagem. |
AlternativeKey |
Texto | Preenchido automaticamente. O identificador único que o sistema atribui a uma sessão de chat. |
Value |
Texto | Não utilizado. |
slackChannel |
Texto | Preenchido automaticamente. O ID do canal do Slack do qual o usuário envia a mensagem. |
User |
Texto | Preenchido automaticamente. O nome de usuário do Slack do usuário que envia a mensagem. |
FirstName |
Texto | Preenchido automaticamente. O primeiro nome do usuário que envia a mensagem. |
LastName |
Texto | Preenchido automaticamente. O sobrenome do usuário que envia a mensagem. |
Email |
Texto | Preenchido automaticamente. O endereço de e-mail do usuário que envia a mensagem. |
MessageTimestampText |
Texto | Preenchido automaticamente. O texto do timestamp da mensagem. |
UserQuestion |
Texto grande | Preenchido automaticamente. A pergunta ou mensagem que o usuário envia ao agente de IA. |
AIAnswer |
Texto grande | Preenchido automaticamente. A resposta que o agente de IA gera para a pergunta do usuário. |
ai_reformulate_question |
Texto grande | Preenchido automaticamente. A pergunta do usuário após o IA reformulá-la ou reescrevê-la para melhorar a compreensão. |
Configurar variáveis de projeto
No projeto do Studio, é necessário definir valores para as seguintes variáveis de projeto.
Para configurar variáveis de projeto, use o menu de ações do projeto e selecione Variáveis de Projeto. Isso abre um painel na parte inferior da página onde você pode revisar e definir os valores.
Cloud Datastore
| Nome da variável | Descrição |
|---|---|
Cloud_Datastore_Access_Token |
Token de acesso do Cloud Datastore para autenticação. |
Configuração de agentes especializados
As variáveis a seguir configuram o primeiro agente especializado (Agent1):
| Nome da variável | Descrição |
|---|---|
Agent1_URL |
O endpoint de URL base para comunicação com o primeiro agente especializado. O Agente Composto usa essa URL para enviar consultas roteadas e receber respostas. |
Agent1_API_Key_Header |
O nome do cabeçalho HTTP que o Agente Composto usa para enviar a chave de API ao fazer solicitações para o primeiro agente especializado. |
Agent1_API_Key |
A chave de API para o Agente Composto acessar o primeiro agente especializado, se a autenticação for obrigatória. |
Agent1_Function_Description |
Uma descrição da função e propósito do primeiro agente especializado. O LLM usa essa descrição para determinar se deve rotear uma consulta do usuário para esse agente. |
As variáveis a seguir configuram o segundo agente especializado (Agent2):
| Nome da variável | Descrição |
|---|---|
Agent2_URL |
O endpoint de URL base para comunicação com o segundo agente especializado. O Agente Composto usa essa URL para enviar consultas roteadas e receber respostas. |
Agent2_API_Key_Header |
O nome do cabeçalho HTTP que o Agente Composto usa para enviar a chave de API ao fazer solicitações para o segundo agente especializado. |
Agent2_API_Key |
A chave de API para o Agente Composto acessar o segundo agente especializado, se a autenticação for obrigatória. |
Agent2_Function_Description |
Uma descrição da função e propósito do segundo agente especializado. O LLM usa essa descrição para determinar se deve rotear uma consulta do usuário para esse agente. |
A variável a seguir configura o modo de teste:
| Nome da variável | Descrição |
|---|---|
Testing |
Um sinalizador booleano que indica se o Agente Composto opera em modo de teste. Quando definido como true, o Agente Composto retorna uma resposta simulada em vez de fazer uma chamada de API para o agente real. |
Azure OpenAI
| Nome da variável | Descrição |
|---|---|
Azure_OpenAI_Deployment_Name |
O nome da implantação do Azure OpenAI que você usa para acessar o modelo. |
azure_openai_base_url |
A URL base para acessar o serviço Azure OpenAI. Exemplo: https://<your-resource-name>.openai.azure.com. |
azure_openai_api_key |
A chave de API que você usa para autenticar solicitações ao serviço Azure OpenAI. |
ai_prompt |
O prompt do sistema para o LLM que define o comportamento de roteamento. Este prompt instrui o modelo a selecionar uma função (agente especializado) com base na consulta do usuário a partir de uma lista de funções disponíveis. Funções especiais incluem NeedClarificationFunction para consultas não claras e AnswerGeneralQuestion para perguntas de conhecimento geral. |
Slack
| Nome da variável | Descrição |
|---|---|
bot_oauth_user_token |
O token do bot Slack que você obtém após criar o app do Slack. Use este token para o Token de acesso OAuth do usuário bot na conexão do Slack. |
Nota
Você cria o app do Slack em uma etapa posterior. Pode deixar esta variável em branco por enquanto.
Testar conexões
Teste as configurações de endpoint para verificar a conectividade usando os valores de variável de projeto definidos.
Para testar conexões, acesse a aba Endpoints de projeto e conectores na paleta de componentes de design, passe o mouse sobre cada endpoint e clique em Testar.
Implantar o projeto
Implante o projeto do Studio.
Para implantar o projeto, use o menu de ações do projeto para selecionar Implantar.
Criar a API personalizada do Jitterbit
Crie uma API personalizada para a operação Slack Bot Request no fluxo de trabalho Main - Slack API Request Handler.
Para criar a API, use o menu de ações da operação para selecionar Publicar como uma API ou Publicar como uma API usando IA. Configure as seguintes definições:
| Configuração | Valor |
|---|---|
| Método | POST |
| Tipo de Resposta | Variável do Sistema |
Salve a URL do serviço de API da API publicada para usar ao criar o app do Slack. Para encontrar a URL do serviço, acesse a gaveta de detalhes da API na aba Serviços, passe o mouse sobre a coluna Ações do serviço e clique em Copiar URL do serviço de API.
Revisar workflows do projeto
No projeto Studio aberto, revise os workflows e as descrições na tabela a seguir para entender o que cada workflow faz.
| Nome do workflow | Tipo de acionador | Descrição |
|---|---|---|
| Main - Slack API Request Handler | API | Processa solicitações recebidas do bot do Slack. |
| Main - AI Agent Tools Logic | Chamado por outros workflows | Analisa consultas e as roteia para agentes especializados. |
| Specialized Agent API Call | Chamado por outros workflows | Executa chamadas de API para agentes especializados. |
| Utility - Bot Chat Cloud Datastore | Chamado por outros workflows | Armazena o histórico de chat do bot para contexto de conversa. |
Main - Slack API Request Handler
Esse workflow gerencia solicitações recebidas do bot do Slack. Uma API customizada do Jitterbit aciona o workflow cada vez que um usuário interage com a interface de chat do bot do Slack. Para saber como configurar a API customizada do Jitterbit, consulte Criar a API customizada do Jitterbit.
Main - AI Agent Tools Logic
Esse workflow processa as consultas de usuário recebidas do workflow Main - Slack API Request Handler. Ele gerencia a interação com o LLM, captura a resposta e roteia a solicitação para o agente especializado apropriado.
Para adicionar ou remover agentes especializados para roteamento, faça as seguintes modificações neste workflow:
- Modificar chamadas de função: Edite o script
Build Routing Tools Requestdentro da operaçãoAdd Tools Callpara adicionar ou remover chamadas de função. - Atualizar manipulação de ferramentas: Ajuste a operação
Tools Decisionpara gerenciar e processar a adição ou remoção de ferramentas, com base nas funções definidas no scriptBuild Routing Tools Requestdentro da operaçãoAdd Tools Call.
Specialized Agent API Call
Esse workflow executa uma chamada de API para um agente especializado. O workflow Main - AI Agent Tools Logic determina a URL específica do agente especializado. Você pode modificar a operação Agent Call neste workflow para corresponder aos requisitos da API do seu agente de destino.
Utility - Bot Chat Cloud Datastore
Esse workflow armazena o histórico de chat do bot, que fornece contexto de conversa ao LLM. O workflow usa o Jitterbit Cloud Datastore para esse fim.
Acionar os workflows do projeto
Para usar o Composite Agent, envie uma mensagem direta para o app do Slack. Isso aciona o workflow Main - Slack API Request Handler por meio da API customizada do Jitterbit.
Todos os outros workflows são executados automaticamente como parte do workflow principal e não se destinam a ser executados independentemente.
Resolução de problemas
Se encontrar problemas, revise os seguintes logs para obter informações detalhadas de resolução de problemas:
Para obter assistência adicional, entre em contato com o suporte do Jitterbit.