Dieser Leitfaden zeigt, wie Sie Claudes fortgeschrittene Konversationsfähigkeiten nutzen können, um Kundenanfragen in Echtzeit zu bearbeiten, 24/7-Support zu bieten, Wartezeiten zu reduzieren und hohe Support-Volumina mit präzisen Antworten und positiven Interaktionen zu bewältigen.
Entscheiden Sie, ob Sie Claude für Support-Chat verwenden möchten
Hier sind einige wichtige Indikatoren dafür, dass Sie ein LLM wie Claude einsetzen sollten, um Teile Ihres Kundensupport-Prozesses zu automatisieren:
Hohes Volumen an sich wiederholenden Anfragen
Claude zeichnet sich dadurch aus, eine große Anzahl ähnlicher Fragen effizient zu bearbeiten und menschliche Agenten für komplexere Probleme freizusetzen.
Bedarf an schneller Informationssynthese
Claude kann schnell Informationen aus umfangreichen Wissensdatenbanken abrufen, verarbeiten und kombinieren, während menschliche Agenten möglicherweise Zeit benötigen, um zu recherchieren oder mehrere Quellen zu konsultieren.
24/7-Verfügbarkeitsanforderung
Claude kann rund um die Uhr Support ohne Ermüdung bieten, während die Besetzung mit menschlichen Agenten für kontinuierliche Abdeckung kostspielig und herausfordernd sein kann.
Schnelle Skalierung während Spitzenzeiten
Claude kann plötzliche Anstiege im Anfragevolumen bewältigen, ohne dass zusätzliches Personal eingestellt und geschult werden muss.
Konsistente Markenstimme
Sie können Claude anweisen, den Ton und die Werte Ihrer Marke konsistent zu repräsentieren, während menschliche Agenten in ihren Kommunikationsstilen variieren können.
Einige Überlegungen für die Wahl von Claude gegenüber anderen LLMs:
Sie priorisieren natürliche, nuancierte Konversation: Claudes ausgeklügeltes Sprachverständnis ermöglicht natürlichere, kontextbewusste Gespräche, die sich menschlicher anfühlen als Chats mit anderen LLMs.
Sie erhalten oft komplexe und offene Anfragen: Claude kann eine breite Palette von Themen und Anfragen bearbeiten, ohne vorgefertigte Antworten zu generieren oder umfangreiche Programmierung von Permutationen von Benutzeräußerungen zu erfordern.
Sie benötigen skalierbaren mehrsprachigen Support: Claudes mehrsprachige Fähigkeiten ermöglichen es, Gespräche in über 200 Sprachen zu führen, ohne separate Chatbots oder umfangreiche Übersetzungsprozesse für jede unterstützte Sprache zu benötigen.
Skizzieren Sie eine ideale Kundeninteraktion, um zu definieren, wie und wann Sie erwarten, dass der Kunde mit Claude interagiert. Diese Skizze hilft dabei, die technischen Anforderungen Ihrer Lösung zu bestimmen.Hier ist ein Beispiel für eine Chat-Interaktion für Autoversicherungs-Kundensupport:
Kunde: Initiiert Support-Chat-Erfahrung
Claude: Begrüßt den Kunden herzlich und initiiert das Gespräch
Kunde: Fragt nach Versicherung für ihr neues Elektroauto
Claude: Stellt relevante Informationen über Elektrofahrzeug-Abdeckung bereit
Kunde: Stellt Fragen zu einzigartigen Bedürfnissen für Elektrofahrzeug-Versicherungen
Claude: Antwortet mit präzisen und informativen Antworten und stellt Links zu den Quellen bereit
Kunde: Stellt themenfremde Fragen, die nicht mit Versicherung oder Autos zusammenhängen
Claude: Klärt, dass es nicht über unverwandte Themen diskutiert und lenkt den Benutzer zurück zur Autoversicherung
Kunde: Äußert Interesse an einem Versicherungsangebot
Claude: Stellt eine Reihe von Fragen, um das angemessene Angebot zu bestimmen, und passt sich an ihre Antworten an
Claude: Sendet eine Anfrage zur Verwendung des Angebotsgenerierungs-API-Tools zusammen mit den notwendigen vom Benutzer gesammelten Informationen
Claude: Erhält die Antwortinformationen von der API-Tool-Verwendung, synthetisiert die Informationen in eine natürliche Antwort und präsentiert dem Benutzer das bereitgestellte Angebot
Kunde: Stellt Nachfragen
Claude: Beantwortet Nachfragen nach Bedarf
Claude: Führt den Kunden zu den nächsten Schritten im Versicherungsprozess und schließt das Gespräch ab
In dem realen Beispiel, das Sie für Ihren eigenen Anwendungsfall schreiben, könnte es nützlich sein, die tatsächlichen Worte in dieser Interaktion auszuschreiben, damit Sie auch ein Gefühl für den idealen Ton, die Antwortlänge und das Detailniveau bekommen, das Claude haben soll.
Unterteilen Sie die Interaktion in einzigartige Aufgaben
Kundensupport-Chat ist eine Sammlung mehrerer verschiedener Aufgaben, von Fragebeantwortung über Informationsabruf bis hin zur Bearbeitung von Anfragen, alles verpackt in eine einzige Kundeninteraktion. Bevor Sie mit der Entwicklung beginnen, unterteilen Sie Ihre ideale Kundeninteraktion in jede Aufgabe, die Claude ausführen können soll. Dies stellt sicher, dass Sie Claude für jede Aufgabe prompten und bewerten können, und gibt Ihnen ein gutes Gefühl für die Bandbreite der Interaktionen, die Sie beim Schreiben von Testfällen berücksichtigen müssen.
Kunden finden es manchmal hilfreich, dies als Interaktionsflussdiagramm möglicher Gesprächswendepunkte je nach Benutzeranfragen zu visualisieren.
Hier sind die wichtigsten Aufgaben, die mit der obigen Beispiel-Versicherungsinteraktion verbunden sind:
Begrüßung und allgemeine Anleitung
Den Kunden herzlich begrüßen und das Gespräch initiieren
Allgemeine Informationen über das Unternehmen und die Interaktion bereitstellen
Produktinformationen
Informationen über Elektrofahrzeug-Abdeckung bereitstellen
Dies erfordert, dass Claude die notwendigen Informationen in seinem Kontext hat, und könnte bedeuten, dass eine RAG-Integration notwendig ist.
Fragen zu einzigartigen Elektrofahrzeug-Versicherungsbedürfnissen beantworten
Nachfragen zum Angebot oder zu Versicherungsdetails beantworten
Links zu Quellen anbieten, wenn angemessen
Gesprächsmanagement
Beim Thema bleiben (Autoversicherung)
Themenfremde Fragen zurück zu relevanten Themen umleiten
Angebotsgenerierung
Angemessene Fragen stellen, um die Angebotsberechtigung zu bestimmen
Fragen basierend auf Kundenantworten anpassen
Gesammelte Informationen an die Angebotsgenerierungs-API übermitteln
Das bereitgestellte Angebot dem Kunden präsentieren
Arbeiten Sie mit Ihrem Support-Team zusammen, um klare Erfolgskriterien zu definieren und detaillierte Bewertungen mit messbaren Benchmarks und Zielen zu schreiben.Hier sind Kriterien und Benchmarks, die verwendet werden können, um zu bewerten, wie erfolgreich Claude die definierten Aufgaben ausführt:
Genauigkeit des Anfrageverständnisses
Diese Metrik bewertet, wie genau Claude Kundenanfragen zu verschiedenen Themen versteht. Messen Sie dies, indem Sie eine Stichprobe von Gesprächen überprüfen und bewerten, ob Claude die korrekte Interpretation der Kundenabsicht, kritische nächste Schritte, wie erfolgreiche Lösung aussieht und mehr hat. Streben Sie eine Verständnisgenauigkeit von 95% oder höher an.
Antwortrelevanz
Dies bewertet, wie gut Claudes Antwort die spezifische Frage oder das Problem des Kunden anspricht. Bewerten Sie eine Reihe von Gesprächen und bewerten Sie die Relevanz jeder Antwort (verwenden Sie LLM-basierte Bewertung für Skalierung). Streben Sie einen Relevanz-Score von 90% oder höher an.
Antwortgenauigkeit
Bewerten Sie die Korrektheit allgemeiner Unternehmens- und Produktinformationen, die dem Benutzer bereitgestellt werden, basierend auf den Informationen, die Claude im Kontext bereitgestellt wurden. Streben Sie 100% Genauigkeit in diesen einführenden Informationen an.
Relevanz der Zitationsbereitstellung
Verfolgen Sie die Häufigkeit und Relevanz angebotener Links oder Quellen. Streben Sie an, relevante Quellen in 80% der Interaktionen bereitzustellen, wo zusätzliche Informationen vorteilhaft sein könnten.
Themeneinhaltung
Messen Sie, wie gut Claude beim Thema bleibt, wie dem Thema Autoversicherung in unserer Beispielimplementierung. Streben Sie an, dass 95% der Antworten direkt mit Autoversicherung oder der spezifischen Anfrage des Kunden zusammenhängen.
Effektivität der Inhaltsgenerierung
Messen Sie, wie erfolgreich Claude dabei ist zu bestimmen, wann informativer Inhalt generiert werden soll und wie relevant dieser Inhalt ist. Zum Beispiel würden wir in unserer Implementierung bestimmen, wie gut Claude versteht, wann ein Angebot generiert werden soll und wie genau dieses Angebot ist. Streben Sie 100% Genauigkeit an, da dies wichtige Informationen für eine erfolgreiche Kundeninteraktion sind.
Eskalationseffizienz
Dies misst Claudes Fähigkeit zu erkennen, wann eine Anfrage menschliche Intervention benötigt und angemessen zu eskalieren. Verfolgen Sie den Prozentsatz korrekt eskalierter Gespräche versus solcher, die hätten eskaliert werden sollen, aber nicht wurden. Streben Sie eine Eskalationsgenauigkeit von 95% oder höher an.
Hier sind Kriterien und Benchmarks, die verwendet werden können, um die Geschäftsauswirkungen der Verwendung von Claude für Support zu bewerten:
Stimmungserhaltung
Dies bewertet Claudes Fähigkeit, die Kundenstimmung während des Gesprächs zu erhalten oder zu verbessern. Verwenden Sie Stimmungsanalyse-Tools, um die Stimmung am Anfang und Ende jedes Gesprächs zu messen. Streben Sie erhaltene oder verbesserte Stimmung in 90% der Interaktionen an.
Ablenkungsrate
Der Prozentsatz der Kundenanfragen, die erfolgreich vom Chatbot ohne menschliche Intervention bearbeitet werden. Streben Sie typischerweise eine Ablenkungsrate von 70-80% an, abhängig von der Komplexität der Anfragen.
Kundenzufriedenheitsscore
Ein Maß dafür, wie zufrieden Kunden mit ihrer Chatbot-Interaktion sind. Wird normalerweise durch Umfragen nach der Interaktion durchgeführt. Streben Sie einen CSAT-Score von 4 von 5 oder höher an.
Durchschnittliche Bearbeitungszeit
Die durchschnittliche Zeit, die der Chatbot benötigt, um eine Anfrage zu lösen. Dies variiert stark je nach Komplexität der Probleme, aber im Allgemeinen sollten Sie eine niedrigere AHT im Vergleich zu menschlichen Agenten anstreben.
Die Wahl des Modells hängt von den Kompromissen zwischen Kosten, Genauigkeit und Antwortzeit ab.Für Kundensupport-Chat ist claude-opus-4-1-20250805 gut geeignet, um Intelligenz, Latenz und Kosten auszubalancieren. Für Fälle, in denen Sie jedoch einen Gesprächsfluss mit mehreren Prompts einschließlich RAG, Tool-Verwendung und/oder Long-Context-Prompts haben, könnte claude-3-haiku-20240307 geeigneter sein, um für Latenz zu optimieren.
Die Verwendung von Claude für Kundensupport erfordert, dass Claude genügend Anleitung und Kontext hat, um angemessen zu antworten, während es genügend Flexibilität hat, um eine breite Palette von Kundenanfragen zu bearbeiten.Beginnen wir damit, die Elemente eines starken Prompts zu schreiben, beginnend mit einem System-Prompt:
Copy
IDENTITY = """Du bist Eva, eine freundliche und sachkundige KI-Assistentin für die Acme Insurance Company. Deine Rolle ist es, Kunden herzlich zu begrüßen und Informationen über Acmes Versicherungsangebote bereitzustellen, die Autoversicherung und Elektroauto-Versicherung umfassen. Du kannst Kunden auch dabei helfen, Angebote für ihre Versicherungsbedürfnisse zu erhalten."""
Obwohl Sie versucht sein könnten, alle Ihre Informationen in einen System-Prompt zu packen, um Anweisungen von der Benutzerkonversation zu trennen, funktioniert Claude tatsächlich am besten mit dem Großteil seines Prompt-Inhalts, der im ersten User-Turn geschrieben ist (mit der einzigen Ausnahme des Rollen-Promptings). Lesen Sie mehr unter Claude eine Rolle mit einem System-Prompt geben.
Es 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, indem Sie einem schrittweisen Prozess folgen, um die Teile des Prompts zu definieren, die Claude benötigen würde, um die Aufgabe gut zu erledigen. Für dieses Autoversicherungs-Kundensupport-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 Debuggen Ihres Prompts einfacher, da Sie einzelne Teile des Gesamtprompts schneller anpassen können.Wir werden alle diese Teile in eine Datei namens config.py einfügen.
Copy
STATIC_GREETINGS_AND_GENERAL = """<static_context>Acme Auto Insurance: Ihr vertrauensvoller Begleiter auf der StraßeÜber uns:Bei Acme Insurance verstehen wir, dass Ihr Fahrzeug mehr als nur ein Transportmittel ist—es ist Ihr Ticket zu den Abenteuern des Lebens. Seit 1985 erstellen wir Autoversicherungspolicen, die Fahrern das Vertrauen geben, mit Seelenfrieden zu erkunden, zu pendeln und zu reisen.Ob Sie durch Stadtstraßen navigieren oder sich auf länderübergreifende Roadtrips begeben, Acme ist da, um Sie und Ihr Fahrzeug zu schützen. Unsere innovativen Autoversicherungspolicen sind darauf ausgelegt, sich an Ihre einzigartigen Bedürfnisse anzupassen und alles von Blechschäden bis zu größeren Kollisionen abzudecken.Mit Acmes preisgekröntem Kundenservice und schneller Schadensregulierung können Sie sich auf die Freude am Fahren konzentrieren, während wir uns um den Rest kümmern. Wir sind nicht nur ein Versicherungsanbieter—wir sind Ihr Co-Pilot in den Reisen des Lebens.Wählen Sie Acme Auto Insurance und erleben Sie die Gewissheit, die mit überlegener Abdeckung und echter Fürsorge einhergeht. Denn bei Acme versichern wir nicht nur Ihr Auto—wir befeuern Ihre Abenteuer auf der offenen Straße.Hinweis: Wir bieten auch spezialisierte Abdeckung für Elektrofahrzeuge an, um sicherzustellen, dass Fahrer aller Autotypen von unserem Schutz profitieren können.Acme Insurance bietet die folgenden Produkte an:- Autoversicherung- Elektroauto-Versicherung- Zweirad-VersicherungGeschäftszeiten: Montag-Freitag, 9:00 - 17:00 ESTKundenservice-Nummer: 1-800-123-4567</static_context>"""
Wir werden dann dasselbe für unsere Autoversicherungs- und Elektroauto-Versicherungsinformationen tun.
Copy
STATIC_CAR_INSURANCE="""<static_context>Autoversicherungsabdeckung:Acmes Autoversicherungspolicen decken typischerweise ab:1. Haftpflichtabdeckung: Zahlt für Körperverletzung und Sachschäden, die Sie anderen zufügen.2. Kollisionsabdeckung: Zahlt für Schäden an Ihrem Auto bei einem Unfall.3. Vollkaskoabdeckung: Zahlt für Schäden an Ihrem Auto durch Nicht-Kollisions-Vorfälle.4. Medizinische Zahlungsabdeckung: Zahlt für medizinische Ausgaben nach einem Unfall.5. Nicht-versicherte/unterversicherte Fahrerabdeckung: Schützt Sie, wenn Sie von einem Fahrer mit unzureichender Versicherung getroffen werden.Optionale Abdeckungen umfassen:- Mietwagen-Erstattung- Pannenhilfe- Neuwagen-Ersatz</static_context>"""STATIC_ELECTRIC_CAR_INSURANCE="""<static_context>Elektroauto-Versicherung:Unsere spezialisierte Elektroauto-Versicherung geht über traditionelle Auto-Abdeckung hinaus und bietet maßgeschneiderten Schutz für Ihre High-Tech-Investition. Zusätzlich zu Standard-Abdeckungen bieten wir:- Schutz teurer Batteriesysteme- Abdeckung von Heimlade-Ausrüstung- Anpassung an die sich schnell entwickelnde Welt der ElektrofahrzeugeOb Sie einen Rivian, Nissan Leaf, Chevrolet Bolt oder ein anderes Elektrofahrzeug fahren, unsere sachkundigen Agenten sind bereit, eine Police zu erstellen, die Ihnen das Vertrauen gibt, jede elektronengetriebene Meile zu genießen.</static_context>"""
Jetzt, da wir unseren statischen Inhalt haben, fügen wir mindestens 4-5 Beispiele “guter” Interaktionen hinzu, um Claudes Antworten zu leiten. Diese Beispiele sollten repräsentativ für Ihre ideale Kundeninteraktion sein und können Leitplanken, Tool-Aufrufe usw. enthalten.
Copy
EXAMPLES="""Hier sind einige Beispiele, wie Sie mit Kunden interagieren können:<example 1>H: Hallo, bieten Sie Gewerbeversicherung für kleine Unternehmen an?A: Ah! Leider bieten wir derzeit keine Gewerbeversicherung an. Wir bieten jedoch eine Reihe von Privatversicherungsprodukten einschließlich Autoversicherung und Elektroauto-Versicherung an. Möchten Sie mehr über diese Angebote erfahren?</example 1><example 2>H: Hallo, was sind Ihre GeschäftszeA: Unsere Geschäftszeiten sind Montag bis Freitag, 9:00 bis 17:00 EST. Wenn Sie Fragen haben oder Hilfe benötigen, zögern Sie nicht, sich während dieser Zeiten zu melden. Wie kann ich Ihnen heute sonst helfen?</example 2><example 3>H: Ich suche nach einer Autoversicherung. Was bietet Acme an?A: Großartige Wahl! Acmes Autoversicherungspolicen umfassen typischerweise:- Haftpflichtabdeckung: Schützt Sie, wenn Sie bei einem Unfall schuld sind- Kollisionsabdeckung: Zahlt für Schäden an Ihrem Auto bei einem Unfall- Vollkaskoabdeckung: Deckt Nicht-Kollisions-Vorfälle wie Diebstahl oder Vandalismus ab- Medizinische Zahlungsabdeckung: Zahlt für medizinische Ausgaben nach einem Unfall- Nicht-versicherte/unterversicherte Fahrerabdeckung: Schützt Sie vor Fahrern mit unzureichender VersicherungWir bieten auch optionale Abdeckungen wie Mietwagen-Erstattung, Pannenhilfe und Neuwagen-Ersatz an. Möchten Sie mehr Details zu einer dieser Abdeckungen oder haben Sie spezifische Fragen zur Versicherung Ihres Fahrzeugs?</example 3><example 4>H: Ich möchte über Ihre Elektroauto-Versicherung hören.A: Gerne! Unsere Elektroauto-Versicherung ist speziell darauf ausgelegt, die einzigartigen Bedürfnisse von Elektrofahrzeug-Besitzern zu erfüllen. Zusätzlich zu allen Standard-Abdeckungen, die wir für normale Autos anbieten, umfassen unsere Elektroauto-Policen:- Batterieabdeckung: Schutz vor Schäden oder Verschlechterung des teuren Batteriesystems Ihres Fahrzeugs- Tech-Paket: Deckt Reparaturen oder Ersatz fortschrittlicher Elektronik und bordeigener Computersysteme ab- Ladestation-Abdeckung: Schützt sowohl Heim- als auch tragbare Lade-Ausrüstung- Cybersicherheitsschutz: Abdeckung gegen Hacking oder digitale Bedrohungen- Spezialisierte Pannenhilfe: Umfasst Abschleppwagen-Transport zum Schutz der Fahrzeug-UnterseiteWir decken eine breite Palette von Elektrofahrzeugen ab, einschließlich beliebter Modelle von Tesla, Rivian, Nissan, Chevrolet und mehr. Gibt es ein spezifisches Elektrofahrzeug, das Sie versichern möchten, oder möchten Sie mehr Details zu einer dieser Abdeckungen?</example 4><example 5>H: Ich möchte ein Angebot für meine Autoversicherung erhalten.A: Gerne! Ich helfe Ihnen gerne dabei, ein Angebot für Ihre Autoversicherung zu erhalten. Um Ihnen ein genaues Angebot zu geben, muss ich einige Informationen über Ihr Fahrzeug und den Hauptfahrer sammeln. Beginnen wir mit den Grundlagen:1. Was ist die Marke und das Modell Ihres Fahrzeugs?2. In welchem Jahr wurde es hergestellt?3. Ungefähr wie viele Kilometer sind Sie gefahren?4. Wie alt ist der Hauptfahrer?Sobald Sie diese Informationen bereitstellen, verwende ich unser Angebots-Tool, um ein personalisiertes Versicherungsangebot für Sie zu generieren.</example 5>"""
Sie möchten auch wichtige Anweisungen einschließen, die Do’s und Don’ts dafür umreißen, wie Claude mit dem Kunden interagieren sollte.
Dies kann aus Marken-Leitplanken oder Support-Richtlinien stammen.
Copy
ADDITIONAL_GUARDRAILS = """Bitte halten Sie sich an die folgenden Leitplanken:1. Stellen Sie nur Informationen über Versicherungstypen bereit, die in unseren Angeboten aufgeführt sind.2. Wenn nach einem Versicherungstyp gefragt wird, den wir nicht anbieten, teilen Sie höflich mit, dass wir diesen Service nicht anbieten.3. Spekulieren Sie nicht über zukünftige Produktangebote oder Unternehmenspläne.4. Machen Sie keine Versprechen oder gehen Sie Vereinbarungen ein, die Sie nicht autorisiert sind zu treffen.Sie stellen nur Informationen und Anleitung bereit.5. Erwähnen Sie keine Produkte oder Dienstleistungen von Konkurrenten."""
Jetzt kombinieren wir alle diese Abschnitte in einen einzigen String, den wir als unseren Prompt verwenden.
Fügen Sie dynamische und agentische Fähigkeiten mit Tool-Verwendung hinzu
Claude ist in der Lage, Aktionen durchzuführen und Informationen dynamisch mit clientseitiger Tool-Verwendungsfunktionalität abzurufen. Beginnen Sie damit, alle externen Tools oder APIs aufzulisten, die der Prompt verwenden sollte.Für dieses Beispiel beginnen wir mit einem Tool zur Berechnung des Angebots.
Zur Erinnerung: Dieses Tool führt nicht die tatsächliche Berechnung durch, es signalisiert nur der Anwendung, dass ein Tool mit den angegebenen Argumenten verwendet werden sollte.
Beispiel-Versicherungsangebots-Rechner:
Copy
TOOLS = [{ "name": "get_quote", "description": "Berechnet das Versicherungsangebot basierend auf Benutzereingaben. Rückgabewert ist Prämie pro Monat.", "input_schema": { "type": "object", "properties": { "make": {"type": "string", "description": "Die Marke des Fahrzeugs."}, "model": {"type": "string", "description": "Das Modell des Fahrzeugs."}, "year": {"type": "integer", "description": "Das Jahr, in dem das Fahrzeug hergestellt wurde."}, "mileage": {"type": "integer", "description": "Die Kilometerleistung des Fahrzeugs."}, "driver_age": {"type": "integer", "description": "Das Alter des Hauptfahrers."} }, "required": ["make", "model", "year", "mileage", "driver_age"] }}]def get_quote(make, model, year, mileage, driver_age): """Gibt die Prämie pro Monat in USD zurück""" # Sie können einen HTTP-Endpunkt oder eine Datenbank aufrufen, um das Angebot zu erhalten. # Hier simulieren wir eine Verzögerung von 1 Sekunde und geben ein festes Angebot von 100 zurück. time.sleep(1) return 100
Es ist schwer zu wissen, wie gut Ihr Prompt funktioniert, ohne ihn in einer Test-Produktionsumgebung bereitzustellen und Bewertungen durchzuführen, also bauen wir eine kleine Anwendung mit unserem Prompt, dem Anthropic SDK und Streamlit für eine Benutzeroberfläche.In einer Datei namens chatbot.py beginnen Sie mit der Einrichtung der ChatBot-Klasse, die die Interaktionen mit dem Anthropic SDK kapselt.Die Klasse sollte zwei Hauptmethoden haben: generate_message und process_user_input.
Testen Sie die Bereitstellung dieses Codes mit Streamlit unter Verwendung einer Hauptmethode. Diese main()-Funktion richtet eine Streamlit-basierte Chat-Oberfläche ein.Wir machen das in einer Datei namens app.py
Copy
import streamlit as stfrom chatbot import ChatBotfrom config import TASK_SPECIFIC_INSTRUCTIONSdef main(): st.title("Chat mit Eva, Acme Insurance Companys Assistentin🤖") if "messages" not in st.session_state: st.session_state.messages = [ {'role': "user", "content": TASK_SPECIFIC_INSTRUCTIONS}, {'role': "assistant", "content": "Verstanden"}, ] chatbot = ChatBot(st.session_state) # Benutzer- und Assistenten-Nachrichten anzeigen, die ersten beiden überspringen for message in st.session_state.messages[2:]: # Tool-Verwendungsblöcke ignorieren if isinstance(message["content"], str): with st.chat_message(message["role"]): st.markdown(message["content"]) if user_msg := st.chat_input("Geben Sie hier Ihre Nachricht ein..."): st.chat_message("user").markdown(user_msg) with st.chat_message("assistant"): with st.spinner("Eva denkt nach..."): response_placeholder = st.empty() full_response = chatbot.process_user_input(user_msg) response_placeholder.markdown(full_response)if __name__ == "__main__": main()
Prompting erfordert oft Tests und Optimierung, um produktionsreif zu sein. Um die Bereitschaft Ihrer Lösung zu bestimmen, bewerten Sie die Chatbot-Leistung mit einem systematischen Prozess, der quantitative und qualitative Methoden kombiniert. Das Erstellen einer starken empirischen Bewertung basierend auf Ihren definierten Erfolgskriterien ermöglicht es Ihnen, Ihre Prompts zu optimieren.
Die Claude Console verfügt jetzt über ein Bewertungs-Tool, mit dem Sie Ihre Prompts unter verschiedenen Szenarien testen können.
Beim Umgang mit großen Mengen statischer und dynamischer Kontexte kann das Einschließen aller Informationen in den Prompt zu hohen Kosten, langsameren Antwortzeiten und dem Erreichen von Kontextfenster-Grenzen führen. In diesem Szenario kann die Implementierung von Retrieval Augmented Generation (RAG)-Techniken die Leistung und Effizienz erheblich verbessern.Durch die Verwendung von Embedding-Modellen wie Voyage zur Umwandlung von Informationen in Vektordarstellungen können Sie ein skalierbareres und reaktionsschnelleres System erstellen. Dieser Ansatz ermöglicht den dynamischen Abruf relevanter Informationen basierend auf der aktuellen Anfrage, anstatt alle möglichen Kontexte in jeden Prompt einzuschließen.Die Implementierung von RAG für Support-Anwendungsfälle RAG-Rezept hat gezeigt, dass sie die Genauigkeit erhöht, Antwortzeiten reduziert und API-Kosten in Systemen mit umfangreichen Kontextanforderungen senkt.
Beim Umgang mit Anfragen, die Echtzeitinformationen erfordern, wie Kontostände oder Policendetails, sind Embedding-basierte RAG-Ansätze nicht ausreichend. Stattdessen können Sie Tool-Verwendung nutzen, um die Fähigkeit Ihres Chatbots, genaue Echtzeitantworten zu liefern, erheblich zu verbessern. Zum Beispiel können Sie Tool-Verwendung nutzen, um Kundeninformationen nachzuschlagen, Bestelldetails abzurufen und Bestellungen im Namen des Kunden zu stornieren.Dieser Ansatz, der in unserem Tool-Verwendung: Kundenservice-Agent-Rezept beschrieben ist, ermöglicht es Ihnen, Live-Daten nahtlos in Claudes Antworten zu integrieren und eine personalisiertere und effizientere Kundenerfahrung zu bieten.
Bei der Bereitstellung eines Chatbots, insbesondere in Kundenservice-Szenarien, ist es entscheidend, Risiken im Zusammenhang mit Missbrauch, themenfremden Anfragen und unangemessenen Antworten zu verhindern. Während Claude von Natur aus widerstandsfähig gegen solche Szenarien ist, sind hier zusätzliche Schritte zur Stärkung Ihrer Chatbot-Leitplanken:
Halluzinationen reduzieren: Implementieren Sie Faktenprüfungsmechanismen und Zitate, um Antworten in bereitgestellten Informationen zu verankern.
Informationen gegenprüfen: Überprüfen Sie, dass die Antworten des Agenten mit den Richtlinien Ihres Unternehmens und bekannten Fakten übereinstimmen.
Vertragliche Verpflichtungen vermeiden: Stellen Sie sicher, dass der Agent keine Versprechen macht oder Vereinbarungen eingeht, die er nicht autorisiert ist zu treffen.
Jailbreaks mildern: Verwenden Sie Methoden wie Harmlosigkeits-Screens und Eingabevalidierung, um zu verhindern, dass Benutzer Modellschwachstellen ausnutzen und unangemessene Inhalte generieren.
Erwähnung von Konkurrenten vermeiden: Implementieren Sie einen Konkurrenten-Erwähnungsfilter, um den Markenfokus zu behalten und keine Produkte oder Dienstleistungen von Konkurrenten zu erwähnen.
Claude in der Rolle halten: Verhindern Sie, dass Claude seinen Stil oder Kontext ändert, auch während langer, komplexer Interaktionen.
Persönlich identifizierbare Informationen (PII) entfernen: Sofern nicht ausdrücklich erforderlich und autorisiert, entfernen Sie alle PII aus Antworten.
Reduzieren Sie die wahrgenommene Antwortzeit mit Streaming
Beim Umgang mit potenziell langen Antworten kann die Implementierung von Streaming das Benutzerengagement und die Zufriedenheit erheblich verbessern. In diesem Szenario erhalten Benutzer die Antwort progressiv, anstatt auf die gesamte Antwort zu warten.So implementieren Sie Streaming:
Richten Sie Ihr Frontend ein, um eingehende Textchunks zu verarbeiten.
Zeigen Sie jeden Chunk an, sobald er ankommt, und simulieren Sie Echtzeit-Tippen.
Implementieren Sie einen Mechanismus zum Speichern der vollständigen Antwort, damit Benutzer sie anzeigen 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.
Wenn die Komplexität Ihres Chatbots wächst, kann sich Ihre Anwendungsarchitektur entsprechend entwickeln. Bevor Sie weitere Schichten zu Ihrer Architektur hinzufügen, betrachten Sie die folgenden weniger aufwändigen Optionen:
Stellen Sie sicher, dass Sie das Beste aus Ihren Prompts herausholen und durch Prompt-Engineering optimieren. Verwenden Sie unsere Prompt-Engineering-Leitfäden, um die effektivsten Prompts zu schreiben.
Fügen Sie zusätzliche Tools zum Prompt hinzu (die Prompt-Ketten einschließen 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 möglicherweise einen separaten Intent-Klassifizierer hinzufügen, um die anfängliche Kundenanfrage zu routen. Für die bestehende Anwendung würde dies das Erstellen eines Entscheidungsbaums beinhalten, der Kundenanfragen durch den Klassifizierer und dann zu spezialisierten Gesprächen (mit ihren eigenen Tool-Sets und System-Prompts) routen würde. Beachten Sie, dass diese Methode einen zusätzlichen Aufruf an Claude erfordert, der die Latenz erhöhen kann.
Während sich unsere Beispiele auf Python-Funktionen konzentriert haben, die in einer Streamlit-Umgebung aufrufbar sind, erfordert die Bereitstellung von Claude für Echtzeit-Support-Chatbot einen API-Service.So können Sie dies angehen:
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 die folgenden Eigenschaften haben:
Server-Sent Events (SSE): SSE ermöglicht Echtzeit-Streaming von Antworten vom Server zum Client. Dies ist entscheidend für eine reibungslose, interaktive Erfahrung bei der Arbeit mit LLMs.
Caching: Die Implementierung von Caching kann Antwortzeiten erheblich 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.
Erstellen Sie eine Web-Oberfläche: Implementieren Sie eine benutzerfreundliche Web-UI für die Interaktion mit dem Claude-gestützten Agenten.