Kundenservice-Agent
Diese Anleitung zeigt, wie man Claudes fortgeschrittene Konversationsfähigkeiten nutzt, um Kundenanfragen in Echtzeit zu bearbeiten, 24/7-Support zu bieten, Wartezeiten zu reduzieren und hohe Support-Volumen mit präzisen Antworten und positiven Interaktionen zu bewältigen.
Vor dem Aufbau mit Claude
Entscheiden Sie, ob Sie Claude für Support-Chat einsetzen sollten
Hier sind einige wichtige Indikatoren dafür, dass Sie einen LLM wie Claude zur Automatisierung von Teilen Ihres Kundenservice-Prozesses einsetzen sollten:
Einige Überlegungen für die Wahl von Claude gegenüber anderen LLMs:
- Sie priorisieren natürliche, nuancierte Konversation: Claudes ausgefeiltes Sprachverständnis ermöglicht natürlichere, kontextbewusste Gespräche, die sich menschlicher anfühlen als Chats mit anderen LLMs.
- Sie erhalten häufig komplexe und offene Anfragen: Claude kann ein breites Spektrum an Themen und Anfragen bearbeiten, ohne standardisierte Antworten zu generieren oder eine umfangreiche Programmierung von Permutationen von Benutzeräußerungen zu erfordern.
- Sie benötigen skalierbaren mehrsprachigen Support: Claudes mehrsprachige Fähigkeiten ermöglichen Gespräche in über 200 Sprachen ohne die Notwendigkeit separater Chatbots oder umfangreicher Übersetzungsprozesse für jede unterstützte Sprache.
Definieren Sie Ihre ideale Chat-Interaktion
Skizzieren Sie eine ideale Kundeninteraktion, um zu definieren, wie und wann der Kunde mit Claude interagieren soll. Diese Skizze wird helfen, die technischen Anforderungen Ihrer Lösung zu bestimmen.
Hier ist ein Beispiel einer Chat-Interaktion für den Kfz-Versicherungs-Support:
- Kunde: Startet Support-Chat-Erlebnis
- Claude: Begrüßt Kunden herzlich und leitet Gespräch ein
- Kunde: Fragt nach Versicherung für ihr neues Elektroauto
- Claude: Liefert relevante Informationen zur Elektrofahrzeug-Deckung
- Kunde: Stellt Fragen zu speziellen Bedürfnissen bei Elektrofahrzeug-Versicherungen
- Claude: Antwortet mit genauen und informativen Antworten und stellt Links zu den Quellen bereit
- Kunde: Stellt themenfremde Fragen, die nicht mit Versicherung oder Autos zu tun haben
- Claude: Stellt klar, dass nicht über nicht verwandte Themen gesprochen wird und lenkt den Benutzer zurück zum Thema Autoversicherung
- Kunde: Zeigt Interesse an einem Versicherungsangebot
- Claude: Stellt eine Reihe von Fragen, um das passende Angebot zu ermitteln, und passt sich an ihre Antworten an
- Claude: Sendet eine Anfrage zur Nutzung des Angebotserstellungs-API-Tools zusammen mit den vom Benutzer gesammelten notwendigen Informationen
- Claude: Erhält die Antwortinformationen von der API-Tool-Nutzung, synthetisiert die Informationen zu einer natürlichen Antwort und präsentiert dem Benutzer das erstellte Angebot
- Kunde: Stellt Nachfragen
- Claude: Beantwortet Nachfragen nach Bedarf
- Claude: Führt den Kunden zu den nächsten Schritten im Versicherungsprozess und beendet das Gespräch
Unterteilen Sie die Interaktion in einzelne Aufgaben
Support-Chat ist eine Sammlung mehrerer verschiedener Aufgaben, vom Beantworten von Fragen über Informationsabruf bis hin zur Bearbeitung von Anfragen, die in einer einzigen Kundeninteraktion zusammengefasst sind. Bevor Sie mit dem Aufbau beginnen, unterteilen Sie Ihre ideale Kundeninteraktion in alle Aufgaben, die Claude ausführen soll. Dies stellt sicher, dass Sie Claude für jede Aufgabe promten und evaluieren können und gibt Ihnen einen guten Überblick über die Bandbreite an Interaktionen, die Sie beim Schreiben von Testfällen berücksichtigen müssen.
Hier sind die wichtigsten Aufgaben im Zusammenhang mit der obigen Versicherungsinteraktion:
-
Begrüßung und allgemeine Anleitung
- Kunden herzlich begrüßen und Gespräch einleiten
- Allgemeine Informationen über das Unternehmen und die Interaktion bereitstellen
-
Produktinformationen
- Informationen zur Elektrofahrzeug-Deckung bereitstellen
Dies erfordert, dass Claude die notwendigen Informationen in seinem Kontext hat und könnte bedeuten, dass eine RAG-Integration notwendig ist.
- Fragen zu speziellen Bedürfnissen bei Elektrofahrzeug-Versicherungen beantworten
- Nachfragen zum Angebot oder zu Versicherungsdetails beantworten
- Bei Bedarf Links zu Quellen anbieten
- Informationen zur Elektrofahrzeug-Deckung bereitstellen
-
Gesprächsmanagement
- Beim Thema bleiben (Autoversicherung)
- Themenfremde Fragen zurück zu relevanten Themen lenken
-
Angebotserstellung
- Passende Fragen stellen, um Angebotsberechtigung zu ermitteln
- Fragen basierend auf Kundenantworten anpassen
- Gesammelte Informationen an Angebotserstellungs-API übermitteln
- Erstelltes Angebot dem Kunden präsentieren
Erfolgskriterien festlegen
Arbeiten Sie mit Ihrem Support-Team zusammen, um klare Erfolgskriterien zu definieren und detaillierte Evaluierungen mit messbaren Benchmarks und Zielen zu erstellen.
Hier sind Kriterien und Benchmarks, die zur Bewertung verwendet werden können, wie erfolgreich Claude die definierten Aufgaben ausführt:
Hier sind Kriterien und Benchmarks, die zur Bewertung der geschäftlichen Auswirkungen des Einsatzes von Claude für Support verwendet werden können:
Wie man Claude als Kundenservice-Mitarbeiter implementiert
Wählen Sie das richtige Claude-Modell
Die Modellwahl hängt von den Abwägungen zwischen Kosten, Genauigkeit und Antwortzeit ab.
Für Kundenservice-Chat ist claude-3-5-sonnet-20241022
gut geeignet, um Intelligenz, Latenz und Kosten auszubalancieren. Für Fälle, in denen Sie einen Gesprächsablauf mit mehreren Prompts einschließlich RAG, Tool-Nutzung und/oder Long-Context-Prompts haben, könnte claude-3-haiku-20240307
besser geeignet sein, um die Latenz zu optimieren.
Erstellen Sie einen starken Prompt
Die Verwendung von Claude für Kundenservice erfordert, dass Claude genügend Anleitung und Kontext hat, um angemessen zu antworten, während genügend Flexibilität bleibt, um eine breite Palette von Kundenanfragen zu bearbeiten.
Beginnen wir mit dem Schreiben der Elemente eines starken Prompts, beginnend mit einem System-Prompt:
User
-Turn geschrieben ist (mit der einzigen Ausnahme des Rollen-Promptings). Lesen Sie mehr unter Claude eine Rolle mit einem System-Prompt gebenEs ist am besten, komplexe Prompts in Unterabschnitte zu unterteilen und einen Teil nach dem anderen zu schreiben. Für jede Aufgabe könnten Sie größeren Erfolg haben, wenn Sie einem schrittweisen Prozess folgen, um die Teile des Prompts zu definieren, die Claude benötigt, um die Aufgabe gut zu erfüllen. Für dieses Autoversicherungs-Kundenservice-Beispiel werden wir stückweise alle Teile für einen Prompt schreiben, beginnend mit der Aufgabe “Begrüßung und allgemeine Anleitung”. Dies macht auch das Debugging Ihres Prompts einfacher, da Sie einzelne Teile des Gesamtprompts schneller anpassen können.
Wir werden all diese Teile in einer Datei namens config.py
ablegen.
Wir werden dann dasselbe für unsere Auto- und Elektroauto-Versicherungsinformationen tun.
Nachdem wir unseren statischen Inhalt haben, fügen wir mindestens 4-5 Beispiele für “gute” Interaktionen hinzu, um Claudes Antworten zu lenken. Diese Beispiele sollten repräsentativ für Ihre ideale Kundeninteraktion sein und können Leitplanken, Tool-Aufrufe usw. enthalten.
Sie werden auch wichtige Anweisungen aufnehmen wollen, die Do’s und Don’ts für die Art und Weise skizzieren, wie Claude mit dem Kunden interagieren soll. Dies kann sich aus Marken-Leitplanken oder Support-Richtlinien ergeben.
Jetzt lassen Sie uns all diese Abschnitte in einem einzigen String kombinieren, den wir als unseren Prompt verwenden werden.
Fügen Sie dynamische und agentische Fähigkeiten mit Tool-Nutzung hinzu
Claude ist in der Lage, Aktionen auszuführen und Informationen dynamisch abzurufen, indem er clientseitige Tool-Use-Funktionalität nutzt. Beginnen Sie damit, alle externen Tools oder APIs aufzulisten, die der Prompt nutzen soll.
Für dieses Beispiel werden wir mit einem Tool für die Berechnung des Angebots beginnen.
Beispiel Versicherungsangebots-Rechner:
Deployen Sie Ihre Prompts
Es ist schwer zu wissen, wie gut Ihr Prompt funktioniert, ohne ihn in einer Test-Produktionsumgebung zu deployen und Evaluierungen durchzuführen. Lassen Sie uns also eine kleine Anwendung mit unserem Prompt, dem Anthropic SDK und Streamlit für eine Benutzeroberfläche erstellen.
Erstellen Sie in einer Datei namens chatbot.py
zunächst die ChatBot-Klasse, die die Interaktionen mit dem Anthropic SDK kapselt.
Die Klasse sollte zwei Hauptmethoden haben: generate_message
und process_user_input
.
Bauen Sie Ihre Benutzeroberfläche
Testen Sie das Deployment dieses Codes mit Streamlit unter Verwendung einer main-Methode. Diese main()
-Funktion richtet eine Streamlit-basierte Chat-Schnittstelle ein.
Wir werden dies in einer Datei namens app.py
tun
Führen Sie das Programm aus mit:
Evaluieren Sie Ihre Prompts
Prompting erfordert oft Tests und Optimierung, um produktionsreif zu sein. Um die Bereitschaft Ihrer Lösung zu bestimmen, evaluieren Sie die Chatbot-Leistung mit einem systematischen Prozess, der quantitative und qualitative Methoden kombiniert. Die Erstellung einer starken empirischen Evaluation basierend auf Ihren definierten Erfolgskriterien wird es Ihnen ermöglichen, Ihre Prompts zu optimieren.
Verbessern Sie die Leistung
In komplexen Szenarien kann es hilfreich sein, zusätzliche Strategien zur Leistungsverbesserung über Standard-Prompt-Engineering-Techniken & Leitplanken-Implementierungsstrategien hinaus zu berücksichtigen. Hier sind einige häufige Szenarien:
Reduzieren Sie die Latenz bei langem Kontext mit RAG
Wenn Sie mit großen Mengen statischen und dynamischen Kontexts arbeiten, kann das Einbeziehen aller Informationen im Prompt zu hohen Kosten, langsameren Antwortzeiten und dem Erreichen von Kontextfenster-Limits führen. In diesem Szenario kann die Implementierung von Retrieval Augmented Generation (RAG)-Techniken die Leistung und Effizienz deutlich verbessern.
Durch die Verwendung von Embedding-Modellen wie Voyage zur Umwandlung von Informationen in Vektor-Repräsentationen können Sie ein skalierbares und reaktionsschnelleres System erstellen. Dieser Ansatz ermöglicht den dynamischen Abruf relevanter Informationen basierend auf der aktuellen Anfrage, anstatt allen möglichen Kontext in jeden Prompt einzubeziehen.
Die Implementierung von RAG für Support-Anwendungsfälle RAG-Rezept hat sich als effektiv erwiesen, um die Genauigkeit zu erhöhen, Antwortzeiten zu reduzieren und API-Kosten in Systemen mit umfangreichen Kontextanforderungen zu senken.
Integrieren Sie Echtzeit-Daten mit Tool-Use
Bei der Bearbeitung von Anfragen, die Echtzeit-Informationen erfordern, wie Kontostände oder Policendetails, sind embedding-basierte RAG-Ansätze nicht ausreichend. Stattdessen können Sie Tool-Use nutzen, um die Fähigkeit Ihres Chatbots, genaue Echtzeit-Antworten zu liefern, deutlich zu verbessern. Zum Beispiel können Sie Tool-Use verwenden, um Kundeninformationen nachzuschlagen, Bestelldetails abzurufen und Bestellungen im Namen des Kunden zu stornieren.
Dieser Ansatz, beschrieben in unserem Tool-Use: Customer Service Agent Rezept, ermöglicht es Ihnen, Live-Daten nahtlos in Claudes Antworten zu integrieren und ein personalisierteres und effizienteres Kundenerlebnis zu bieten.
Stärken Sie Ein- und Ausgabe-Leitplanken
Beim Deployment eines Chatbots, besonders in Kundenservice-Szenarien, ist es entscheidend, Risiken im Zusammenhang mit Missbrauch, Anfragen außerhalb des Umfangs und unangemessenen Antworten zu verhindern. Während Claude von Natur aus widerstandsfähig gegen solche Szenarien ist, hier einige zusätzliche Schritte zur Stärkung Ihrer Chatbot-Leitplanken:
- Reduzieren Sie Halluzinationen: Implementieren Sie Faktenprüfungs-Mechanismen und Zitationen, um Antworten in bereitgestellten Informationen zu verankern.
- Überprüfen Sie Informationen: Verifizieren Sie, dass die Antworten des Agenten mit den Richtlinien und bekannten Fakten Ihres Unternehmens übereinstimmen.
- Vermeiden Sie vertragliche Verpflichtungen: Stellen Sie sicher, dass der Agent keine Versprechen macht oder Vereinbarungen eingeht, zu denen er nicht autorisiert ist.
- Mindern Sie Jailbreaks: Verwenden Sie Methoden wie Harmlosigkeits-Screens und Eingabevalidierung, um zu verhindern, dass Benutzer Modellschwachstellen ausnutzen, mit dem Ziel, unangemessene Inhalte zu generieren.
- Vermeiden Sie die Erwähnung von Wettbewerbern: Implementieren Sie einen Wettbewerber-Erwähnungs-Filter, um den Markenfokus zu behalten und keine Produkte oder Dienstleistungen von Wettbewerbern zu erwähnen.
- Halten Sie Claude im Charakter: Verhindern Sie, dass Claude seinen Stil oder Kontext ändert, auch während langer, komplexer Interaktionen.
- Entfernen Sie personenbezogene Daten (PII): Sofern nicht ausdrücklich erforderlich und autorisiert, entfernen Sie alle PII aus den Antworten.
Reduzieren Sie die wahrgenommene Antwortzeit mit Streaming
Beim Umgang mit potenziell langen Antworten kann die Implementierung von Streaming die Benutzereinbindung und -zufriedenheit deutlich verbessern. In diesem Szenario erhalten Benutzer die Antwort progressiv, anstatt auf die gesamte Generierung zu warten.
Hier ist, wie Sie Streaming implementieren:
- Verwenden Sie die Anthropic Streaming API zur Unterstützung von Streaming-Antworten.
- Richten Sie Ihr Frontend ein, um eingehende Textblöcke zu verarbeiten.
- Zeigen Sie jeden Block an, wenn er eintrifft, um Echtzeit-Tippen zu simulieren.
- Implementieren Sie einen Mechanismus zum Speichern der vollständigen Antwort, damit Benutzer sie ansehen können, wenn sie wegnavigieren und zurückkehren.
In einigen Fällen ermöglicht Streaming die Verwendung fortgeschrittenerer Modelle mit höheren Basis-Latenzen, da die progressive Anzeige die Auswirkungen längerer Verarbeitungszeiten mildert.
Skalieren Sie Ihren Chatbot
Während die Komplexität Ihres Chatbots wächst, kann sich Ihre Anwendungsarchitektur entsprechend entwickeln. Bevor Sie weitere Schichten zu Ihrer Architektur hinzufügen, berücksichtigen Sie die folgenden weniger erschöpfenden Optionen:
- Stellen Sie sicher, dass Sie das Meiste aus Ihren Prompts herausholen und durch Prompt-Engineering optimieren. Nutzen Sie unsere Prompt-Engineering-Guides, um die effektivsten Prompts zu schreiben.
- Fügen Sie dem Prompt zusätzliche Tools hinzu (die Prompt-Ketten enthalten können) und sehen Sie, ob Sie die erforderliche Funktionalität erreichen können.
Wenn Ihr Chatbot unglaublich vielfältige Aufgaben bewältigt, möchten Sie vielleicht einen separaten Intent-Klassifizierer hinzufügen, um die initiale Kundenanfrage zu routen. Für die bestehende Anwendung würde dies die Erstellung eines Entscheidungsbaums beinhalten, der Kundenanfragen durch den Klassifizierer und dann zu spezialisierten Gesprächen (mit ihren eigenen Tools und System-Prompts) leitet. Beachten Sie, dass diese Methode einen zusätzlichen Aufruf an Claude erfordert, der die Latenz erhöhen kann.
Integrieren Sie Claude in Ihren Support-Workflow
Während sich unsere Beispiele auf Python-Funktionen konzentriert haben, die in einer Streamlit-Umgebung aufrufbar sind, erfordert das Deployment von Claude für Echtzeit-Support-Chatbot einen API-Service.
Hier ist, wie Sie dies angehen können:
-
Erstellen Sie einen API-Wrapper: Entwickeln Sie einen einfachen API-Wrapper um Ihre Klassifizierungsfunktion. Zum Beispiel können Sie Flask API oder Fast API verwenden, um Ihren Code in einen HTTP-Service zu verpacken. Ihr HTTP-Service könnte die Benutzereingabe akzeptieren und die Assistenten-Antwort in ihrer Gesamtheit zurückgeben. Somit könnte Ihr Service folgende Eigenschaften haben:
- Server-Sent Events (SSE): SSE ermöglicht das Echtzeit-Streaming von Antworten vom Server zum Client. Dies ist entscheidend für ein reib ungsloses, interaktives Erlebnis bei der Arbeit mit LLMs.
- Caching: Die Implementierung von Caching kann Antwortzeiten deutlich verbessern und unnötige API-Aufrufe reduzieren.
- Kontextbeibehaltung: Die Beibehaltung des Kontexts, wenn ein Benutzer wegnavigiert und zurückkehrt, ist wichtig für die Kontinuität in Gesprächen.
-
Bauen Sie eine Web-Schnittstelle: Implementieren Sie eine benutzerfreundliche Web-UI für die Interaktion mit dem Claude-gesteuerten Agenten.