https://a.storyblok.com/f/270183/1368x665/b2728873e3/5things-lowcode_ai-studio.png

5 técnicas de AI Studio que todo desenvolvedor de low-code deve conhecer

Publicado em November 21, 2024

Tempo de leitura: 8 minutos

Introdução

Ao trabalhar com AI Studio, há alguns fluxos úteis que surgem repetidamente. Neste artigo, você aprenderá como aprimorar seus agentes de IA conversacional com 5 fluxos simples, mas poderosos, que são úteis em todos os agentes!

Você aprenderá (1) a criar um fluxo para enviar e-mails, (2) a organizar seu agente de forma clara e organizada, (3) como criar um ciclo para aceitar várias perguntas do usuário, (4) como lidar com perguntas genéricas que possam confundir seu agente e, por fim, (5) como criar alternativas caso o usuário faça perguntas complicadas!  

Pré-requisitos

  • Account da API da Vonage

Você precisa configurar um agente básico do WhatsApp para atendimento de chamadas para acompanhar o passo a passo. Primeiro, para criar seu agente, siga as instruções encontradas na documentação do AI Studio. Existem três opções importantes para o nosso agente; selecione:

  • Tipo: WhatsApp

  • Modelo: Começar do zero

  • Evento: Inbound

Em seguida, adicione os três nós a seguir:

Starting Boilerplate WhatsApp FlowStarting Boilerplate WhatsApp Flow

Como usar o nó “Enviar e-mail” no AI Studio

Permitir que os usuários enviem e-mails para sua empresa por meio de um agente de IA conversacional oferece um canal de comunicação confiável e seguro, no qual os usuários confiam, garantindo que as consultas sejam atendidas com profissionalismo. Além disso, isso permite que sua equipe gerencie as respostas no próprio ritmo, integrando-se perfeitamente aos fluxos de trabalho existentes, já que o e-mail é amplamente utilizado na maioria das organizações.

Primeiro, você precisará criar um Suporte por e-mail Intenção para o nosso nó de classificação. As intenções são o que permite que o agente de IA identifique o objetivo da pergunta do usuário e para qual fluxo encaminhá-lo.

Abra o nó “Classificação” e clique em “Criar intenção”. Nomeie a intenção como “Suporte por e-mail” na parte superior e, em seguida, adicione de 5 a 10 expressões de usuário, como “Ajuda por e-mail”, “Suporte por e-mail” e “Quero enviar um e-mail para o suporte”. As expressões de usuário são os dados que ajudam a treinar o agente para compreender diferentes intenções.

Intent Training Set for Send Email FlowIntent Training Set for Send Email Flow
Em seguida, precisaremos de mais duas informações do usuário antes de podermos usar o nó “Enviar e-mail” :

  • Recolher endereço

    • Usando um nó “Collect Input”, solicite ao usuário que forneça seu endereço de e-mail.

      • Por exemplo: “Ótimo! Você poderia me passar seu endereço de e-mail?”

    • Salve-o em um novo parâmetro $email_address.

    • Defina este parâmetro para @sys.email para que o AI Studio aceite apenas endereços de e-mail válidos.

  • Coletar e-mail

    • Usando um nó “Collect Input”, faça ao usuário a pergunta que o agente não conseguiu responder

      • Por exemplo: “Por favor, explique qual é a sua dúvida, e eu a encaminharei ao suporte 💌

    • Salve-o em um novo parâmetro chamado $email_content

Agora estamos prontos para o nó “Enviar e-mail”. A configuração do nosso nó será:

  • Para: insira seu e-mail aqui

    • Certifique-se de pressionar Enter para que o endereço seja salvo. Ele deve ficar com a aparência de um bloco cinza.

    • Você pode adicionar mais de um destinatário de e-mail.

  • Assunto: Pergunta sobre o novo agente de IA: $PROFILE_NAME

    • $PROFILE_NAME é um parâmetro do sistema que nos permite acessar o nome de perfil que o usuário definiu no WhatsApp. (Observação: nem todo mundo usa seu nome verdadeiro como nome de perfil.)

  • Corpo:

Informações de contato:

  • Nome do entrevistado: $PROFILE_NAME

  • Número de telefone do entrevistado: $SENDER_PHONE_NUMBER

  • E-mail do entrevistado: $email_address

Pergunta enviada pelo usuário: $email_content

Hora da conversa: $CONVERSATION_START_TIME

Seu nó deve ficar assim:

Send Email NodeSend Email Node
Ótimo! Nosso fluxo de e-mail já está pronto. Agora você pode usar o Testador de Chat e testá-lo com seu endereço de e-mail!

Como organizar seus agentes com subfluxos

Nossa tela está começando a ficar um pouco bagunçada, e isso é só por um fluxo curto fluxo! Imagine com fluxos que podem ter dezenas de nós! Para manter nossos agentes organizados, podemos organizá-los em subfluxos.

Dica profissional: Comece com uma maquete antes de começar a construir e organizar, fica muito mais fácil

Para criar um novo fluxo, clique na aba “Fluxos” no painel mais à esquerda. Em seguida, clique em “Adicionar fluxo”. Você pode renomear seu fluxo para “Enviar e-mail” clicando com o botão direito do mouse.

How to Rename SubflowsHow to Rename SubflowsAgora recrie a parte do fluxo de e-mail de antes; tudo o que vem depois do nó “Classificação” (nó “Coletar endereço”, nó “Coletar e-mail”, nó “Enviar e-mail”). No entanto, agora use o nó “Iniciar” em seu novo subfluxo como ponto de partida. Você pode duplicar seus nós anteriores e copiá-los/colá-los no subfluxo.

Agora, a partir da seção Controle de Fluxo do painel Nós, adicione um nó “Exit Flow”. Clique no nó e renomeie-o para “Exit Send Email”. Agora podemos usar nosso subfluxo para organizar nosso Fluxo Principal! Clique na aba Eventos (aquela com o símbolo de um raio) e, em seguida, clique em “Inbound Session”. Isso o levará de volta ao nosso Fluxo Principal.

Agora, exclua todos os nós que criamos na seção anterior, “Como usar o nó ‘Enviar e-mail’” (tudo o que vem depois do nó “Classificação”).  Em seguida, na seção “Controle de fluxo”, adicione um nó “Fluxo” e selecione o fluxo “Enviar e-mail”. Você pode conectar seu nó “Classificação” ao nó “Fluxo Enviar e-mail” e pronto! Seu agente tem a mesma funcionalidade, mas de uma forma muito mais organizada.

Agent Main Flow with Send Email SubflowAgent Main Flow with Send Email Subflow

Como criar um ciclo para atender a várias consultas de usuários

Nosso fluxo de e-mails é bom, mas e se o usuário quiser enviar um e-mail para o suporte e perguntar mais perguntas? Não queremos que ele tenha que reiniciar todo o processo com o agente! Queremos permitir que o usuário faça várias perguntas ao nosso chatbot. 

Crie outro subfluxo chamado “Repetir?”. Adicione um nó de coleta de entrada chamado “Collect Repeat”, que salvará um novo parâmetro chamado $repeat do tipo @sys.confirmation. O nó receberá entradas do botão “Responder”. Um botão deve ter o título “Sim” e o valor “sim”. O outro botão deve ter o título “Não” e o valor “não”.

Collect Repeat Node DetailsCollect Repeat Node DetailsAgora, vamos usar um Nó de Condição para verificar se $repeat. Crie uma condição para verificar se $repeat é igual a “sim” e outra para verificar se $repeat é igual a “não”. Agora adicione dois nós “Sair do Fluxo” separados: um para REPEAT = SIM e outro para REPEAT = NÃO.

Complete Repeat? SubflowComplete Repeat? SubflowAgora, de volta ao nosso Fluxo Principal, vamos concluir nossa lógica de repetição. Conecte a condição “sim” novamente ao seu nó “Collect User Query” original, o primeiro nó de entrada de coleta que usamos.

Para que nossos usuários saibam que o fluxo terminou e que nosso agente está “inativo”, vamos criar um último nó “Enviar mensagem” com uma mensagem simples de despedida: “Obrigado por usar o AI Studio!”. Conecte nossa condição “false” a esse nó. Conecte o nó “Mensagem de despedida” a um nó “Encerrar conversa”.

Repeat? Subflow Within the Main FlowRepeat? Subflow Within the Main Flow

Como lidar com consultas amplas dos usuários

O restante do artigo se passa inteiramente em nosso fluxo principal.

Até agora, criamos uma intenção para nossos usuários: enviar e-mails. Seu agente pode ter várias intenções. Às vezes, os usuários podem fazer perguntas genéricas que correspondem a várias intenções, confundindo o agente virtual. Em vez de o agente dizer “Desculpe, não entendi isso”, o que pode frustrar os usuários, uma abordagem melhor é criar uma intenção de “Consultas Genéricas”. Essa intenção oferece uma resposta educada e esclarecedora e solicita que o usuário reformule a pergunta, ajudando a manter a confiança dele na capacidade do agente de prestar assistência.

Consultas gerais para um agente de reservas de viagens podem ser do tipo “voos”, “assistência”, “detalhes”, “dúvida sobre reserva”, etc.

Intent Training Set for Broad QueriesIntent Training Set for Broad QueriesPrimeiro, adicione uma intenção do tipo “Consultas gerais” ao seu Nó de . Em seguida, adicione possíveis consultas amplas no campo “Expressões do usuário”. Tente incluir palavras ou frases que possam confundir um agente e resultar em várias intenções.

Em segundo lugar, crie um novo nó “Collect Input” e conecte-o à intenção “Broad Queries”. Usaremos esse nó “Collect Input” para coletar nossa $user_query . No entanto, aqui vamos dizer algo como: “Que ótima pergunta! Você poderia ser mais específico?” ou “Fico feliz em ajudar. Qual é a sua pergunta?”.Por fim, volte ao seu nó “Classification”.

Overview of Broad Queries LoopOverview of Broad Queries Loop

Como criar soluções alternativas para entradas inesperadas do usuário

Ao lidar com as entradas do usuário, podem ocorrer alguns erros comuns. Por exemplo, ao usar um nó “Collect Input” no WhatsApp, os usuários podem inserir texto quando o agente espera uma imagem. Ou podem enviar uma mensagem vazia. Além disso, os nós de classificação podem ficar confusos se uma consulta não corresponder às intenções existentes. Vamos criar dois fluxos alternativos para cobrir esses dois cenários possíveis.

Como criar um fluxo alternativo para tipos de entrada inesperados

Nosso primeiro nó “Collect Input” espera que os usuários enviem uma pergunta em forma de texto. Podemos criar uma alternativa adicionando um novo nó “Collect Input” chamado “Fallback:Text”. O valor é armazenado novamente em $user_query e o prompt é “Desculpe, as perguntas devem ser digitadas. Por favor, tente novamente.” Em seguida, esse nó pode ser conectado ao nosso nó de Classificação e ao ponto de saída “Tipo de entrada inesperado”.

Fallback for Unexpected Input TypeFallback for Unexpected Input Type

Como criar um fluxo alternativo para casos de classificação incorreta

Em nosso nó de Classificação, precisamos lidar com o caso “Missed”. Podemos adicionar novamente um novo nó de Coleta de Entrada chamado “Fallback: Missed Intent”. O valor é armazenado novamente em $user_query. O prompt é: “Desculpe, não entendi isso. Por favor, tente fazer uma pergunta mais detalhada.” Em seguida, esse nó é conectado de volta ao nosso nó Classificação.

Missed Classification Fallback FlowMissed Classification Fallback Flow

Como evitar loops infinitos em fallbacks

Você deve ter percebido que essas alternativas de fallback apresentam uma possível armadilha. Se o usuário forneceu uma entrada problemática na primeira vez, por que não forneceria uma resposta problemática em nossa pergunta seguinte? Ele poderia! E acabaria entrando em um loop infinito. Saiba como evitar ciclos infinitos com um fluxo de alternativas bem estruturado.

Conclusão

E é isso aí! Cinco fluxos simples, mas poderosos, do AI Studio que podem realmente elevar o nível dos seus agentes de IA conversacional. Ao configurar a funcionalidade de e-mail, manter tudo organizado com subfluxos, permitir que os usuários façam várias perguntas, lidar com aquelas consultas amplas e complexas e criar alternativas inteligentes, você pode criar agentes mais responsivos e fáceis de usar.

Essas dicas têm como objetivo facilitar a sua vida como desenvolvedor low-code, ao mesmo tempo em que garantem uma experiência tranquila para seus usuários. Então, vá em frente, experimente esses fluxos e veja como eles podem tornar seus agentes mais eficientes e seu fluxo de trabalho mais organizado. Divirta-se experimentando o AI Studio e não deixe de nos contar o que você está criando. Entre em contato conosco na nossa Slack da Comunidade de Desenvolvedores ou no X, antes conhecido como Twitter.

Compartilhar:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovDeveloper Advocate

Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.