Sua central de ajuda deveria responder perguntas, não listá-las

Help Center

Um usuário quer cancelar. Ele digita “parem de me cobrar” na busca da sua central de ajuda.

O seu melhor artigo se chama Gerenciar sua assinatura. Ele não tem a palavra “cobrar”. Não tem a palavra “parem”. A busca por palavras-chave não encontra nada, e o usuário abre um chamado no suporte que a sua documentação poderia ter resolvido.

É assim que uma central de ajuda costuma falhar, e o problema não é o conteúdo. Você escreveu o artigo. A busca é que não conseguiu encontrá-lo.

Dois vocabulários que não se cruzam

Quem escreve os artigos de ajuda conhece o produto e usa os substantivos dele: assinatura, licença, espaço de trabalho, direito de uso. Quem faz as buscas ainda não conhece o produto e usa as próprias palavras: plano, usuário, conta, acesso.

A busca por palavras-chave só funciona quando esses dois vocabulários se cruzam. Muitas vezes eles não se cruzam, e a distância é maior justamente para os usuários que mais precisam de ajuda: os novos.

A busca semântica acaba com essa distância

A busca da central de ajuda do Kookee é semântica. Os artigos viram vetores, a consulta vira vetor do mesmo jeito, e a correspondência acontece pelo significado, não por caracteres em comum:

TypeScript
const results = await kookee.help.search({ query: 'parem de me cobrar', limit: 5 });

results.forEach((result) => {
  result.title;        // 'Gerenciar sua assinatura'
  result.matchedChunk; // o trecho que correspondeu à consulta
  result.category;     // { name, slug }
});

Na prática, matchedChunk é a parte que eu acho mais útil. Você recebe não só o artigo, mas o trecho que respondeu à consulta, e assim a sua página de resultados pode mostrar a resposta ali mesmo, em vez de uma lista de links azuis para percorrer.

Depois, elimine a caixa de busca

A busca continua sendo uma interface em que o trabalho fica com o usuário. Ele formula a consulta, percorre os resultados, abre um artigo e percorre o texto de novo atrás do parágrafo que serve para o caso dele.

O widget de chat pula essas etapas. Ele responde em linguagem natural, com base nos seus artigos de ajuda publicados, e cita as fontes que usou:

tsx
import { KookeeChatWidget } from '@kookee/react/chat';
import '@kookee/react/chat.css';

<KookeeChatWidget
  clientOptions={{ apiKey: 'your-api-key' }}
  title="Ajuda"
  greeting="Olá! Como posso ajudar?"
  suggestions={['Como eu começo?', 'Quais são os planos e preços?']}
  onSourceClick={(source) => window.open(`/help/${source.slug}`, '_blank')}
/>

Essa é a integração inteira. O widget é uma bolha flutuante em qualquer página, tem os temas light, dark e auto e aceita um primaryColor, para não parecer o produto de outra empresa enxertado no seu.

Aqui importa de onde vêm as respostas. O widget responde com base nos seus artigos e leva até eles. Quando ele não sabe a resposta, é uma lacuna na sua documentação; e o onSourceClick, junto com as visualizações de cada artigo, mostra quais artigos de fato carregam o peso do suporte.

Escreva para a pergunta, não para o recurso

Disso tudo saem duas conclusões, e as duas são sobre como você escreve.

A busca semântica compara significados, então um artigo que começa descrevendo o problema do usuário com as palavras do usuário vai ser encontrado. Um que começa com “Este artigo descreve a interface de gerenciamento de assinaturas” não vai, por melhor que seja o resto.

E os números mostram quando você errou. Um artigo com muito tráfego que continua gerando a mesma pergunta no suporte não é um artigo que falta. É um artigo errado: as pessoas o encontram e ele não ajuda. Nenhum outro sinal de uma central de ajuda aponta tão diretamente o que corrigir.