Agent de service client
Ce guide explique comment tirer parti des capacités conversationnelles avancées de Claude pour gérer les demandes des clients en temps réel, offrant un support 24/7, réduisant les temps d’attente et gérant des volumes élevés de demandes avec des réponses précises et des interactions positives.
Avant de construire avec Claude
Décider si Claude convient au support par chat
Voici quelques indicateurs clés qui suggèrent que vous devriez employer un LLM comme Claude pour automatiser certaines parties de votre processus de support client :
Quelques considérations pour choisir Claude plutôt que d’autres LLM :
- Vous privilégiez une conversation naturelle et nuancée : la compréhension sophistiquée du langage de Claude permet des conversations plus naturelles et contextuelles qui semblent plus humaines que les discussions avec d’autres LLM.
- Vous recevez souvent des requêtes complexes et ouvertes : Claude peut gérer un large éventail de sujets et de demandes sans générer de réponses préfabriquées ou nécessiter une programmation extensive des permutations d’énoncés utilisateurs.
- Vous avez besoin d’un support multilingue évolutif : les capacités multilingues de Claude lui permettent de participer à des conversations dans plus de 200 langues sans avoir besoin de chatbots séparés ou de processus de traduction étendus pour chaque langue prise en charge.
Définir votre interaction de chat idéale
Esquissez une interaction client idéale pour définir comment et quand vous vous attendez à ce que le client interagisse avec Claude. Cette esquisse aidera à déterminer les exigences techniques de votre solution.
Voici un exemple d’interaction de chat pour le support client d’assurance automobile :
- Client : Initie l’expérience de chat de support
- Claude : Accueille chaleureusement le client et entame la conversation
- Client : Pose des questions sur l’assurance pour sa nouvelle voiture électrique
- Claude : Fournit des informations pertinentes sur la couverture des véhicules électriques
- Client : Pose des questions liées aux besoins uniques d’assurance pour véhicules électriques
- Claude : Répond avec des réponses précises et informatives et fournit des liens vers les sources
- Client : Pose des questions hors sujet sans rapport avec l’assurance ou les voitures
- Claude : Précise qu’il ne discute pas de sujets non liés et ramène l’utilisateur à l’assurance automobile
- Client : Exprime son intérêt pour un devis d’assurance
- Claude : Pose une série de questions pour déterminer le devis approprié, en s’adaptant à leurs réponses
- Claude : Envoie une demande pour utiliser l’outil API de génération de devis avec les informations nécessaires recueillies auprès de l’utilisateur
- Claude : Reçoit les informations de réponse de l’utilisation de l’outil API, synthétise les informations en une réponse naturelle et présente le devis fourni à l’utilisateur
- Client : Pose des questions complémentaires
- Claude : Répond aux questions complémentaires selon les besoins
- Claude : Guide le client vers les prochaines étapes du processus d’assurance et clôture la conversation
Décomposer l’interaction en tâches uniques
Le chat de support client est un ensemble de plusieurs tâches différentes, allant de la réponse aux questions à la récupération d’informations en passant par l’exécution de demandes, le tout dans une seule interaction client. Avant de commencer à construire, décomposez votre interaction client idéale en chaque tâche que vous souhaitez que Claude puisse effectuer. Cela garantit que vous pouvez inciter et évaluer Claude pour chaque tâche, et vous donne une bonne idée de la gamme d’interactions dont vous devez tenir compte lors de la rédaction de cas de test.
Voici les tâches clés associées à l’exemple d’interaction d’assurance ci-dessus :
-
Accueil et orientation générale
- Accueillir chaleureusement le client et initier la conversation
- Fournir des informations générales sur l’entreprise et l’interaction
-
Informations sur le produit
- Fournir des informations sur la couverture des véhicules électriques
Cela nécessitera que Claude dispose des informations nécessaires dans son contexte, et pourrait impliquer qu’une intégration RAG soit nécessaire.
- Répondre aux questions liées aux besoins spécifiques d’assurance pour véhicules électriques
- Répondre aux questions complémentaires sur le devis ou les détails de l’assurance
- Offrir des liens vers les sources lorsque c’est approprié
- Fournir des informations sur la couverture des véhicules électriques
-
Gestion de la conversation
- Rester dans le sujet (assurance automobile)
- Rediriger les questions hors sujet vers des sujets pertinents
-
Génération de devis
- Poser les questions appropriées pour déterminer l’éligibilité au devis
- Adapter les questions en fonction des réponses du client
- Soumettre les informations collectées à l’API de génération de devis
- Présenter le devis fourni au client
Établir des critères de succès
Travaillez avec votre équipe de support pour définir des critères de succès clairs et rédigez des évaluations détaillées avec des repères et des objectifs mesurables.
Voici des critères et des repères qui peuvent être utilisés pour évaluer la réussite avec laquelle Claude exécute les tâches définies :
Voici des critères et des repères qui peuvent être utilisés pour évaluer l’impact commercial de l’emploi de Claude pour le support :
Comment implémenter Claude comme agent de service client
Choisir le bon modèle Claude
Le choix du modèle dépend des compromis entre coût, précision et temps de réponse.
Pour le chat de support client, claude-opus-4-20250514
est bien adapté pour équilibrer intelligence, latence et coût. Cependant, pour les cas où vous avez un flux de conversation avec plusieurs prompts incluant RAG, utilisation d’outils et/ou prompts à contexte long, claude-3-haiku-20240307
peut être plus approprié pour optimiser la latence.
Construire un prompt solide
L’utilisation de Claude pour le support client nécessite que Claude ait suffisamment de direction et de contexte pour répondre de manière appropriée, tout en ayant assez de flexibilité pour gérer un large éventail de demandes clients.
Commençons par écrire les éléments d’un prompt solide, en commençant par un prompt système :
User
(la seule exception étant le prompt de rôle). En savoir plus sur Donner un rôle à Claude avec un prompt système.Il est préférable de décomposer les prompts complexes en sous-sections et d’écrire une partie à la fois. Pour chaque tâche, vous pourriez obtenir plus de succès en suivant un processus étape par étape pour définir les parties du prompt dont Claude aurait besoin pour bien accomplir la tâche. Pour cet exemple de support client d’assurance automobile, nous écrirons progressivement toutes les parties d’un prompt en commençant par la tâche “Accueil et orientation générale”. Cela facilite également le débogage de votre prompt car vous pouvez ajuster plus rapidement des parties individuelles du prompt global.
Nous mettrons toutes ces pièces dans un fichier appelé config.py
.
Nous ferons ensuite de même pour nos informations sur l’assurance automobile et l’assurance pour voitures électriques.
Maintenant que nous avons notre contenu statique, ajoutons au moins 4-5 exemples d’interactions “bonnes” pour guider les réponses de Claude. Ces exemples devraient être représentatifs de votre interaction client idéale et peuvent inclure des garde-fous, des appels d’outils, etc.
Vous voudrez également inclure toutes les instructions importantes décrivant les choses à faire et à ne pas faire pour la façon dont Claude devrait interagir avec le client. Cela peut s’inspirer des garde-fous de la marque ou des politiques de support.
Maintenant, combinons toutes ces sections en une seule chaîne à utiliser comme notre prompt.
Ajouter des capacités dynamiques et agentiques avec l’utilisation d’outils
Claude est capable de prendre des actions et de récupérer des informations dynamiquement en utilisant la fonctionnalité d’utilisation d’outils côté client. Commencez par lister tous les outils ou API externes que le prompt devrait utiliser.
Pour cet exemple, nous commencerons avec un outil pour calculer le devis.
Exemple de calculateur de devis d’assurance :
Déployer vos prompts
Il est difficile de savoir à quel point votre prompt fonctionne bien sans le déployer dans un environnement de test de production et exécuter des évaluations, alors construisons une petite application en utilisant notre prompt, le SDK Anthropic et streamlit pour une interface utilisateur.
Dans un fichier appelé chatbot.py
, commencez par configurer la classe ChatBot, qui encapsulera les interactions avec le SDK Anthropic.
La classe devrait avoir deux méthodes principales : generate_message
et process_user_input
.
Construire votre interface utilisateur
Testez le déploiement de ce code avec Streamlit en utilisant une méthode principale. Cette fonction main()
configure une interface de chat basée sur Streamlit.
Nous ferons cela dans un fichier appelé app.py
Exécutez le programme avec :
Évaluer vos prompts
Le prompt nécessite souvent des tests et une optimisation pour être prêt pour la production. Pour déterminer si votre solution est prête, évaluez les performances du chatbot en utilisant un processus systématique combinant des méthodes quantitatives et qualitatives. Créer une évaluation empirique solide basée sur vos critères de succès définis vous permettra d’optimiser vos prompts.
Améliorer les performances
Dans des scénarios complexes, il peut être utile d’envisager des stratégies supplémentaires pour améliorer les performances au-delà des techniques standard d’ingénierie de prompt et des stratégies de mise en œuvre de garde-fous. Voici quelques scénarios courants :
Réduire la latence de contexte long avec RAG
Lorsque vous traitez de grandes quantités de contexte statique et dynamique, inclure toutes les informations dans le prompt peut entraîner des coûts élevés, des temps de réponse plus lents et atteindre les limites de la fenêtre de contexte. Dans ce scénario, la mise en œuvre de techniques de Génération Augmentée par Récupération (RAG) peut améliorer significativement les performances et l’efficacité.
En utilisant des modèles d’embedding comme Voyage pour convertir les informations en représentations vectorielles, vous pouvez créer un système plus évolutif et réactif. Cette approche permet une récupération dynamique des informations pertinentes basée sur la requête actuelle, plutôt que d’inclure tout le contexte possible dans chaque prompt.
La mise en œuvre de RAG pour les cas d’utilisation de support recette RAG a montré qu’elle augmente la précision, réduit les temps de réponse et réduit les coûts d’API dans les systèmes avec des exigences de contexte étendues.
Intégrer des données en temps réel avec l’utilisation d’outils
Lorsque vous traitez des requêtes qui nécessitent des informations en temps réel, comme les soldes de compte ou les détails de police, les approches RAG basées sur l’embedding ne sont pas suffisantes. Au lieu de cela, vous pouvez tirer parti de l’utilisation d’outils pour améliorer considérablement la capacité de votre chatbot à fournir des réponses précises en temps réel. Par exemple, vous pouvez utiliser l’utilisation d’outils pour rechercher des informations client, récupérer des détails de commande et annuler des commandes au nom du client.
Cette approche, décrite dans notre recette d’utilisation d’outils : agent de service client, vous permet d’intégrer de manière transparente des données en direct dans les réponses de votre Claude et de fournir une expérience client plus personnalisée et efficace.
Renforcer les garde-fous d’entrée et de sortie
Lors du déploiement d’un chatbot, en particulier dans des scénarios de service client, il est crucial de prévenir les risques associés à une mauvaise utilisation, à des requêtes hors champ et à des réponses inappropriées. Bien que Claude soit intrinsèquement résistant à de tels scénarios, voici des étapes supplémentaires pour renforcer les garde-fous de votre chatbot :
- Réduire l’hallucination : Mettre en œuvre des mécanismes de vérification des faits et des citations pour ancrer les réponses dans les informations fournies.
- Vérifier les informations : Vérifier que les réponses de l’agent sont conformes aux politiques de votre entreprise et aux faits connus.
- Éviter les engagements contractuels : S’assurer que l’agent ne fait pas de promesses ou ne conclut pas d’accords qu’il n’est pas autorisé à faire.
- Atténuer les jailbreaks : Utiliser des méthodes comme les écrans d’innocuité et la validation des entrées pour empêcher les utilisateurs d’exploiter les vulnérabilités du modèle, visant à générer du contenu inapproprié.
- Éviter de mentionner les concurrents : Mettre en œuvre un filtre de mention des concurrents pour maintenir l’accent sur la marque et ne pas mentionner les produits ou services d’un concurrent.
- Garder Claude dans son personnage : Empêcher Claude de changer son style de contexte, même pendant des interactions longues et complexes.
- Supprimer les informations personnellement identifiables (PII) : Sauf si explicitement requis et autorisé, éliminer toute PII des réponses.
Réduire le temps de réponse perçu avec le streaming
Lorsque vous traitez des réponses potentiellement longues, la mise en œuvre du streaming peut améliorer considérablement l’engagement et la satisfaction des utilisateurs. Dans ce scénario, les utilisateurs reçoivent la réponse progressivement au lieu d’attendre que la réponse entière soit générée.
Voici comment mettre en œuvre le streaming :
- Utilisez l’API de streaming Anthropic pour prendre en charge les réponses en streaming.
- Configurez votre frontend pour gérer les morceaux de texte entrants.
- Affichez chaque morceau à son arrivée, simulant une frappe en temps réel.
- Mettez en œuvre un mécanisme pour sauvegarder la réponse complète, permettant aux utilisateurs de la consulter s’ils naviguent ailleurs et reviennent.
Dans certains cas, le streaming permet l’utilisation de modèles plus avancés avec des latences de base plus élevées, car l’affichage progressif atténue l’impact des temps de traitement plus longs.
Mettre à l’échelle votre Chatbot
À mesure que la complexité de votre Chatbot augmente, l’architecture de votre application peut évoluer en conséquence. Avant d’ajouter d’autres couches à votre architecture, considérez les options moins exhaustives suivantes :
- Assurez-vous de tirer le meilleur parti de vos prompts et d’optimiser par l’ingénierie de prompt. Utilisez nos guides d’ingénierie de prompt pour écrire les prompts les plus efficaces.
- Ajoutez des outils supplémentaires au prompt (qui peuvent inclure des chaînes de prompt) et voyez si vous pouvez obtenir la fonctionnalité requise.
Si votre Chatbot gère des tâches incroyablement variées, vous pourriez envisager d’ajouter un classificateur d’intention séparé pour acheminer la requête initiale du client. Pour l’application existante, cela impliquerait de créer un arbre de décision qui acheminerait les requêtes des clients via le classificateur puis vers des conversations spécialisées (avec leur propre ensemble d’outils et de prompts système). Notez que cette méthode nécessite un appel supplémentaire à Claude qui peut augmenter la latence.
Intégrer Claude dans votre flux de travail de support
Bien que nos exemples se soient concentrés sur des fonctions Python appelables dans un environnement Streamlit, le déploiement de Claude pour un chatbot de support en temps réel nécessite un service API.
Voici comment vous pouvez aborder cela :
-
Créer un wrapper API : Développez un simple wrapper API autour de votre fonction de classification. Par exemple, vous pouvez utiliser Flask API ou Fast API pour envelopper votre code dans un service HTTP. Votre service HTTP pourrait accepter l’entrée utilisateur et retourner la réponse de l’Assistant dans son intégralité. Ainsi, votre service pourrait avoir les caractéristiques suivantes :
- Server-Sent Events (SSE) : SSE permet la diffusion en temps réel des réponses du serveur au client. C’est crucial pour fournir une expérience fluide et interactive lors du travail avec les LLM.
- Mise en cache : La mise en œuvre de la mise en cache peut améliorer considérablement les temps de réponse et réduire les appels API inutiles.
- Rétention de contexte : Maintenir le contexte lorsqu’un utilisateur navigue ailleurs et revient est important pour la continuité des conversations.
-
Construire une interface web : Mettez en œuvre une interface utilisateur web conviviale pour interagir avec l’agent alimenté par Claude.