Dieser Leitfaden beschreibt, wie Sie die erweiterten Funktionen von Claude zum Verstehen natürlicher Sprache nutzen können, um Kunden-Support-Aufträge in großem Umfang zu kategorisieren, basierend auf Faktoren wie Kundenabsicht, Dringlichkeit, Priorität und Kundenprofil.
Definieren, ob Claude für die Arbeitsauftragszuweisung verwendet werden soll oder nicht
Im Folgenden finden Sie einige wichtige Kennzahlen, die darauf hinweisen, dass Sie für Klassifizierungsaufgaben eher LLMs (Large Language Models) wie Claude als traditionelle maschinelle Lernmethoden verwenden sollten:
Sie haben nur begrenzte Annotationstrainingsdaten zur Verfügung
Traditionelle Verfahren des maschinellen Lernens erfordern große kommentierte Datensätze. Das von Claude vortrainierte Modell kann den Zeit- und Kostenaufwand für die Datenaufbereitung erheblich reduzieren, indem es Arbeitsaufträge mit nur ein paar Dutzend kommentierten Beispielen effizient klassifiziert.
Ihre Klassifizierungskategorien können sich im Laufe der Zeit ändern oder weiterentwickeln
Wenn eine herkömmliche Methode des maschinellen Lernens einmal etabliert ist, kann ihre Änderung ein zeit- und datenintensiver Prozess sein. Wenn sich Ihre Produkt- oder Kundenbedürfnisse ändern, kann Claude dagegen problemlos an Änderungen der Kategoriendefinitionen oder an neue Kategorien angepasst werden, ohne dass die Trainingsdaten aufwändig umetikettiert werden müssen.
Sie müssen komplexe unstrukturierte Texteingaben verarbeiten
Herkömmliche Modelle des maschinellen Lernens haben oft Schwierigkeiten mit unstrukturierten Daten und erfordern ein umfangreiches Feature-Engineering. Das fortschrittliche Sprachverständnis von Claude ermöglicht eine genaue Klassifizierung auf der Grundlage von Inhalt und Kontext, ohne sich auf strenge ontologische Strukturen zu verlassen.
Ihre Klassifizierungsregeln beruhen auf semantischem Verständnis
Herkömmliche Methoden des maschinellen Lernens stützen sich häufig auf Bag-of-Words-Modelle oder einfachen Musterabgleich. Wenn Kategorien nicht durch Beispiele, sondern durch Bedingungen definiert werden, kann Claude diese zugrunde liegenden Regeln besonders gut verstehen und anwenden.
Für kategorische Entscheidungen brauchen Sie eine nachvollziehbare Argumentation
Viele herkömmliche Modelle des maschinellen Lernens geben nur wenig oder gar keinen Einblick in den Entscheidungsprozess. claude kann für seine Klassifizierungsentscheidungen menschenlesbare Erklärungen liefern, was das Vertrauen in das automatisierte System stärkt und es einfach macht, sich bei Bedarf anzupassen.
Sie wollen Grenzfälle und unklare Arbeitsaufträge effektiver bearbeiten
Herkömmliche maschinelle Lernsysteme schneiden in der Regel schlecht ab, wenn es um Anomalien und mehrdeutige Eingaben geht, und klassifizieren diese oft falsch oder ordnen sie einer "Catch-All"-Kategorie zu.Die natürlichen Sprachverarbeitungsfähigkeiten von Claude ermöglichen eine bessere Interpretation des Kontexts und der Nuancen in Support-Arbeitsaufträgen, wodurch die Anzahl der falsch oder nicht klassifizierten Arbeitsaufträge, die ein menschliches Eingreifen erfordern, reduziert werden kann. Die Anzahl der falsch klassifizierten oder nicht klassifizierten Arbeitsaufträge, die ein manuelles Eingreifen erfordern, kann reduziert werden.
Sie müssen mehrsprachigen Support anbieten, ohne mehrere Modelle zu pflegen
Herkömmliche Ansätze des maschinellen Lernens erfordern in der Regel die Pflege separater Modelle oder die Durchführung umfangreicher Übersetzungsprozesse für jede unterstützte Sprache. Die mehrsprachigen Funktionen von Claude ermöglichen die Klassifizierung von Arbeitsaufträgen in einer Vielzahl von Sprachen, ohne dass separate Modelle oder umfangreiche Übersetzungsprozesse erforderlich sind, und vereinfachen so den globalen Kundensupport.
Erstellen und Bereitstellen Ihres großen Sprachmodells zur Unterstützung von Arbeitsabläufen
Kennen Sie Ihre derzeitigen Unterstützungsmethoden
Bevor Sie in die Automatisierung einsteigen, müssen Sie zunächst Ihr bestehendes System für Arbeitsaufträge verstehen. Beginnen Sie damit, zu untersuchen, wie Ihr Support-Team derzeit die Weiterleitung von Arbeitsaufträgen handhabt.
Die folgenden Fragen können in Betracht gezogen werden:
- Welche Kriterien wurden bei der Festlegung des anwendbaren SLA/Dienstplans zugrunde gelegt?
- Wird anhand des Arbeitsauftragsroutings bestimmt, an welchen Support-Level oder Produktspezialisten der Arbeitsauftrag gehen soll?
- Gibt es bereits automatisierte Regeln oder Arbeitsabläufe? Unter welchen Umständen versagen sie?
- Wie werden Grenzfälle oder unscharfe Arbeitsaufträge behandelt?
- Wie setzen die Teams Prioritäten bei den Arbeitsaufträgen?
Je mehr Sie darüber wissen, wie Menschen mit bestimmten Situationen umgehen, desto besser können Sie mit den Menschen kommunizieren. Claude Arbeiten Sie gemeinsam an Aufgaben.
Definieren Sie Kategorien von Benutzerabsichten
Die Fähigkeit von Claude, Arbeitsaufträge innerhalb Ihres Systems effektiv weiterzuleiten, steht in direktem Zusammenhang mit der Klarheit der Kategoriendefinitionen in Ihrem System.
Nachfolgend finden Sie einige Beispiele für Kategorien und Unterkategorien von Benutzerabsichten.
Technische Fragen
- Hardware-Probleme
- Software-Schwachstelle
- Kompatibilitätsproblem
- Leistungsprobleme
Kontoverwaltung
- Passwort zurücksetzen
- Probleme mit dem Kontozugang
- Anfrage zur Rechnungsstellung
- Abonnement ändern
Informationen zum Produkt
- Funktion Anfrage
- Probleme mit der Produktkompatibilität
- Preisinformation
- Anfragen zur Verfügbarkeit
Benutzerhandbücher
- Leitfaden für den Betrieb
- Funktion Hilfe
- Best Practice-Empfehlungen
- Leitfaden zur Fehlerbehebung
Informationen zurücksenden
- Berichterstattung über Schwachstellen
- Funktion Anfrage
- Allgemeines Feedback oder Vorschläge
- beschweren.
Auftragsbezogen
- Statusabfrage der Bestellung
- Informationen zur Logistik
- ein Produkt für einen anderen Artikel zurückgeben
- Änderung der Bestellung
Serviceanfrage
- Unterstützung bei der Installation
- Eskalationsanfrage
- Wartungsprogramm
- Stornierung von Dienstleistungen
Sicherheitsproblem
- Anfrage zum Datenschutz
- Berichte über verdächtige Aktivitäten
- Sicherheitsmerkmale Hilfe
Compliance und Recht
- Fragen der Einhaltung gesetzlicher Vorschriften
- Anfrage zu den Servicebedingungen
- Ersuchen um juristische Dokumente
Unterstützung im Notfall
- Versagen kritischer Systeme
- Sicherheitsfragen im Notfall
- Zeitkritische Themen
Ausbildung und Schulung
- Anträge auf Produktschulungen
- Suche nach Dokumenten
- Informationen zum Webinar oder Workshop
Integration und API
- Unterstützung bei der Integration
- Probleme bei der API-Nutzung
- Kompatibilitätsprüfung für Drittanbieter
Neben der Absicht des Benutzers kann die Weiterleitung und Priorisierung von Arbeitsaufträgen durch andere Faktoren wie Dringlichkeit, Kundentyp, SLAs oder Sprache beeinflusst werden. Berücksichtigen Sie beim Aufbau eines automatisierten Routing-Systems unbedingt auch andere Routing-Kriterien.
Festlegung von Erfolgskriterien
Arbeiten Sie mit Ihrem Support-Team zusammen, um messbare Benchmarks, Schwellenwerte und Ziele zu setzen.Definieren Sie klare Erfolgskriterien.
Im Folgenden finden Sie allgemeine Standards und Benchmarks für die Verwendung des Large Language Model (LLM) für die Zuweisung von Arbeitsaufträgen:
Konsistenz der Klassifizierung
Mit dieser Kennzahl wird die Konsistenz der von Claude vorgenommenen Kategorisierung ähnlicher Arbeitsaufträge im Laufe der Zeit bewertet. Dies ist entscheidend für die Aufrechterhaltung der Zuverlässigkeit der Zuweisung. Durch die regelmäßige Verwendung eines standardisierten Satzes von Eingabetestmodellen wird eine Konsistenz von 95% oder besser angestrebt.
Anpassungsgeschwindigkeit
Mit dieser Metrik wird gemessen, wie schnell sich Claude an neue Kategorien oder veränderte Arbeitsauftragsmuster anpasst. Dazu werden neue Arbeitsauftragsarten eingeführt und die Zeit gemessen, die das Modell benötigt, um eine zufriedenstellende Genauigkeit (z. B. >90%) in diesen neuen Kategorien zu erreichen. Ziel ist es, die Anpassung innerhalb von 50-100 Musterarbeitsaufträgen zu erreichen.
mehrsprachige Verarbeitung
Diese Metrik bewertet die Fähigkeit von Claude, mehrsprachige Arbeitsaufträge genau zuzuweisen. Misst die Genauigkeit der Zuweisung in verschiedenen Sprachen, mit dem Ziel, die Genauigkeit in den nicht dominanten Sprachen nicht um mehr als 5-10% zu verringern.
Bearbeitung von Randfällen
Mit dieser Metrik wird die Leistung von Claude bei der Verarbeitung ungewöhnlicher oder komplexer Arbeitsaufträge bewertet. Es wird ein Testsatz von Randfällen mit dem Ziel erstellt, bei diesen komplexen Eingaben eine Zuweisungsgenauigkeit von mindestens 801 TP3T zu erreichen.
die Voreingenommenheit vermindert wird
Diese Kennzahl misst die Fairness der Zuteilung von Claude an die verschiedenen Kundengruppen. Zuteilungsentscheidungen werden regelmäßig auf mögliche Verzerrungen hin überprüft, mit dem Ziel einer gleichbleibenden Zuteilungsgenauigkeit (innerhalb von 2-3%) über alle Kundengruppen hinweg.
Stichwort Effizienz
Dieses Kriterium bewertet die Leistung von Claude unter minimalen Kontextbedingungen, bei denen eine geringere Anzahl von Token erforderlich ist. Misst die Genauigkeit der Zuweisungen, wenn unterschiedliche Mengen an Kontext bereitgestellt werden, mit dem Ziel, eine Genauigkeit von 90% oder mehr zu erreichen, wenn nur der Titel des Arbeitsauftrags und eine kurze Beschreibung bereitgestellt werden.
Noten für die Interpretierbarkeit
Dieser Indikator bewertet die Qualität und Relevanz der Erklärungen von Claude zu seinen Zuteilungsentscheidungen. Ein menschlicher Bewerter kann die Erklärungen bewerten (z. B. 1-5), mit dem Ziel, eine durchschnittliche Bewertung von 4 oder höher zu erreichen.
Hier sind einige allgemeine Erfolgskriterien, die unabhängig davon gelten, ob Sie ein großes Sprachmodell verwenden oder nicht:
Genauigkeit der Verteilung
Die Zuweisungsgenauigkeit misst, ob ein Arbeitsauftrag beim ersten Mal korrekt dem richtigen Team oder der richtigen Person zugewiesen wurde. Sie wird in der Regel als Prozentsatz der gesamten Arbeitsaufträge gemessen, die korrekt zugewiesen wurden. Industrie-Benchmarks zielen in der Regel auf eine Genauigkeitsrate von 90-95% ab, aber dies hängt von der Komplexität der Supportstruktur ab.
Steckplatz
Diese Kennzahl gibt an, wie schnell ein Arbeitsauftrag nach seiner Einreichung zugewiesen wird. Schnellere Zuweisungszeiten führen in der Regel zu einer schnelleren Lösung und einer höheren Kundenzufriedenheit. Die durchschnittliche Zuweisungszeit für optimale Systeme liegt in der Regel unter 5 Minuten, wobei viele Systeme eine nahezu sofortige Zuweisung anstreben (was bei Verwendung von LLM möglich ist).
Umverteilungsquote
Die Neuzuweisungsrate gibt an, wie oft ein Arbeitsauftrag nach der ersten Zuweisung neu zugewiesen werden muss. Eine niedrigere Neuzuweisungsrate deutet auf eine genauere Erstzuweisung hin. Ziel ist es, die Neuverteilungsrate unter 101 TP3T zu halten, wobei die leistungsstärksten Systeme 51 TP3T oder weniger erreichen.
Auflösungsrate beim ersten Kontakt
Diese Kennzahl misst den Prozentsatz der Arbeitsaufträge, die bei der ersten Kundeninteraktion gelöst werden. Höhere Erstlösungsraten deuten auf effiziente Aufträge und gut vorbereitete Support-Teams hin. Die Benchmarks der Branche liegen in der Regel bei 70-751 TP3T, wobei leistungsstarke Teams Erstlösungsraten von 801 TP3T oder mehr erreichen.
Durchschnittliche Bearbeitungszeit
Die durchschnittliche Bearbeitungszeit misst die Zeit, die für die Erledigung eines Arbeitsauftrags von Anfang bis Ende benötigt wird. Durch eine effektive Zuweisung kann diese Zeit erheblich verkürzt werden. Die Benchmarks variieren je nach Branche und Komplexität, aber viele Unternehmen streben an, die durchschnittliche Bearbeitungszeit für nicht dringende Probleme auf unter 24 Stunden zu beschränken.
Bewertung der Kundenzufriedenheit
Diese Bewertungen, die in der Regel durch Umfragen nach der Interaktion ermittelt werden, spiegeln die allgemeine Zufriedenheit des Kunden mit dem Supportprozess wider. Ein effektiver Vertrieb trägt zur Zufriedenheit bei. Ziel ist es, eine Kundenzufriedenheitsbewertung (CSAT) von 90% oder höher zu erreichen, wobei die leistungsstärksten Teams eine Zufriedenheitsrate von 95% oder höher erreichen.
Beförderungsrate
Dieser Indikator misst die Häufigkeit, mit der Arbeitsaufträge an eine höhere Support-Ebene eskaliert werden müssen. Eine niedrigere Eskalationsrate deutet in der Regel auf eine genauere Erstzuweisung hin. Ziel ist es, die Eskalationsrate unter 201 TP3T zu halten, wobei das optimale System eine Eskalationsrate von 101 TP3T oder weniger erreicht.
Produktivität der Mitarbeiter
Diese Kennzahl misst die Anzahl der Arbeitsaufträge, die nach der Einführung einer Verteilungslösung von den Supportmitarbeitern effizient bearbeitet werden können. Eine verbesserte Verteilung sollte zu einer erhöhten Produktivität führen. Gemessen an der Anzahl der bearbeiteten Arbeitsaufträge pro Mitarbeiter und Tag oder Stunde ist das Ziel, die Produktivität nach der Implementierung eines neuen Verteilungssystems um 10-20% zu verbessern.
Selbstbedienungsrate der Triage
Diese Kennzahl misst den Prozentsatz potenzieller Arbeitsaufträge, die durch Selbstbedienungsoptionen gelöst werden, bevor sie in das Vertriebssystem gelangen. Höhere Triage-Raten weisen auf eine effektive Triage vor der Zuweisung hin. Ziel ist es, eine Triage-Rate von 20-301 TP3T zu erreichen, wobei die leistungsstärksten Teams 401 TP3T oder mehr erreichen.
Kosten pro Arbeitsauftrag
Mit dieser Kennzahl werden die durchschnittlichen Kosten für die Lösung eines jeden Support-Auftrags berechnet. Eine effiziente Verteilung sollte dazu beitragen, die Kosten im Laufe der Zeit zu senken. Obwohl die Benchmarks stark variieren, streben viele Organisationen nach der Einführung eines verbesserten Verteilungssystems eine Senkung der Kosten pro Arbeitsauftrag um 10-151 TP3T an.
Auswahl des richtigen Claude-Modells
Die Wahl des Modells hängt von der Abwägung zwischen Kosten, Genauigkeit und Reaktionszeit ab.
Viele Kunden finden claude-3-haiku-20240307
Ideal für die Bearbeitung von Arbeitsaufträgen, da es das schnellste und kostengünstigste Modell der Claude 3-Familie ist und dennoch hervorragende Ergebnisse liefert. Wenn Ihr Klassifizierungsproblem tiefgreifendes Fachwissen oder eine Menge komplexer, absichtlicher Kategorieüberlegungen erfordert, können Sie sich für das Das größere Sonett-Modell.
Aufbau eines leistungsstarken Tipps
Claude analysiert den Inhalt von Support-Arbeitsaufträgen und sortiert sie in vordefinierte Kategorien auf der Grundlage der Art des Problems, der Dringlichkeit, des erforderlichen Fachwissens oder anderer relevanter Faktoren.
Wir wollen eine Eingabeaufforderung für die Klassifizierung von Arbeitsaufträgen schreiben. Die anfängliche Eingabeaufforderung sollte den Inhalt der Benutzeranfrage enthalten und den Argumentationsprozess und die Absicht zurückgeben.
Sie können die Anthropische Konsole Hochladen Tipp-Generator Lassen Sie Claude die erste Version der Aufforderung für Sie schreiben.
Nachfolgend finden Sie ein Beispiel für eine Aufforderung zur Klassifizierung eines Arbeitsauftrags:
def klassifizieren_unterstuetzung_anforderung(ticket_contents):
# Eingabeaufforderungen für Kategorisierungsaufgaben definieren
classification_prompt = f"""Sie arbeiten als Klassifizierungssystem für Kunden-Support-Aufträge. Ihre Aufgabe ist es, Kunden-Supportanfragen zu analysieren und die entsprechende Klassifizierungsabsicht für jede Anfrage auszugeben, zusammen mit der Angabe Ihres Argumentationsprozesses.
Dies sind die Kunden-Support-Anfragen, die Sie klassifizieren müssen:
<Anfrage{Ticket_Inhalt}Bitte analysieren Sie die obige Anfrage sorgfältig, um die Kernabsichten und Bedürfnisse des Kunden zu ermitteln. Berücksichtigen Sie den Inhalt und die Anliegen der Anfrage des Kunden.
Beginnen Sie damit, Ihre Überlegungen und Analysen zur Einstufung der Anfrage in den -Tag zu schreiben.
Geben Sie dann die entsprechenden Klassifizierungsetiketten für die Anfrage im -Tag aus. Gültige Intents sind:
Support, Feedback, Reklamationen
Auftragsverfolgung
Rückerstattung/Umtausch
Eine Anfrage kann nur einen einzigen Zweck haben. Es wird nur die am besten geeignete Absicht für die Anfrage aufgenommen.
Betrachten wir zum Beispiel die folgende Anfrage:
Hallo! Ich habe mein Hochgeschwindigkeits-Glasfaser-Internet am Samstag installieren lassen und der Installateur, Kevin, war fantastisch! Wo kann ich meine positive Bewertung abgeben? Ich danke Ihnen für Ihre Hilfe!
Dies ist ein Beispiel dafür, wie Ihre Ausgabe formatiert sein sollte (für die obige Anfrage):
Der Benutzer möchte eine positive Bewertung abgeben.
Support, Feedback, Beschwerden
Hier sind noch ein paar weitere Beispiele:
<Beispiel 2
Beispiel 2 Eingabe:
Ich wollte Ihnen schreiben, um mich für die Betreuung meiner Familie bei der Beerdigung meines Vaters am vergangenen Wochenende zu bedanken. Ihre Mitarbeiter waren sehr rücksichtsvoll und hilfsbereit, was uns eine große Last von den Schultern genommen hat. Das Gedenkbuch war wunderschön. Wir werden nie vergessen, wie gut Sie sich um uns gekümmert haben, und wir sind so dankbar dafür, wie reibungslos der ganze Prozess verlaufen ist. Nochmals vielen Dank, Amarantha Hill, im Namen der Familie Hill. </anforderung
Beispiel 2 Ausgabe:
Der Benutzer hat eine positive Bewertung seiner Erfahrung abgegeben.
Support, Feedback, Beschwerden.
</example 2
...
</example 8
<Beispiel 9
Beispiel 9 Eingabe:
Ihre Website zeigt ständig Werbefenster an, die den gesamten Bildschirm blockieren. Ich habe zwanzig Minuten gebraucht, um die Nummer für eine telefonische Beschwerde zu finden. Wie kann ich bei all diesen Pop-ups überhaupt auf meine Kontoinformationen zugreifen? Können Sie mir helfen, auf mein Konto zuzugreifen, weil es ein Problem mit Ihrer Website gibt? Ich brauche die gespeicherte Adresse. </anforderung
Beispiel 9 Ausgabe:
Der Benutzer hat um Hilfe gebeten, um auf seine Webkontoinformationen zuzugreifen.
Support, Feedback, Beschwerden.
</example 9
Denken Sie daran, kategorische Begründungen immer vor der eigentlichen Absichtsausgabe einzufügen. Die Begründung sollte in den -Tag und die Absicht in den -Tag eingefügt werden. Nur die Argumentation und die Absicht werden zurückgegeben.
"""
Schauen wir uns die wichtigsten Teile dieses Tipps an:
- Wir verwenden Pythons f-string, um hint-Vorlagen zu erstellen, die die Einbeziehung von
ticket_contents
einfügenTagged in.
- Wir haben eine klare Rolle für Claude als Klassifizierungssystem definiert, das den Inhalt von Arbeitsaufträgen sorgfältig analysiert, um die Kernabsichten und Bedürfnisse des Kunden zu ermitteln.
- Wir haben Claude über das richtige Ausgabeformat in der
Schlussfolgerungen und Analysen werden in den Tags und anschließend in der
Geben Sie die entsprechenden Kategorie-Tags innerhalb der Tags aus.
- Wir haben gültige Absichtskategorien festgelegt: "Support, Feedback, Reklamationen", "Auftragsverfolgung" und "Rückerstattung/Umtausch".
- Es werden einige Beispiele (d. h. wenige Tipps) gegeben, um zu veranschaulichen, wie die Ausgabe formatiert werden sollte, was zur Verbesserung der Genauigkeit und Konsistenz beitragen kann.
Wir möchten, dass Claude die Antwort in separate XML-Tag-Abschnitte aufteilt, so dass wir reguläre Ausdrücke verwenden können, um Argumentation und Absicht getrennt zu extrahieren. Auf diese Weise können wir gezielte Folgeschritte im Workflow zur Weiterleitung von Arbeitsaufträgen erstellen, indem wir beispielsweise nur die Absicht verwenden, um zu entscheiden, an wen der Arbeitsauftrag weitergeleitet werden soll.
Einsatz von Schlagwörtern
Wenn sie nicht in einer Test-Produktionsumgebung eingesetzt werden und Operative Bewertungist es schwer zu wissen, wie wirksam Ihre Stichworte sind.
Lassen Sie uns die Einsatzstruktur aufbauen. Beginnen Sie mit der Definition einer Methodensignatur, die unsere Aufrufe an Claude verpackt. Wir verwenden die Methode, die wir bereits zu schreiben begonnen haben und die mit dem ticket_contents
als Eingabe, jetzt zurückgeben Argumentation
im Gesang antworten Absicht
Tupel als Ausgabe. Wenn Sie bereits eine automatisierte Methode mit traditionellem maschinellem Lernen verwenden, empfiehlt es sich, der Signatur dieser Methode zu folgen.
importieren anthropisch
importieren zu
# Erstellen einer Instanz des Anthropic-API-Clients
client = anthropic.Anthropic()
# Einstellung des Standardmodells
DEFAULT_MODEL="claude-3-haiku-20240307"
def klassifizieren_unterstuetzung_anforderung(ticket_contents):
# Definieren von Stichwörtern für Klassifizierungsaufgaben
classification_prompt = f"""Sie fungieren als Klassifizierungssystem für Arbeitsaufträge des Kundensupports.
...
... Die Begründung sollte in den -Tag und die Absicht in den -Tag aufgenommen werden. Nur Begründung und Absicht werden zurückgegeben.
"""
# Sendet Aufforderungswörter an API zur Klassifizierung von Support-Anfragen
message = client.messages.create(
model=DEFAULT_MODEL, max_tokens=MODEL, max_tokens=MODEL
max_tokens=500,
Temperatur=0,
messages=[{"Rolle": "Benutzer", "Inhalt": classification_prompt}],
stream=Falsch)
)
reasoning_and_intent = message.content[0].text
# Extrahieren von "Gründen" mit Hilfe der Python-Bibliothek für reguläre Ausdrücke
reasoning_match = re.search(
r"(. *?) ", reasoning_and_intent, re.DOTALL
)
reasoning = reasoning_match.group(1).strip() wenn argumentation_match sonst ""
# extrahiert auch "Absicht".
intent_match = re.search(r"(. *?) ", reasoning_and_intent, re.DOTALL)
intent = intent_match.group(1).strip() wenn absicht_übereinstimmen sonst ""
return Argumentation, Absicht
Dieser Code:
- Importieren Sie die Anthropic-Bibliothek und erstellen Sie eine Client-Instanz mit Ihrem API-Schlüssel.
- Definiert eine
klassifizieren_unterstuetzung_anforderung
Funktion, die eineticket_contents
Zeichenfolge. - ausnutzen
klassifizierung_prompt
Oberbefehlshaber (Militär)ticket_contents
Schicken Sie es an Claude zum Sortieren. - Gibt das Modell zurück, das aus der Antwort des
Argumentation
im Gesang antwortenAbsicht
.
Da wir auf die vollständige Inferenz und die Generierung des beabsichtigten Textes warten müssen, bevor wir parsen, werden wir stream=False
Auf den Standardwert eingestellt.
Bewerten Sie Ihre Tipps
Die Verwendung von Schlagwörtern erfordert in der Regel Tests und Optimierungen, um den Status der Produktionsreife zu erreichen. Um festzustellen, ob Ihre Lösung bereit ist, bewerten Sie ihre Leistung anhand von zuvor festgelegten Erfolgskriterien und Schwellenwerten.
Um eine Bewertung durchzuführen, benötigen Sie Testfälle, um die Bewertung auszuführen. In diesem Artikel wird davon ausgegangen, dass Sie überEntwickeln Sie Ihre Testfälle.
Konstruktion der Bewertungsfunktion
Die Bewertungsbeispiele in diesem Leitfaden messen die Leistung von Claude anhand von drei Schlüsselkriterien:
- Genauigkeit
- Kosten pro Klassifizierung
Je nachdem, was für Sie wichtig ist, kann es notwendig sein, Claude in anderen Dimensionen zu bewerten.
Um die Auswertung durchzuführen, müssen wir zunächst das vorherige Skript ändern, indem wir eine Funktion hinzufügen, die die vorhergesagte Absicht mit der tatsächlichen Absicht vergleicht und den Prozentsatz der richtigen Vorhersagen berechnet. Außerdem müssen wir Funktionen für die Kosten- und Zeitmessung hinzufügen.
import anthropic
import re
# 创建 Anthropic API 客户端的实例
client = anthropic.Anthropic()
# 设置默认模型
DEFAULT_MODEL="claude-3-haiku-20240307"
def classify_support_request(request, actual_intent):
# 定义分类任务的提示
classification_prompt = f"""You will be acting as a customer support ticket classification system.
...
...The reasoning should be enclosed in <reasoning> tags and the intent in <intent> tags. Return only the reasoning and the intent.
"""
message = client.messages.create(
model=DEFAULT_MODEL,
max_tokens=500,
temperature=0,
messages=[{"role": "user", "content": classification_prompt}],
)
usage = message.usage # 获取 API 调用的使用统计信息,包括输入和输出 Token 数量。
reasoning_and_intent = message.content[0].text
# 使用 Python 的正则表达式库提取 `reasoning`。
reasoning_match = re.search(
r"<reasoning>(.*?)</reasoning>", reasoning_and_intent, re.DOTALL
)
reasoning = reasoning_match.group(1).strip() if reasoning_match else ""
# 同样,提取 `intent`。
intent_match = re.search(r"<intent>(.*?)</intent>", reasoning_and_intent, re.DOTALL)
intent = intent_match.group(1).strip() if intent_match else ""
# 检查模型的预测是否正确。
correct = actual_intent.strip() == intent.strip()
# 返回推理结果、意图、正确性和使用情况。
return reasoning, intent, correct, usage
Die Änderungen, die wir am Code vorgenommen haben, sind wie folgt:
- wir werden
tatsächliche_Absicht
Fügen Sie vom Testfall zumklassifizieren_unterstuetzung_anforderung
Methodik, und es wurde ein Vergleichsmechanismus eingerichtet, um zu bewerten, ob die Absichtskategorisierung von Claude mit unserer goldenen Absichtskategorisierung übereinstimmt. - Wir haben Nutzungsstatistiken für API-Aufrufe extrahiert, um die Kosten auf der Grundlage der Verwendung von Eingabe- und Ausgabe-Token zu berechnen.
Führen Sie Ihre Bewertung durch
Eine gut ausgearbeitete Bewertung erfordert klare Schwellenwerte und Benchmarks, um zu bestimmen, was ein gutes Ergebnis ist. Das obige Skript liefert uns zwar Laufzeitwerte für die Genauigkeit, die Reaktionszeit und die Kosten pro Klassifizierung, aber wir brauchen dennoch klar festgelegte Schwellenwerte. Beispiel:
- Genauigkeit: 95% (100 Tests)
- Kosten pro Klassifizierung: Durchschnittliche Reduktion von 50% (100 Tests) im Vergleich zu aktuellen Routing-Methoden
Die Festlegung dieser Schwellenwerte ermöglicht es Ihnen, schnell und einfach zu beurteilen, welcher Ansatz für Sie am besten geeignet ist, und anhand unvoreingenommener empirischer Daten deutlich zu machen, welche Verbesserungen vorgenommen werden müssen, um Ihre Anforderungen besser zu erfüllen.
Leistung verbessern
In komplexen Szenarien sollten Sie über den Standard hinausgehen zeitnahe Ingenieurtechniken im Gesang antworten Strategien zur Umsetzung der Leitplanken zusätzliche Strategien hilfreich sein können. Hier sind einige gängige Szenarien:
Für den Fall, dass Sie mehr als 20 Absichtskategorien haben, verwenden Sie die Klassifikationshierarchie
Mit zunehmender Anzahl der Kategorien steigt auch die Anzahl der benötigten Beispiele, was die Eingabeaufforderung unhandlich machen kann. Als Alternative können Sie die Implementierung eines hierarchischen Klassifizierungssystems mit hybriden Klassifikatoren in Betracht ziehen.
- Gliedern Sie Ihre Absichten in eine Klassifizierungsbaumstruktur.
- Erstellen Sie eine Reihe von Klassifizierern auf jeder Ebene des Baums, um die Kaskaden-Routing-Methode zu ermöglichen.
Sie können zum Beispiel einen Top-Level-Klassifikator haben, der Arbeitsaufträge grob in "Technische Probleme", "Rechnungsprobleme" und "Allgemeine Anfragen" einteilt. Jede dieser Kategorien kann ihren eigenen Unterklassifikator haben, um die Klassifizierung weiter zu verfeinern.
- Vorteile - Größere Nuancierung und Genauigkeit: Sie können für jeden übergeordneten Pfad unterschiedliche Eingabeaufforderungen erstellen und so eine gezieltere und kontextspezifische Kategorisierung vornehmen. Dies verbessert die Genauigkeit und ermöglicht eine detailliertere Bearbeitung von Kundenanfragen.
- Nachteile - Erhöhte Latenzzeit: Beachten Sie, dass mehrere Klassifikatoren zu einer erhöhten Latenz führen können. Daher empfehlen wir diese Methode, wenn Sie unser schnellstes Modell, Haiku, verwenden.
Einsatz von Vektordatenbanken und Ähnlichkeitssuche zur Bearbeitung von stark variierenden Arbeitsaufträgen
Zwar ist die Angabe von Beispielen der effektivste Weg, um die Leistung zu verbessern, doch kann es schwierig sein, genügend Beispiele in eine einzige Aufforderung aufzunehmen, wenn die Supportanfragen sehr unterschiedlich sind.
In diesem Fall können Sie die Vektordatenbank verwenden, um eine Ähnlichkeitssuche aus dem Beispieldatensatz durchzuführen und die relevantesten Beispiele für eine bestimmte Abfrage zu finden.
Diese Methodik wird in unserer Klassifizierungsrezept die ausführlich beschrieben wird, kann die Leistung nachweislich von 71% Genauigkeit auf 93% Genauigkeit verbessert werden.
Besondere Berücksichtigung von zu erwartenden Grenzfällen
Hier sind einige Szenarien, in denen Claude einen Arbeitsauftrag falsch klassifizieren könnte (es kann auch andere Situationen geben, die für Ihre Situation typisch sind). Für diese Szenarien sollten Sie in den Aufforderungen klare Anweisungen oder Beispiele dafür geben, wie Claude mit Grenzfällen umgehen sollte:
Kunden stellen implizite Anfragen
Kunden drücken ihre Bedürfnisse oft indirekt aus. Ein Beispiel: "Ich warte schon seit mehr als zwei Wochen auf mein Paket" kann eine indirekte Anfrage nach dem Stand der Bestellung sein.
- Lösung: Geben Sie Claude einige reale Kundenbeispiele für diese Art von Anfrage und die ihr zugrunde liegende Absicht. Wenn Sie eine besonders nuancierte Begründung für die Kategorisierung der Absicht des Arbeitsauftrags angeben, können Sie bessere Ergebnisse erzielen, so dass Claude die Logik besser auf andere Arbeitsaufträge verallgemeinern kann.
Claude gibt Gefühlen den Vorrang vor Absichten
Wenn ein Klient seine Unzufriedenheit zum Ausdruck bringt, kann es sein, dass Claude der Bewältigung der Emotion den Vorrang vor der Lösung des zugrunde liegenden Problems gibt.
- Lösung: Geben Sie Claude einen Hinweis darauf, wann er der Kundenstimmung Priorität einräumen soll. Das könnte etwas so Einfaches sein wie "Ignorieren Sie alle Kundenstimmungen. Konzentrieren Sie sich nur auf die Analyse der Absicht der Kundenanfrage und der Informationen, nach denen der Kunde möglicherweise fragt".
Mehrere Themen führen zu Verwirrung bei der Priorisierung von Themen
Claude kann Schwierigkeiten haben, die Hauptanliegen zu erkennen, wenn ein Kunde mehrere Fragen in einer Interaktion stellt.
- Lösung: Klärung der Priorisierung von Vorhaben, damit Claude die extrahierten Vorhaben besser priorisieren und die wichtigsten Anliegen identifizieren kann.
Integration von Claude in Ihren größeren Support-Workflow
Eine ordnungsgemäße Integration erfordert, dass Sie einige Entscheidungen darüber treffen, wie Claude-basierte Work Order Routing-Skripte in die größere Work Order Routing-Systemarchitektur passen. Sie können dies auf zwei Arten tun:
- Push-basiert: Das von Ihnen verwendete System für Support-Arbeitsaufträge (z. B. Zendesk) löst Ihren Code aus, indem es ein Webhook-Ereignis an Ihren Routing-Dienst sendet, der dann die Absicht klassifiziert und weiterleitet.
- Dieser Ansatz ist im Netzwerk besser skalierbar, erfordert aber die Offenlegung eines Endpunkts.
- Pull-Basis: Ihr Code ruft den neuesten Arbeitsauftrag auf der Grundlage des angegebenen Zeitplans ab und leitet ihn weiter, sobald er abgerufen wird.
- Dieser Ansatz ist einfacher zu implementieren, kann aber unnötige Aufrufe an das unterstützende Arbeitsauftragssystem verursachen, wenn es zu oft aufgerufen wird, oder zu langsam sein, wenn es zu selten aufgerufen wird.
Bei beiden Methoden müssen Sie Ihre Skripte in einen Dienst verpacken. Welche Methode Sie wählen, hängt davon ab, welche APIs Ihr System für Support-Arbeitsaufträge bietet.