#Conversas fluidas

Uma conversa fluida é aquela em que o agente de IA responde ao que a pessoa quis dizer, e não a cada mensagem conforme ela chega. As pessoas escrevem em fragmentos, mandam áudios e depois acrescentam uma foto, e um agente que responde a cada fragmento responde a perguntas que ninguém terminou de fazer. A Vatio agrupa as mensagens que chegam juntas, espera um momento de silêncio e as mídias que ainda estão sendo processadas, mantém tudo na ordem em que foi enviado e ajusta o ritmo da resposta a cada canal. Você descreve o agente em um arquivo vatio.yml; o runtime faz o resto no WhatsApp, no Instagram e na web.

#Como as pessoas escrevem de verdade

Ninguém escreve para uma empresa em um parágrafo arrumado. Alguém diz “oi”, explica o problema em duas mensagens, manda um áudio porque digitar é lento e depois acrescenta uma foto. Para essa pessoa, é um único turno da conversa. Para um sistema que trata cada mensagem recebida como uma solicitação, são quatro solicitações, e cada uma recebe uma resposta.

#Por que responder a cada fragmento falha

Este é o mesmo cliente, duas vezes. Primeiro, com um agente que responde a cada mensagem assim que ela chega:

Cliente: oi

Agente: Oi! Como posso ajudar você hoje?

Cliente: a luminária que eu pedi chegou hoje

Agente: Que bom que chegou! Posso ajudar com mais alguma coisa?

Cliente: a base veio rachada

Agente: Sinto muito. Pode me mandar o número do pedido para eu iniciar o reembolso?

Cliente: (foto da base rachada)

Cliente: é o 4471. prefiro trocar do que receber o dinheiro de volta

Três respostas, e cada uma respondeu a uma pergunta que ainda não existia. O agente comemorou uma entrega que na verdade era uma reclamação, pediu um número de pedido que o cliente estava prestes a dar e ofereceu reembolso a alguém que queria uma troca. Cada uma dessas respostas também foi uma chamada ao modelo, às vezes uma chamada de tool, gasta com meia pergunta. No WhatsApp, parece que alguém interrompeu você três vezes enquanto você explicava.

O mesmo cliente, com um agente rodando na Vatio:

Cliente: oi

Cliente: a luminária que eu pedi chegou hoje

Cliente: a base veio rachada

Cliente: (foto da base rachada)

Cliente: é o 4471. prefiro trocar do que receber o dinheiro de volta

Agente: Sinto muito, dá para ver a rachadura na foto.

Agente: O pedido 4471 pode ser trocado. Já solicitei: a luminária nova vai com uma etiqueta pré-paga para devolver a quebrada.

As mensagens chegaram em sequência, então a Vatio as tratou como um único turno. Ela esperou a foto terminar de baixar, o agente fez uma chamada à tool da loja que confere um pedido e solicita a troca, e a resposta saiu em duas mensagens curtas, com indicador de digitação entre elas.

#O que acontece entre uma mensagem e a resposta

#Os fragmentos são agrupados, e a Vatio espera um momento de silêncio

A Vatio agrupa as mensagens que chegam juntas e espera um período de silêncio antes de gerar uma resposta. O agente recebe a pergunta completa, e o cliente tem espaço para se explicar. A espera é um período de silêncio, não adivinhação: quem para por tempo suficiente recebe a resposta ao que já enviou, e o que acrescentar depois é o próximo turno.

Essa espera é para o WhatsApp e o Instagram, onde as pessoas escrevem em rajadas e as respostas saem como mensagens com pausas. Na web, em um app iOS e na CLI o agente começa a responder na hora, e uma mensagem que chega enquanto ele responde também recebe resposta.

#As mídias que ainda estão a caminho são esperadas

Um áudio precisa ser baixado e transcrito; uma foto ou um PDF precisa ser baixado antes que o modelo consiga ler. A Vatio espera os anexos que ainda estão sendo baixados ou processados em vez de responder ao texto que chegou junto com eles. Imagens, áudios e PDFs compatíveis de até 8 MB por arquivo chegam ao agente. O que não é compatível ou é maior fica disponível para os supervisores no inbox, e o agente recebe um aviso de que não consegue ler.

#As mensagens ficam na ordem em que foram enviadas

Um áudio pode levar mais tempo para processar do que o texto enviado depois dele. A Vatio preserva o horário de envio de cada mensagem, mostra a conversa na ordem em que aconteceu e verifica se há mensagens em trânsito antes de responder. O agente não lê “é o 4471” antes do áudio que explicava do que se trata o 4471.

#As respostas seguem o ritmo do canal

CanalComo uma resposta chega
WhatsApp e InstagramMensagens curtas de texto simples, com pausas e indicador de digitação
Widget webUma resposta completa em Markdown, exibida progressivamente
CLIDe uma vez, assim que fica pronta

São estilos de entrega, não agentes diferentes. Você escreve um único conjunto de instruções e a Vatio cuida da mecânica de cada canal. Em todos os canais a resposta é texto: o agente lê mídias, mas não gera nem envia arquivos.

#Uma pessoa pode entrar, no mesmo fio

Quando um supervisor responde pelo inbox, ou pelo app do WhatsApp Business no seu próprio número, a Vatio pausa o agente naquela conversa e mantém todo o histórico no mesmo fio, então ninguém começa do zero. O supervisor devolve a conversa pelo inbox, ou a intervenção expira 8 horas depois da última mensagem do cliente. O agente também pode pedir uma pessoa quando você declara handoff; a Vatio ainda não notifica ninguém, então a conversa fica aguardando no inbox.

#O que a Vatio não tem como saber

O WhatsApp não avisa ninguém que uma pessoa começou a gravar um áudio: a Cloud API não expõe um sinal de início de gravação. A Vatio fica sabendo do áudio quando a mensagem enviada chega, e a partir daí pode esperar enquanto o arquivo é baixado e transcrito. Antecipar uma mensagem que ainda não foi enviada só é possível por inferência, a partir do contexto e dos tempos observados.

#A espera por pessoa está em desenvolvimento

Algumas pessoas mandam tudo em uma mensagem; outras precisam de quatro áudios. O ideal seria a espera aprender o ritmo de cada pessoa. Isso não está disponível hoje. Por enquanto, a espera depende do estilo de resposta do canal e de mídias ainda em processamento.

A Vatio está adicionando medições de intervalos entre mensagens, tipos de anexo e tempos de resposta. Elas são a base para calibrar a espera e, mais adiante, adaptá-la a cada pessoa. Enquanto isso não existir, nada no seu agente deveria depender disso.

#O fulfillment de uma conversa

Uma loja online decide o que vende e o que promete aos clientes. Um fornecedor de fulfillment separa, embala e despacha cada pedido. A experiência do comprador depende dos dois, e nenhum faz o trabalho do outro.

Com um agente acontece o mesmo. Você decide o que ele pode fazer, quais sistemas consulta e quais ações executa. A Vatio cuida da operação em torno dessas decisões: receber mensagens, reunir contexto, lidar com mídia, enviar respostas e coordenar o atendimento humano. É isso que chamamos de fulfillment conversacional: cuidar de todo o caminho entre o que o cliente envia e a resposta que recebe.

#O que você constrói e o que a Vatio opera

Você constróiA Vatio opera
Instruções e personalidadeReceber mensagens no WhatsApp, no Instagram e na web
Tools que chamam sua APIAgrupar fragmentos e esperar um momento de silêncio
Entradas de conhecimentoEsperar áudios, imagens e PDFs
Condições de handoffOrdem de envio, ritmo e indicador de digitação
Quais tools exigem um visitante autenticadoVerificar tokens de visitantes, salvaguardas, o inbox e a intervenção humana
Deployments de preview e live, e rollback

Você nunca escreve um buffer, um handler de webhook ou um indicador de digitação. O que continua sendo seu é a resposta estar certa: a qualidade depende das suas instruções, tools e conhecimento, e é para isso que existe o ciclo de melhoria.

#Escreva para o jeito como a conversa chega

Algumas escolhas no vatio.yml trabalham a favor do runtime, e não contra ele:

#Teste do jeito que as pessoas escrevem

O vatio chat responde assim que a resposta fica pronta, então ele testa o que o agente diz, não como ele entrega. Para ver o agrupamento e o ritmo, use um canal real: adicione seu celular como número de teste no número de preview compartilhado do WhatsApp, sem conta da Meta, como mostra o guia de WhatsApp. Depois mande o que os clientes mandam: “oi”, duas frases pela metade, um áudio, uma foto. Abra a conversa no inbox, ou leia com vatio chat show CHAT_ID para ver cada chamada de tool que o agente fez.

Perguntas frequentes

Por que meu bot de WhatsApp responde cada mensagem separadamente?

Porque ele trata cada mensagem recebida como uma pergunta completa. As pessoas escrevem em fragmentos, então um bot que responde a cada um responde a meias perguntas. A Vatio agrupa as mensagens que chegam juntas e espera um momento de silêncio antes de gerar uma única resposta.

A Vatio sabe quando alguém está gravando um áudio no WhatsApp?

Não. A WhatsApp Cloud API não expõe um sinal de início de gravação. A Vatio fica sabendo do áudio quando a mensagem enviada chega, e a partir daí pode esperar enquanto ele é baixado e transcrito. Antecipar uma mensagem que ainda não foi enviada só é possível por inferência a partir do contexto e dos tempos.

A espera se adapta ao jeito de cada pessoa escrever?

Ainda não. A espera adaptada a cada pessoa está em desenvolvimento e não está disponível. Hoje a espera depende do estilo de resposta do canal e de mídias ainda em processamento; a Vatio está adicionando medições de intervalos entre mensagens, tipos de anexo e tempos de resposta como base para adaptá-la mais adiante.

Preciso programar o buffer e a entrega de mensagens?

Não. Agrupar mensagens, esperar mídias, manter a ordem de envio e dar ritmo às respostas fazem parte do runtime da Vatio. Você descreve o agente, as tools e o conhecimento dele no vatio.yml.

O que acontece com a conversa quando uma pessoa assume?

A Vatio pausa o agente naquela conversa e mantém todo o histórico no mesmo fio, então o cliente nunca começa do zero. Um supervisor assume respondendo pelo inbox ou pelo app do WhatsApp Business, e devolve pelo inbox quando terminar.

Atualizado: