Ir para o conteúdo

Como construir um agente composto no Jitterbit Harmony

Introdução

Este guia mostra como construir um agente composto no Jitterbit Harmony usando o Studio. Um agente composto fornece uma única interface para interagir com vários agentes especializados dentro da sua organização. O agente recebe consultas dos usuários, determina qual agente especializado pode lidar melhor com cada consulta e encaminha a solicitação para esse agente.

Este guia utiliza o Azure OpenAI como provedor de Modelo de Linguagem Grande (LLM) e o Slack como um exemplo de interface de chat, mas você pode adaptar essas etapas para outros provedores de LLM, como Google Gemini ou AWS Bedrock, e outras plataformas de chat, como Microsoft Teams, aplicativos web personalizados ou qualquer sistema que possa enviar solicitações HTTP.

Dica

Para fins de aprendizado, consulte o Agente Composto fornecido através do Jitterbit Marketplace para uma implementação deste guia.

diagrama do agente composto

Construir um agente composto

Neste guia, os seguintes conectores são utilizados:

  • HTTP v2: Para chamadas de API ao seu provedor de LLM e agentes especializados.
  • Cloud Datastore: Para armazenar o histórico de chat e sessões de usuários.
  • Um conector de interface de chat, como Slack ou Microsoft Teams.

Nota

Embora este guia utilize Azure OpenAI, Slack e Jitterbit Cloud Datastore, você pode adaptá-lo para funcionar com outros modelos de linguagem grande (LLMs), plataformas de chat e soluções de banco de dados.

Uma implementação completa geralmente inclui 4 fluxos de trabalho com operações, scripts e transformações. O número exato varia com base em seus requisitos específicos, o LLM escolhido e a complexidade de suas integrações de dados.

  1. Crie um novo projeto no Studio:

    1. Faça login no portal Harmony e selecione Studio > Projetos.
    2. Clique em Novo Projeto. A caixa de diálogo Criar Novo Projeto é aberta.
    3. Na caixa de diálogo, insira um Nome do projeto como AI Agent - Composite, selecione um ambiente existente e clique em Começar a Projetar. O designer de projetos é aberto.
  2. Crie um fluxo de trabalho de manipulador de solicitações de API para receber consultas de usuários da sua interface de chat:

    1. No designer de projetos, clique duas vezes no nome do fluxo de trabalho padrão e insira um nome descritivo, como Manipulador de Solicitações de API ou Manipulador de Solicitações de API do Slack.

    2. Na aba Endpoints e conectores do projeto, arraste o tipo de atividade Solicitação para a zona de drop no canvas de design.

    3. Clique duas vezes na atividade Solicitação de API e defina um esquema JSON apropriado para o formato de solicitação da sua interface de chat. Por exemplo, uma solicitação do Slack inclui os seguintes campos:

      • ID do usuário
      • ID do canal
      • Texto da mensagem
      • Timestamp
    4. Adicione transformações e scripts que realizem as seguintes tarefas:

      • Lidar com quaisquer solicitações de verificação específicas da interface, como a verificação de URL do Slack.

      • Analisar os dados da mensagem recebida.

      • Extrair informações do usuário.

      • Chamar o fluxo de trabalho de lógica de IA usando a função RunOperation.

      • Formatar e retornar a resposta para sua interface de chat.

    Nota

    O número de operações neste fluxo de trabalho depende dos requisitos da sua interface de chat.

  3. Crie o fluxo de trabalho de lógica de IA para analisar consultas e direcioná-las a agentes especializados:

    1. Clique em Adicionar Novo Fluxo de Trabalho para criar um novo fluxo de trabalho.

    2. Renomeie o fluxo de trabalho para um nome descritivo, como Lógica de IA.

    3. Na aba Endpoints e conectores do projeto, configure um endpoint de conector HTTP v2 para seu provedor de LLM.

    4. Arraste uma atividade HTTP v2 POST do endpoint do provedor LLM para a área de descarte para criar a operação principal de chamada LLM.

    5. Crie um script para construir a solicitação LLM. Este script deve incluir os seguintes elementos:

      • A consulta do usuário do manipulador de solicitações da API.

      • Seu prompt de sistema que define o comportamento de roteamento.

      • A lista de agentes especializados disponíveis com suas descrições de função.

      Por exemplo, você pode nomear este script Construir Solicitação de Ferramentas de Roteamento.

    6. Adicione uma transformação após a atividade HTTP v2 POST para analisar a resposta LLM e determinar qual agente especializado chamar.

    7. Adicione operações de lógica condicional para rotear a consulta para o manipulador apropriado. Por exemplo, você pode adicionar os seguintes manipuladores:

      • Um manipulador para consultas de Agente 1.

      • Um manipulador para consultas de Agente 2.

      • Um manipulador para perguntas de conhecimento geral (respondidas diretamente sem roteamento).

      • Um manipulador para consultas pouco claras que precisam de esclarecimento.

    8. Para adicionar ou remover agentes especializados para roteamento, modifique este fluxo de trabalho completando as seguintes tarefas:

      • Edite seu script de solicitação de ferramentas de roteamento para adicionar ou remover chamadas de função.

      • Use Ferramentas de Decisão para ajustar a lógica condicional que lida com a adição ou remoção de ferramentas.

      • Crie ou atualize scripts de manipulador para cada agente.

  4. Crie um fluxo de trabalho de chamada de API de agente especializado:

    1. Clique em Adicionar Novo Fluxo de Trabalho para criar um novo fluxo de trabalho.

    2. Renomeie o fluxo de trabalho para um nome descritivo, como Chamada de API de Agente Especializado.

    3. Na aba Endpoints e conectores do Projeto, configure um endpoint de conector HTTP v2 para seus agentes especializados (por exemplo, Endpoint HTTP v2 do Agente).

    4. Arraste uma atividade HTTP v2 POST do endpoint do agente especializado para a área de descarte.

    5. Adicione uma transformação para formatar a consulta de acordo com os requisitos da API do seu agente especializado. Esta transformação constrói a solicitação usando a URL do agente e as variáveis de autenticação que você define nas variáveis do projeto.

    6. Adicione uma transformação após a atividade HTTP v2 POST para mapear a resposta do agente especializado em um formato que o agente de IA possa retornar ao usuário.

  5. Crie um fluxo de trabalho utilitário para armazenar o histórico de chat:

    Nota

    Este guia utiliza o Jitterbit Cloud Datastore, mas você pode adaptar o projeto para funcionar com outras soluções de banco de dados.

    1. Clique em Adicionar Novo Fluxo de Trabalho para criar um novo fluxo de trabalho.

    2. Renomeie o fluxo de trabalho para um nome descritivo, como Utilitário - Histórico de Chat.

    3. Configure uma conexão com o Jitterbit Cloud Datastore com operações que realizem as seguintes tarefas:

      • Criar ou atualizar sessões de usuário.

      • Recuperar o histórico de chat para o contexto da conversa.

      • Excluir dados de conversas antigas.

      • Armazenar pares de perguntas e respostas.

    4. Defina armazenamentos-chave para sessões de usuário e histórico de conversas com base em seus requisitos. Este fluxo de trabalho armazena o histórico de chat para fornecer contexto de conversa para o LLM.

    Dica

    Armazenar o histórico de chat permite que o agente de IA mantenha o contexto em várias interações com o usuário, melhorando a qualidade das respostas.

  6. Configure os recursos do seu provedor de LLM. Complete um dos seguintes procedimentos:

    • Para Azure OpenAI, complete os seguintes passos:

      1. Crie um recurso Azure OpenAI e implante um modelo gpt-4o ou gpt-4.1 através do portal Azure AI Foundry.

      2. Salve os seguintes valores para configurar variáveis do projeto:

        • Nome da implantação
        • URL do endpoint Azure OpenAI
        • Chave da API
    • Para outros provedores de LLM, siga a documentação do seu provedor para configurar os recursos necessários e obter as credenciais requeridas (chaves de API, URLs de endpoint, identificadores de modelo).

    Dica

    A maioria dos provedores de LLM requer configuração semelhante: um endpoint de API, credenciais de autenticação e um identificador de modelo. Adapte a configuração do conector HTTP v2 para corresponder às especificações da API do seu provedor.

  7. Configure o Jitterbit Cloud Datastore (se estiver usando o histórico de chat):

    1. Crie dois armazenamentos de chave no Jitterbit Cloud Datastore:

      • Um para manter informações da sessão do usuário.

      • Um para armazenar o histórico de chat.

    2. Adicione os campos personalizados necessários a cada armazenamento de chave de acordo com os requisitos dos seus dados. Para especificações de campo, consulte a documentação do Composite Agent.

  8. Teste as conexões de endpoint:

    1. Na aba Endpoints e conectores do projeto , passe o mouse sobre cada endpoint.

    2. Clique em Testar para verificar a conectividade usando os valores de variáveis de projeto definidos.

  9. Implemente o projeto clicando no menu de ações do projeto e selecionando Implantar Projeto.

  10. Crie uma API personalizada do Jitterbit para expor o manipulador de solicitações:

    1. Volte para o fluxo de trabalho do seu manipulador de solicitações da API (por exemplo, Main Entry - API Request Handler).

    2. Clique no menu de ações da operação e selecione Publicar como uma API.

    3. Configure a API com as seguintes configurações:

      • Método: POST
      • Tipo de Resposta: Variável do Sistema
    4. Salve a URL do serviço da API para configurar sua interface de chat.

  11. Configure sua interface de chat. Complete um dos seguintes procedimentos:

    • Para Slack, complete os seguintes passos:

      1. Crie um aplicativo Slack usando um arquivo de manifesto ou crie-o do zero.

      2. Configure o aplicativo Slack para enviar solicitações para a URL do seu serviço de API personalizada do Jitterbit.

      3. Após instalar o aplicativo Slack, obtenha seu token de bot.

      4. Atualize a variável de projeto do seu token de bot com o valor do token de bot.

      5. Teste a conexão do Slack e reimplante o projeto.

    • Para Microsoft Teams ou outras plataformas de chat, siga a documentação da sua plataforma para configurar webhooks ou integrações de bot que enviem mensagens de usuários para a URL do seu serviço de API personalizada do Jitterbit.

  12. Teste o agente de IA:

    1. Envie uma mensagem direta para o aplicativo Slack. Isso aciona o fluxo de trabalho Main - Slack API Request Handler.

    2. Verifique se o agente de IA roteia corretamente as consultas para agentes especializados e retorna as respostas.

    Dica

    Para solução de problemas, revise os logs da API e os logs de operação.