«A informação está na base de conhecimento. Porque é que o chatbot respondeu mal?»
É uma dúvida frequente quando se testa um assistente com IA ligado aos conteúdos de um website. O facto de uma resposta existir numa página ou num PDF não garante que o chatbot a encontre, interprete e utilize corretamente.
Num sistema que recorre à pesquisa de informação para gerar respostas, o erro pode surgir em diferentes etapas. Antes de trocar de modelo, é necessário perceber onde se perdeu a informação.
Como a informação chega à resposta
Muitos assistentes baseados em conhecimento próprio utilizam uma abordagem designada RAG (retrieval-augmented generation): pesquisam informação em fontes selecionadas e fornecem os excertos relevantes ao modelo de IA para este construir a resposta.
De forma simplificada, o percurso é: conteúdo original → extração e atualização → divisão e indexação → pesquisa e seleção → contexto e instruções → resposta. Nem todas as soluções usam exatamente o mesmo processo, mas a distinção entre encontrar a informação e gerar a resposta é essencial.
Imagine que uma página indica «O plano inclui manutenção técnica mensal» e um visitante pergunta «Fazem manutenção?». Se o chatbot responder «Não encontrei essa informação», isso não demonstra, por si só, que o modelo é inadequado. A página pode não ter sido indexada, a pesquisa pode ter escolhido outro excerto ou as instruções podem ter condicionado a resposta.
A fonte pode estar incorreta, ambígua ou desatualizada
O primeiro passo é confirmar o conteúdo original. «O plano inclui manutenção mensal de WordPress, plugins e tema» é uma informação explícita. Já «Acompanhamos tecnicamente os projetos ao longo do tempo» permite várias interpretações e não confirma as condições de um serviço de manutenção.
A clareza é especialmente importante para preços, prazos, serviços incluídos, exclusões e condições comerciais. Se a informação está distribuída por várias páginas, convém verificar se estas se completam ou se contradizem.
Por exemplo, um PDF antigo pode indicar entregas em três a cinco dias e uma página atualizada estabelecer um prazo de cinco a sete dias. Se ambas as fontes estiverem disponíveis para pesquisa, o assistente pode recuperar a versão errada ou receber informações incompatíveis. A duplicação de conteúdos, por si só, não melhora a precisão.
Também é necessário distinguir conteúdo publicado de conteúdo efetivamente processado e disponível para pesquisa. Uma alteração no WordPress não significa que o índice utilizado pelo chatbot seja atualizado de imediato. Conforme a plataforma, pode ser preciso sincronizar ou reprocessar as fontes. Em documentos PDF, tabelas ou ficheiros digitalizados, há ainda que confirmar se o texto foi extraído corretamente.
A divisão em blocos pode retirar contexto essencial
Para facilitar a pesquisa, muitos sistemas dividem documentos extensos em blocos de texto, habitualmente chamados chunks. Esta segmentação (chunking) pode separar uma regra da condição que lhe dá sentido.
Considere um documento com estas duas frases:
«O prazo de entrega é de cinco dias úteis.»
«Este prazo aplica-se apenas a Portugal Continental.»
Se o chatbot recuperar apenas a primeira, poderá responder que a entrega demora cinco dias úteis sem mencionar a limitação geográfica. A informação recuperada é verdadeira, mas a resposta fica incompleta.
Blocos demasiado pequenos podem separar títulos, exceções ou explicações. Blocos demasiado grandes podem reunir vários assuntos, dificultando a seleção do conteúdo relevante. Alguns sistemas permitem sobrepor texto entre blocos para preservar a continuidade, mas isso não corrige fontes contraditórias nem documentos mal estruturados.
Não existe um tamanho de bloco ideal para todos os casos. A organização de páginas, tabelas, perguntas frequentes e documentos deve orientar a estratégia de segmentação.
A pesquisa pode selecionar os excertos errados
Mesmo com conteúdo correto e bem organizado, o sistema tem de recuperar os excertos adequados à pergunta. Esta fase é conhecida por retrieval, ou recuperação de informação.
A pesquisa semântica utiliza representações numéricas do significado dos textos, designadas embeddings, para encontrar conteúdos relacionados. Contudo, semelhança de significado não equivale a resposta correta. Uma pergunta como «Fazem manutenção de WooCommerce?» pode encontrar primeiro um artigo sobre problemas de desempenho no WooCommerce, embora esse artigo não confirme a prestação do serviço.
A ordenação dos resultados também conta. A resposta pode estar no oitavo excerto, mas o sistema só enviar os cinco primeiros ao modelo. Por outro lado, recuperar vinte blocos semelhantes ou contraditórios pode acrescentar ruído, aumentar o custo de processamento e prejudicar a resposta. Perguntas que cruzam várias fontes — por exemplo, preço num documento e prazo noutro — exigem especial atenção.
Há ainda diferenças entre a linguagem utilizada no website e a linguagem do visitante. «Área reservada» e «portal de cliente» podem referir-se à mesma funcionalidade; códigos, siglas e nomes próprios são frequentemente mais difíceis de associar. Quando a solução o permite, combinar pesquisa semântica com pesquisa por palavras-chave pode melhorar estes casos.
Os metadados e filtros de pesquisa ajudam a limitar resultados por idioma, tipo de documento, projeto ou público. Mas também podem excluir a fonte certa: se um documento não tiver o idioma preenchido e a pesquisa aceitar apenas conteúdos identificados como portugueses, esse documento poderá ficar de fora. É necessário verificar tanto a qualidade dos resultados como os critérios que determinam quais podem aparecer.
A informação pode chegar ao modelo e, ainda assim, ser mal utilizada
Nem todas as falhas pertencem à pesquisa. O utilizador pode fazer uma pergunta ambígua, como «Quanto custa?», sem indicar a que serviço se refere. Nessa situação, pedir esclarecimento é mais útil do que escolher um preço por suposição.
O histórico da conversa também influencia a interpretação. Depois de falar sobre uma loja online, a pergunta «E manutenção?» poderá referir-se à loja, mas não é garantido. Em conversas extensas, certas implementações podem ainda resumir ou omitir parte do histórico e dos resultados recuperados para gerir os limites de contexto.
As instruções do chatbot podem criar outro problema. Se lhe for pedido que seja comercial, recomende sempre um próximo passo e, ao mesmo tempo, nunca acrescente informação sem suporte, essas orientações têm de ter prioridades claras. Caso contrário, o assistente pode propor serviços não solicitados ou improvisar uma resposta quando deveria admitir que não dispõe dos dados necessários.
Um modelo mais capaz pode interpretar melhor condições e seguir instruções com maior consistência, mas não corrige uma fonte que ficou fora dos resultados de pesquisa. O inverso também acontece: os excertos certos chegam ao modelo e este omite uma condição, mistura serviços ou acrescenta uma afirmação sem fundamento. É por isso que importa observar separadamente os resultados recuperados e a resposta gerada. Se for necessário comparar modelos, mantenha a pergunta, os excertos e as instruções iguais.
Quando possível, mostrar ligações para as fontes facilita a verificação e o diagnóstico. Ainda assim, uma citação não garante que todas as afirmações da resposta estejam efetivamente sustentadas por essa fonte.
Bases diferentes e informação privada exigem controlo de acesso
Um assistente pode pesquisar conteúdos gerais, documentação técnica e informação específica de clientes. Se estas fontes forem misturadas sem critérios, pode responder com informação de outro projeto ou destinada a um público diferente.
Ter vários chatbots ou bases separadas não prova, por si só, que os acessos estão isolados. Para informação privada, o sistema deve identificar o utilizador e aplicar as permissões adequadas antes de recuperar e enviar documentos ao modelo. Uma instrução como «não revele dados confidenciais» não substitui esse controlo técnico.
O mesmo princípio aplica-se à atualização ou remoção de documentos: as alterações de permissões devem refletir-se nos índices e noutras cópias utilizadas pelo sistema. A segurança depende da arquitetura e das autorizações efetivas, não apenas do comportamento esperado da IA.
Como diagnosticar e corrigir uma resposta errada
O diagnóstico começa por distinguir o sintoma da causa. Estas pistas ajudam a escolher a primeira verificação:
| O que acontece | O que verificar primeiro |
|---|---|
| O chatbot diz que não encontrou informação existente | Processamento da fonte, indexação e resultados da pesquisa |
| Responde com um prazo ou condição antiga | Versões duplicadas, atualização da base e prioridade das fontes |
| Dá uma resposta incompleta | Blocos recuperados, condições separadas e quantidade de resultados |
| Responde sobre outro serviço | Interpretação da pergunta, relevância dos excertos e instruções |
| Acrescenta informação sem suporte | Contexto efetivamente recebido, instruções e geração da resposta |
| Apresenta dados de outro cliente | Isolamento das fontes e verificação das permissões de acesso |
Para investigar um erro sem alterar tudo ao mesmo tempo, siga uma sequência controlada:
- Reproduza o caso. Registe a pergunta exata, o contexto da conversa, a resposta obtida e o comportamento esperado.
- Localize a fonte. Confirme que a resposta está escrita de forma clara, atualizada e sem contradições. Verifique se o conteúdo foi processado corretamente.
- Inspecione a pesquisa. Se a plataforma disponibilizar estes dados, veja os blocos recuperados, a sua ordem e os filtros aplicados. Determine se o excerto certo chegou ao modelo.
- Teste a geração. Com a fonte correta disponível, avalie se as instruções ou o modelo estão a provocar omissões, interpretações erradas ou afirmações sem suporte.
- Corrija uma variável de cada vez. Atualize primeiro a fonte, ou a pesquisa, ou as instruções, conforme a falha identificada. Compare os resultados antes e depois.
- Repita os testes. Valide o caso original e perguntas equivalentes, para verificar se a correção não criou novos erros.
Este processo pressupõe acesso a informação de diagnóstico que nem todas as plataformas expõem. Quando não é possível consultar os excertos recuperados, as conclusões sobre a causa devem ser tratadas como hipóteses e testadas com os meios disponíveis.
Testar também o que o chatbot não deve responder
Corrigir «Quanto custa a manutenção?» não chega se «Qual é o valor mensal do plano?» continuar a falhar. Uma bateria de testes deve incluir diferentes formulações da mesma intenção, perguntas que exigem combinar fontes e conversas com várias mensagens.
Deve também avaliar situações em que a resposta correta é pedir esclarecimento, declarar que a informação não está disponível ou não revelar dados privados. Um chatbot que responde a tudo não é necessariamente um chatbot fiável.
Para acompanhar a evolução, classifique os resultados como corretos, parcialmente corretos, incorretos ou sem suporte e registe se a fonte adequada foi utilizada. Repetir os mesmos testes após alterar conteúdos, regras de pesquisa, instruções ou modelo permite detetar regressões e comparar melhorias com critérios concretos.
Conclusão
Quando um chatbot responde mal apesar de a informação existir na base de conhecimento, a falha pode estar na fonte, na atualização, na segmentação, na pesquisa, na interpretação ou na geração da resposta. Chamar «alucinação» a todos estes problemas dificulta o diagnóstico: nem todo o erro resulta de o modelo inventar informação.
A intervenção mais útil depende da etapa afetada. Se a fonte não foi recuperada, o problema deve ser investigado na base e na pesquisa; se chegou ao modelo e foi mal utilizada, é necessário rever contexto, instruções e capacidade de resposta. Melhorar a fiabilidade começa por localizar o erro, não por trocar automaticamente de modelo.