Agente de suporte ao cliente
Este guia explica como aproveitar as capacidades avançadas de conversação do Claude para lidar com consultas de clientes em tempo real, fornecendo suporte 24/7, reduzindo tempos de espera e gerenciando altos volumes de suporte com respostas precisas e interações positivas.
Antes de construir com o Claude
Decida se deve usar o Claude para chat de suporte
Aqui estão alguns indicadores-chave de que você deve empregar um LLM como o Claude para automatizar partes do seu processo de suporte ao cliente:
Algumas considerações para escolher o Claude em vez de outros LLMs:
- Você prioriza conversas naturais e com nuances: A sofisticada compreensão de linguagem do Claude permite conversas mais naturais e contextuais que parecem mais humanas do que chats com outros LLMs.
- Você frequentemente recebe consultas complexas e abertas: O Claude pode lidar com uma ampla gama de tópicos e consultas sem gerar respostas automáticas ou exigir extensa programação de permutações de expressões do usuário.
- Você precisa de suporte multilíngue escalável: As capacidades multilíngues do Claude permitem que ele se envolva em conversas em mais de 200 idiomas sem a necessidade de chatbots separados ou processos extensos de tradução para cada idioma suportado.
Defina sua interação de chat ideal
Esboce uma interação ideal com o cliente para definir como e quando você espera que o cliente interaja com o Claude. Este esboço ajudará a determinar os requisitos técnicos da sua solução.
Aqui está um exemplo de interação de chat para suporte ao cliente de seguro de automóvel:
- Cliente: Inicia a experiência de chat de suporte
- Claude: Cumprimenta calorosamente o cliente e inicia a conversa
- Cliente: Pergunta sobre seguro para seu novo carro elétrico
- Claude: Fornece informações relevantes sobre cobertura de veículos elétricos
- Cliente: Faz perguntas relacionadas a necessidades únicas para seguros de veículos elétricos
- Claude: Responde com respostas precisas e informativas e fornece links para as fontes
- Cliente: Faz perguntas fora do tópico não relacionadas a seguros ou carros
- Claude: Esclarece que não discute tópicos não relacionados e direciona o usuário de volta ao seguro de automóvel
- Cliente: Expressa interesse em uma cotação de seguro
- Claude: Faz um conjunto de perguntas para determinar a cotação apropriada, adaptando-se às respostas
- Claude: Envia uma solicitação para usar a ferramenta de API de geração de cotação junto com as informações necessárias coletadas do usuário
- Claude: Recebe as informações de resposta da ferramenta de API, sintetiza as informações em uma resposta natural e apresenta a cotação fornecida ao usuário
- Cliente: Faz perguntas de acompanhamento
- Claude: Responde às perguntas de acompanhamento conforme necessário
- Claude: Orienta o cliente para os próximos passos no processo de seguro e encerra a conversa
Divida a interação em tarefas únicas
O chat de suporte ao cliente é uma coleção de várias tarefas diferentes, desde responder perguntas até recuperar informações e tomar medidas sobre solicitações, tudo em uma única interação com o cliente. Antes de começar a construir, divida sua interação ideal com o cliente em cada tarefa que você deseja que o Claude seja capaz de realizar. Isso garante que você possa instruir e avaliar o Claude para cada tarefa, e dá uma boa noção da variedade de interações que você precisa considerar ao escrever casos de teste.
Aqui estão as principais tarefas associadas ao exemplo de interação de seguro acima:
-
Saudação e orientação geral
- Cumprimentar calorosamente o cliente e iniciar a conversa
- Fornecer informações gerais sobre a empresa e a interação
-
Informações sobre o produto
- Fornecer informações sobre cobertura de veículos elétricos
Isso exigirá que o Claude tenha as informações necessárias em seu contexto, e pode implicar que uma integração RAG seja necessária.
- Responder a perguntas relacionadas a necessidades únicas de seguro de veículos elétricos
- Responder a perguntas de acompanhamento sobre a cotação ou detalhes do seguro
- Oferecer links para fontes quando apropriado
- Fornecer informações sobre cobertura de veículos elétricos
-
Gerenciamento de conversas
- Manter-se no tópico (seguro de automóvel)
- Redirecionar perguntas fora do tópico de volta a assuntos relevantes
-
Geração de cotação
- Fazer perguntas apropriadas para determinar a elegibilidade para cotação
- Adaptar perguntas com base nas respostas do cliente
- Enviar informações coletadas para a API de geração de cotação
- Apresentar a cotação fornecida ao cliente
Estabeleça critérios de sucesso
Trabalhe com sua equipe de suporte para definir critérios claros de sucesso e escreva avaliações detalhadas com referências e metas mensuráveis.
Aqui estão critérios e referências que podem ser usados para avaliar o quão bem o Claude executa as tarefas definidas:
Aqui estão critérios e referências que podem ser usados para avaliar o impacto nos negócios ao empregar o Claude para suporte:
Como implementar o Claude como um agente de atendimento ao cliente
Escolha o modelo Claude certo
A escolha do modelo depende das compensações entre custo, precisão e tempo de resposta.
Para chat de suporte ao cliente, o claude-opus-4-20250514
é bem adequado para equilibrar inteligência, latência e custo. No entanto, para casos em que você tem um fluxo de conversa com múltiplos prompts, incluindo RAG, uso de ferramentas e/ou prompts de contexto longo, o claude-3-haiku-20240307
pode ser mais adequado para otimizar a latência.
Construa um prompt forte
Usar o Claude para suporte ao cliente requer que o Claude tenha direção e contexto suficientes para responder adequadamente, enquanto tem flexibilidade suficiente para lidar com uma ampla gama de consultas de clientes.
Vamos começar escrevendo os elementos de um prompt forte, começando com um prompt de sistema:
User
(com a única exceção sendo o prompt de papel). Leia mais em Dando ao Claude um papel com um prompt de sistema.É melhor dividir prompts complexos em subseções e escrever uma parte de cada vez. Para cada tarefa, você pode encontrar maior sucesso seguindo um processo passo a passo para definir as partes do prompt que o Claude precisaria para fazer bem a tarefa. Para este exemplo de suporte ao cliente de seguro de automóvel, escreveremos gradualmente todas as partes para um prompt começando com a tarefa “Saudação e orientação geral”. Isso também facilita a depuração do seu prompt, pois você pode ajustar mais rapidamente partes individuais do prompt geral.
Vamos colocar todas essas partes em um arquivo chamado config.py
.
Vamos fazer o mesmo para nossas informações de seguro de automóvel e seguro de carro elétrico.
Agora que temos nosso conteúdo estático, vamos adicionar pelo menos 4-5 exemplos de interações “boas” para orientar as respostas do Claude. Esses exemplos devem ser representativos da sua interação ideal com o cliente e podem incluir guardrails, chamadas de ferramentas, etc.
Você também vai querer incluir quaisquer instruções importantes descrevendo o que fazer e o que não fazer para como o Claude deve interagir com o cliente. Isso pode ser baseado em diretrizes de marca ou políticas de suporte.
Agora vamos combinar todas essas seções em uma única string para usar como nosso prompt.
Adicione capacidades dinâmicas e de agente com uso de ferramentas
O Claude é capaz de realizar ações e recuperar informações dinamicamente usando a funcionalidade de uso de ferramentas do lado do cliente. Comece listando quaisquer ferramentas externas ou APIs que o prompt deve utilizar.
Para este exemplo, começaremos com uma ferramenta para calcular a cotação.
Exemplo de calculadora de cotação de seguro:
Implemente seus prompts
É difícil saber quão bem seu prompt funciona sem implantá-lo em um ambiente de produção de teste e executar avaliações, então vamos construir um pequeno aplicativo usando nosso prompt, o SDK da Anthropic e o streamlit para uma interface de usuário.
Em um arquivo chamado chatbot.py
, comece configurando a classe ChatBot, que encapsulará as interações com o SDK da Anthropic.
A classe deve ter dois métodos principais: generate_message
e process_user_input
.
Construa sua interface de usuário
Teste a implantação deste código com Streamlit usando um método principal. Esta função main()
configura uma interface de chat baseada em Streamlit.
Faremos isso em um arquivo chamado app.py
Execute o programa com:
Avalie seus prompts
O prompt frequentemente requer testes e otimização para estar pronto para produção. Para determinar a prontidão da sua solução, avalie o desempenho do chatbot usando um processo sistemático combinando métodos quantitativos e qualitativos. Criar uma forte avaliação empírica baseada em seus critérios de sucesso definidos permitirá otimizar seus prompts.
Melhore o desempenho
Em cenários complexos, pode ser útil considerar estratégias adicionais para melhorar o desempenho além das técnicas padrão de engenharia de prompt e estratégias de implementação de guardrails. Aqui estão alguns cenários comuns:
Reduza a latência de contexto longo com RAG
Ao lidar com grandes quantidades de contexto estático e dinâmico, incluir todas as informações no prompt pode levar a altos custos, tempos de resposta mais lentos e atingir limites de janela de contexto. Neste cenário, implementar técnicas de Geração Aumentada por Recuperação (RAG) pode melhorar significativamente o desempenho e a eficiência.
Ao usar modelos de embedding como o Voyage para converter informações em representações vetoriais, você pode criar um sistema mais escalável e responsivo. Esta abordagem permite a recuperação dinâmica de informações relevantes com base na consulta atual, em vez de incluir todo o contexto possível em cada prompt.
A implementação de RAG para casos de uso de suporte receita RAG demonstrou aumentar a precisão, reduzir tempos de resposta e reduzir custos de API em sistemas com requisitos extensos de contexto.
Integre dados em tempo real com uso de ferramentas
Ao lidar com consultas que requerem informações em tempo real, como saldos de conta ou detalhes de apólice, abordagens RAG baseadas em embedding não são suficientes. Em vez disso, você pode aproveitar o uso de ferramentas para melhorar significativamente a capacidade do seu chatbot de fornecer respostas precisas e em tempo real. Por exemplo, você pode usar ferramentas para procurar informações de clientes, recuperar detalhes de pedidos e cancelar pedidos em nome do cliente.
Esta abordagem, descrita em nossa receita de uso de ferramentas: agente de serviço ao cliente, permite integrar perfeitamente dados ao vivo nas respostas do seu Claude e fornecer uma experiência de cliente mais personalizada e eficiente.
Fortaleça guardrails de entrada e saída
Ao implantar um chatbot, especialmente em cenários de atendimento ao cliente, é crucial prevenir riscos associados a uso indevido, consultas fora do escopo e respostas inadequadas. Embora o Claude seja inerentemente resiliente a tais cenários, aqui estão passos adicionais para fortalecer os guardrails do seu chatbot:
- Reduza alucinações: Implemente mecanismos de verificação de fatos e citações para fundamentar respostas em informações fornecidas.
- Verifique informações: Verifique se as respostas do agente estão alinhadas com as políticas da sua empresa e fatos conhecidos.
- Evite compromissos contratuais: Garanta que o agente não faça promessas ou entre em acordos que não está autorizado a fazer.
- Mitigue jailbreaks: Use métodos como telas de inofensividade e validação de entrada para evitar que usuários explorem vulnerabilidades do modelo, visando gerar conteúdo inadequado.
- Evite mencionar concorrentes: Implemente um filtro de menção a concorrentes para manter o foco na marca e não mencionar produtos ou serviços de concorrentes.
- Mantenha o Claude no personagem: Evite que o Claude mude seu estilo de contexto, mesmo durante interações longas e complexas.
- Remova Informações Pessoalmente Identificáveis (PII): A menos que explicitamente necessário e autorizado, remova qualquer PII das respostas.
Reduza o tempo de resposta percebido com streaming
Ao lidar com respostas potencialmente longas, implementar streaming pode melhorar significativamente o engajamento e a satisfação do usuário. Neste cenário, os usuários recebem a resposta progressivamente em vez de esperar que toda a resposta seja gerada.
Aqui está como implementar streaming:
- Use a API de Streaming da Anthropic para suportar respostas em streaming.
- Configure seu frontend para lidar com pedaços de texto recebidos.
- Exiba cada pedaço conforme ele chega, simulando digitação em tempo real.
- Implemente um mecanismo para salvar a resposta completa, permitindo que os usuários a visualizem se navegarem para longe e retornarem.
Em alguns casos, o streaming permite o uso de modelos mais avançados com latências base mais altas, pois a exibição progressiva mitiga o impacto de tempos de processamento mais longos.
Escale seu Chatbot
À medida que a complexidade do seu Chatbot cresce, a arquitetura do seu aplicativo pode evoluir para corresponder. Antes de adicionar mais camadas à sua arquitetura, considere as seguintes opções menos exaustivas:
- Certifique-se de que está aproveitando ao máximo seus prompts e otimizando através de engenharia de prompt. Use nossos guias de engenharia de prompt para escrever os prompts mais eficazes.
- Adicione ferramentas adicionais ao prompt (que podem incluir cadeias de prompt) e veja se pode alcançar a funcionalidade necessária.
Se seu Chatbot lidar com tarefas incrivelmente variadas, você pode considerar adicionar um classificador de intenção separado para rotear a consulta inicial do cliente. Para o aplicativo existente, isso envolveria criar uma árvore de decisão que rotearia as consultas dos clientes através do classificador e então para conversas especializadas (com seu próprio conjunto de ferramentas e prompts de sistema). Observe que este método requer uma chamada adicional ao Claude que pode aumentar a latência.
Integre o Claude ao seu fluxo de trabalho de suporte
Embora nossos exemplos tenham se concentrado em funções Python chamáveis dentro de um ambiente Streamlit, implantar o Claude para chatbot de suporte em tempo real requer um serviço de API.
Aqui está como você pode abordar isso:
-
Crie um wrapper de API: Desenvolva um wrapper de API simples em torno da sua função de classificação. Por exemplo, você pode usar Flask API ou Fast API para envolver seu código em um Serviço HTTP. Seu serviço HTTP poderia aceitar a entrada do usuário e retornar a resposta do Assistente em sua totalidade. Assim, seu serviço poderia ter as seguintes características:
- Server-Sent Events (SSE): SSE permite o streaming em tempo real de respostas do servidor para o cliente. Isso é crucial para fornecer uma experiência suave e interativa ao trabalhar com LLMs.
- Cache: Implementar cache pode melhorar significativamente os tempos de resposta e reduzir chamadas de API desnecessárias.
- Retenção de contexto: Manter o contexto quando um usuário navega para longe e retorna é importante para a continuidade nas conversas.
-
Construa uma interface web: Implemente uma UI web amigável para interagir com o agente alimentado pelo Claude.