Estudo de caso

Como adicionámos um assistente de IA a uma plataforma SaaS — sem a estragar

Uma pequena equipa de SaaS tinha uma acumulação de pedidos de apoio e uma funcionalidade que os seus utilizadores não encontravam. Esta é a história honesta de como colocámos um assistente de IA dentro do produto: o que resultou, o que deitámos fora e o número que finalmente se mexeu.

Have a nice dayHave a nice day13 min de leitura
Como adicionámos um assistente de IA a uma plataforma SaaS — sem a estragar

Todas as equipas de SaaS com quem falamos acabam por dizer a mesma frase em voz alta: «Devíamos pôr aqui um assistente de IA.» Às vezes é pressão da administração, às vezes o lançamento de um concorrente, às vezes convicção genuína. O interessante nunca é a ideia — quase toda a gente a tem. O interessante é a distância entre essa frase e uma funcionalidade em que utilizadores reais realmente confiam. Esta é a história de uma equipa que a percorreu, e das decisões pouco glamorosas que a levaram até lá.

Uma nota rápida antes de começar: anonimizámos o cliente e arredondámos os números. É uma pequena empresa SaaS B2B rentável — menos de vinte pessoas — que vende uma ferramenta de fluxos de trabalho a equipas de operações. Alterámos detalhes suficientes para que não a reconheça, mas a forma do projeto é exatamente como aconteceu. Os números são ilustrativos, não auditados; preferimos mostrar-lhe o padrão a enfeitar um gráfico.

Escrevemos isto porque o projeto é um exemplo quase perfeito de como estas coisas realmente decorrem. Não correu como dizia a apresentação de arranque. Correu melhor — mas só porque estávamos dispostos a apagar a primeira versão.

A situação: dois problemas com o mesmo disfarce

Quando o fundador nos contactou pela primeira vez, o pedido era simples: «Queremos um chatbot de IA na aplicação.» É aí que a maioria dos projetos arranca, e é também aí que a maioria descarrila em silêncio. «Chatbot de IA» não é um objetivo, é uma forma. Por isso, a nossa primeira tarefa foi perceber que problema o chatbot deveria resolver — e se era sequer um só problema.

Não era. Sob esse único pedido escondiam-se duas dores completamente diferentes. A primeira era a carga de apoio: uma equipa de sucesso do cliente de duas pessoas afogava-se em pedidos repetitivos — «como exporto isto», «onde está a definição para aquilo», «porque é que o meu relatório não correu». Cerca de 60 % dos pedidos recebidos eram questões já respondidas algures na documentação de ajuda. A segunda dor era mais silenciosa e mais cara: a ativação. O produto tinha uma funcionalidade genuinamente poderosa enterrada a três cliques de profundidade que quase ninguém descobria sozinho. Os utilizadores que a encontravam ficavam anos. Os que não a encontravam saíam nos primeiros dois meses.

Mesmo disfarce, dois problemas. E puxavam em direções diferentes. Um bot de apoio quer desviar perguntas e sair do caminho. Um assistente de ativação quer iniciar conversas e empurrar as pessoas para coisas que não pediram. Se tivéssemos construído «um chatbot de IA» sem separar isto, teríamos construído algo que fazia mal ambos os trabalhos.

“«Chatbot de IA» é uma forma, não um objetivo. A primeira semana do projeto passou-se a descobrir que problema nos estavam realmente a pagar para resolver.”
— o nosso líder de projeto, nas notas de arranque
Um esboço em quadro branco dividindo uma caixa difusa de «chatbot de IA» em dois caminhos claramente rotulados — «desvio de apoio» à esquerda e «ativação de funcionalidade» à direita — com notas adesivas e setas de marcador, num pequeno escritório de startup
O primeiro entregável não foi código. Foi a perceção de que um pedido escondia dois problemas diferentes.

Reduzir o âmbito a algo que conseguíssemos terminar

Perante dois problemas, a tentação é construir um grande assistente que trate ambos desde o primeiro dia. Dissuadimos a equipa. Não porque a visão estivesse errada, mas porque um «assistente para tudo» de seis meses é exatamente o tipo de projeto que é entregue tarde, cai sem força e deixa toda a gente nervosa quanto à IA nos dois anos seguintes.

Por isso escolhemos um. Optámos primeiro pelo desvio de apoio, por três razões aborrecidas mas decisivas. Tinha um alvo claro e mensurável — o volume de pedidos. Usava conteúdo que já existia — a documentação de ajuda e os pedidos antigos. E, se tivesse mau desempenho, o prejuízo era pequeno: um utilizador que não obtinha uma boa resposta fazia simplesmente o que já fazia e abria um pedido. Baixo risco, feedback rápido, métrica honesta. Essa é uma boa primeira funcionalidade de IA, sempre.

O assistente de ativação não desapareceu — estacionámo-lo, no papel, com uma nota clara: fase dois, assim que a camada de recuperação estiver comprovada. Essa única decisão provavelmente salvou o projeto. Deu à equipa uma meta que conseguia realmente alcançar em semanas em vez de trimestres.

O primeiro protótipo que construímos — e apagámos

Eis a parte que a maioria dos estudos de caso omite. O nosso primeiro protótipo funcional era, para ser simpático, mau. Fizemos o óbvio: ligámos os artigos de ajuda do produto a um grande modelo de linguagem, acrescentámos uma caixa de conversação e deixámos os utilizadores fazer perguntas. Na demonstração parecia mágico. Em testes reais desmoronou-se de uma forma muito específica e muito instrutiva.

O modelo errava com confiança. Questionado sobre uma definição renomeada seis meses antes, inventava alegremente o antigo caminho de menu. Questionado sobre uma funcionalidade de um plano superior, explicava como usá-la — a um cliente que não tinha acesso. Cada resposta soava autoritária, o que tornava as erradas piores do que nenhuma resposta. Um bot de apoio que mente educadamente não reduz pedidos; gera outros mais furiosos.

Podíamos ter disfarçado isto com ajustes ao prompt. Em vez disso, fizemos algo que pareceu um passo atrás e se revelou ser o jogo todo: deitámos fora o primeiro protótipo e reconstruímo-lo em torno de uma regra estrita — o assistente só pode responder a partir de fontes que consiga citar, e caso contrário tem de dizer «Não sei».

Uma ilustração de interface em ecrã dividido: à esquerda uma resposta de conversação marcada com um ícone de aviso vermelho dando uma resposta confiante mas fabricada, à direita a mesma pergunta respondida com um visto verde, uma resposta curta e citada, e um botão de recurso «Não tenho a certeza — fale com o apoio»
A versão um soava ótima e mentia. A versão dois respondia menos, citava as suas fontes e inspirava mais confiança.

O que construímos de facto

A versão que entrou em produção foi deliberadamente modesta no que tentava e rigorosa na forma como se comportava. Por baixo era um assistente ancorado na recuperação: quando um utilizador perguntava algo, o sistema primeiro procurava numa base de conhecimento curada e atualizada, e depois pedia ao modelo que respondesse apenas a partir do que encontrava, com uma ligação de volta à fonte. Sem fonte, sem resposta confiante — apenas uma passagem limpa para uma pessoa.

Três opções de conceção fizeram a maior parte do trabalho pesado, e nenhuma é entusiasmante. É esse o ponto — as escolhas aborrecidas são normalmente as que decidem se se confia numa funcionalidade de IA ou se é desligada em silêncio.

Ancoragem em vez de esperteza

Cada resposta estava ligada a um documento real e atual. Passámos mais tempo a limpar e a estruturar a base de conhecimento do que a afinar o modelo. Pouco glamoroso, e de longe o trabalho de maior alavancagem do projeto. Um modelo medíocre sobre conteúdo excelente e bem mantido vence um modelo brilhante sobre uma confusão desatualizada.

Uma passagem elegante

Quando o assistente não tinha a certeza, não adivinhava. Dizia-o e oferecia um caminho de um clique para uma pessoa — levando consigo o contexto da conversa, para que o utilizador nunca tivesse de se repetir. De forma contraintuitiva, isto fazia as pessoas confiar mais no bot: um assistente que admite os seus limites parece honesto, e apoiavam-se nele nos 60 % fáceis precisamente porque ele se afastava nos 40 % difíceis.

Ciente de quem está a perguntar

Como vivia dentro do produto, o assistente conhecia o plano, o papel do utilizador e onde este estava na aplicação. Por isso nunca explicava uma funcionalidade a que não tinha acesso, e podia dizer: «O botão que procura está no ecrã onde já se encontra.» Essa consciência do produto é a verdadeira vantagem de um assistente integrado na aplicação face a um chatbot genérico aparafusado a um site de marketing.

  1. 1
    Limpámos e estruturámos a base de conhecimento
    Auditámos cada documento de ajuda, eliminámos os desatualizados e etiquetámos o resto por plano e funcionalidade. Foi a semana um, e foi a semana mais importante.
  2. 2
    Construímos a camada de recuperação
    Primeiro procurar, depois responder. O modelo só via conteúdo verificado e atual — e tinha instruções para recusar tudo o que não conseguisse ancorar numa fonte.
  3. 3
    Ligámos o contexto do produto
    Conectámos o assistente ao plano, ao papel e ao ecrã atual do utilizador, para que as respostas fossem à medida e nunca apontassem para funcionalidades inacessíveis.
  4. 4
    Desenhámos o recurso honesto
    Construímos o caminho «Não tenho a certeza — aqui está uma pessoa» como uma funcionalidade de primeira classe, com todo o contexto da conversa entregue à equipa de apoio.
  5. 5
    Lançámos para 10 % dos utilizadores atrás de um flag
    Implementámos discretamente numa fatia das contas, observámos conversas reais durante duas semanas, corrigimos o que falhava e depois alargámos o lançamento.

Os resultados — e o que nos surpreendeu

Depois de o assistente estar ativo para todos durante cerca de três meses, o quadro era claro. Vamos dar-lhe números arredondados e ilustrativos — a direção importa mais do que as casas decimais.

MétricaAntesDepoisMudança
Pedidos de apoio repetitivos~100/semana~45/semanaCerca de metade, desviados
Tempo mediano de primeira resposta~5 horasQuase instantâneo nas perguntas comunsDe horas a segundos
Foco da equipa de apoioSobretudo perguntas repetidasSobretudo casos complexos de alto valorMelhor uso de duas pessoas
Taxa de «incapaz de responder» do assistente—~20 % (passados a pessoas)Honesto, não escondido
Aproximadamente onde as coisas ficaram após três meses, comparado com a referência antes do lançamento. Os números estão arredondados e são ilustrativos.

O número do apoio era o que tínhamos prometido, e cumpriu: pouco mais de metade dos pedidos repetitivos simplesmente deixou de chegar, e a equipa de duas pessoas recuperou a sua semana para tratar os casos que realmente precisavam de uma pessoa. Bom resultado, exatamente como definido.

Mas o resultado que realmente surpreendeu o fundador foi um para o qual não tínhamos otimizado de todo. Como o assistente respondia a perguntas de «como faço X» o dia inteiro, ia naturalmente apontando os utilizadores para aquela funcionalidade enterrada e fidelizadora — a ligada à retenção. Ainda não tínhamos construído o assistente de ativação. O bot de apoio fazia em silêncio uma parte do trabalho deste como efeito secundário, simplesmente por ser útil e ciente do produto. Os novos utilizadores encontravam a funcionalidade semanas mais cedo do que antes.

“Lançámos uma ferramenta de apoio. Revelou-se uma ferramenta de integração vestida de ferramenta de apoio — e foi precisamente por isso que a fase dois recebeu luz verde.”
— da revisão aos três meses
Um gráfico de linhas editorial e limpo no ecrã de um portátil mostrando os pedidos de apoio semanais a caírem cerca de metade ao longo de três meses, com uma segunda linha ténue ascendente rotulada «descoberta de funcionalidade» a subir ao fundo, visto por cima do ombro de um fundador aliviado
A métrica que prometemos mexeu-se conforme planeado. A segunda linha ténue — descoberta de funcionalidade — é a que ninguém esperava.

O que diríamos à próxima equipa

Se é uma equipa de SaaS a fitar a mesma frase «devíamos adicionar um assistente de IA», há algumas coisas deste projeto que se generalizam muito para além dele.

  • Separe os problemas antes de construir. «Chatbot de IA» esconde quase sempre dois ou três trabalhos distintos que pedem conceções diferentes.
  • Comece pelo caso de uso onde uma resposta errada custa menos. O desvio de apoio é um primeiro passo quase perfeito; o recurso é o statu quo.
  • Reserve a maior parte do seu esforço para o conteúdo, não para o modelo. Ancorar em dados limpos e atuais é o que torna um assistente fiável.
  • Faça do «Não sei» uma funcionalidade, não uma falha. Uma passagem honesta constrói a confiança que faz os utilizadores apoiarem-se no que o bot faz bem.
  • Lance primeiro atrás de um flag para uma pequena fatia. As conversas reais ensinar-lhe-ão coisas que nenhuma demonstração alguma vez ensinará.

Está a pensar numa funcionalidade de IA no seu produto?

A parte mais difícil raramente é o modelo — é delimitar a coisa para que seja lançada e ganhe confiança. Ajudamos equipas de SaaS e de software a perceber o que vale mesmo a pena construir, e depois construímo-lo. Uma primeira conversa não lhe custa mais do que o tempo.

Veja como construímos funcionalidades de IA

Perguntas frequentes

Quanto tempo demorou este projeto?
Do arranque ao lançamento completo foram cerca de três meses, incluindo o protótipo que deitámos fora e um lançamento faseado atrás de um feature flag. Uma primeira funcionalidade de IA focada como esta é normalmente uma questão de semanas a poucos meses, não de um ano — desde que mantenha o âmbito estreito. O que faz explodir os prazos é tentar construir o «assistente para tudo» no primeiro dia.
Precisamos de uma enorme quantidade de dados para adicionar um assistente de IA?
Não. Para um assistente de apoio, os «dados» são sobretudo o conteúdo de ajuda e os pedidos antigos que já tem. O trabalho não é reunir mais — é limpar e estruturar o que existe, para que o assistente possa ancorar as suas respostas em algo rigoroso e atual. A maioria das equipas surpreende-se com a quantidade de material aproveitável que já tem à sua frente.
Um assistente de IA não vai dar respostas erradas aos clientes?
Vai, a menos que desenhe contra isso. A decisão mais importante deste projeto foi proibir o assistente de responder a tudo o que não conseguisse ligar a uma fonte real, e dar-lhe uma forma limpa de dizer «Não tenho a certeza, aqui está uma pessoa». Construído assim, responde de forma fiável à maioria fácil e afasta-se no resto — que é exatamente o que ganha a confiança do utilizador.
Devemos construí-lo nós próprios ou trazer ajuda?
Ambas podem resultar, mas o modo de falha é o mesmo: subestimar o quanto o resultado depende do trabalho de base pouco glamoroso — limpeza de conteúdo, recuperação, salvaguardas, o recurso honesto — em vez do modelo em si. Se a sua equipa tem tempo para o fazer com cuidado, ótimo. Se não, é exatamente a parte em que um parceiro experiente lhe poupa um ou dois protótipos apagados.
Qual é uma primeira funcionalidade de IA sensata para um produto SaaS?
Escolha aquela em que uma resposta errada lhe custa menos e a métrica é óbvia. O desvio de apoio encaixa em ambas: o recurso é simplesmente o que os utilizadores faziam antes, e pode medir o volume de pedidos diretamente. Assim que isso estiver comprovado e a confiança conquistada, terá ganho o direito de abordar casos de uso de maior risco como integração, ativação ou orientação dentro do produto.
Have a nice day
Have a nice day
Redação

A Have a nice day é um estúdio de software que ajuda pequenas e médias empresas a digitalizarem-se — automação, IA e software à medida que funciona no dia a dia, não apenas nos slides.

Serviços relacionados