Claude Platform Docs
  • Messages
  • Managed Agents
  • Admin

Search...
⌘K
Anwendungsfälle
ÜbersichtTicket-RoutingKundensupport-AgentInhaltsmoderationZusammenfassung juristischer Texte
Prompt Engineering
ÜbersichtBest Practices für PromptingPrompting für Claude Fable 5Prompting für Claude Opus 4.8Prompting für Claude Sonnet 5Prompting-Tools in der Console
Testen und evaluieren
Erfolg definieren und Evaluierungen erstellenVerwendung des Evaluation Tools in der ConsoleLatenz reduzieren
Leitplanken stärken
Halluzinationen reduzierenAusgabekonsistenz erhöhenJailbreaks abschwächenPrompt-Leaks reduzieren
Referenz
Glossar

Log in
Ticket-Routing
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Claude Platform Docs

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Claude on AWS
  • Claude on Google Cloud

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
Best Practices/Anwendungsfälle

Ticket-Routing

Dieser Leitfaden zeigt dir, wie du Claudes fortschrittliche Fähigkeiten zum Verstehen natürlicher Sprache nutzen kannst, um Kundensupport-Tickets in großem Umfang basierend auf Kundenabsicht, Dringlichkeit, Priorisierung, Kundenprofil und mehr zu klassifizieren.

Entscheide, ob du Claude für das Ticket-Routing verwenden solltest

Hier sind einige wichtige Indikatoren dafür, dass du ein LLM wie Claude anstelle traditioneller ML-Ansätze für deine Klassifizierungsaufgabe verwenden solltest:


Erstelle und implementiere deinen LLM-Support-Workflow

Verstehe deinen aktuellen Support-Ansatz

Bevor du in die Automatisierung einsteigst, ist es entscheidend, dein bestehendes Ticketing-System zu verstehen. Beginne damit zu untersuchen, wie dein Support-Team derzeit das Ticket-Routing handhabt.

Stelle dir Fragen wie:

  • Welche Kriterien werden verwendet, um zu bestimmen, welches SLA/Serviceangebot angewendet wird?
  • Wird Ticket-Routing verwendet, um zu bestimmen, an welche Support-Stufe oder welchen Produktspezialisten ein Ticket geht?
  • Gibt es bereits automatisierte Regeln oder Workflows? In welchen Fällen versagen sie?
  • Wie werden Grenzfälle oder mehrdeutige Tickets behandelt?
  • Wie priorisiert das Team Tickets?

Je mehr du darüber weißt, wie Menschen bestimmte Fälle handhaben, desto besser kannst du mit Claude zusammenarbeiten, um die Aufgabe zu erledigen.

Definiere Kategorien für Nutzerabsichten

Eine klar definierte Liste von Kategorien für Nutzerabsichten ist entscheidend für eine genaue Klassifizierung von Support-Tickets mit Claude. Claudes Fähigkeit, Tickets innerhalb deines Systems effektiv weiterzuleiten, ist direkt proportional dazu, wie gut die Kategorien deines Systems definiert sind.

Hier sind einige Beispielkategorien und Unterkategorien für Nutzerabsichten.

Neben der Absicht können Ticket-Routing und Priorisierung auch von anderen Faktoren wie Dringlichkeit, Kundentyp, SLAs oder Sprache beeinflusst werden. Berücksichtige unbedingt weitere Routing-Kriterien beim Aufbau deines automatisierten Routing-Systems.

Lege Erfolgskriterien fest

Arbeite mit deinem Support-Team zusammen, um klare Erfolgskriterien zu definieren – mit messbaren Benchmarks, Schwellenwerten und Zielen.

Hier sind einige Standardkriterien und Benchmarks bei der Verwendung von LLMs für das Support-Ticket-Routing:

Hier sind einige gängige Erfolgskriterien, die unabhängig davon nützlich sein können, ob ein LLM verwendet wird:

Wähle das richtige Claude-Modell

Die Wahl des Modells hängt von den Kompromissen zwischen Kosten, Genauigkeit und Antwortzeit ab.

Viele Kunden haben festgestellt, dass claude-haiku-4-5-20251001 ein ideales Modell für das Ticket-Routing ist, da es das schnellste und kostengünstigste Modell der Claude 4-Familie ist und dennoch hervorragende Ergebnisse liefert. Wenn dein Klassifizierungsproblem tiefgreifende Fachkenntnisse oder eine große Anzahl von Absichtskategorien mit komplexem Reasoning erfordert, kannst du dich für das größere Sonnet-Modell entscheiden.

Erstelle einen starken Prompt

Ticket-Routing ist eine Art von Klassifizierungsaufgabe. Claude analysiert den Inhalt eines Support-Tickets und klassifiziert es in vordefinierte Kategorien basierend auf dem Problemtyp, der Dringlichkeit, der erforderlichen Expertise oder anderen relevanten Faktoren.

Lass uns einen Ticket-Klassifizierungs-Prompt schreiben. Unser erster Prompt sollte den Inhalt der Nutzeranfrage enthalten und sowohl die Begründung als auch die Absicht zurückgeben.



Probiere den Prompt-Generator in der Claude Console aus, damit Claude einen ersten Entwurf für dich schreibt.

Hier ist ein Beispiel für einen Ticket-Routing-Klassifizierungs-Prompt:

def classify_support_request(ticket_contents):
    # Definiere den Prompt für die Klassifizierungsaufgabe
    classification_prompt = f"""You will be acting as a customer support ticket classification system. Your task is to analyze customer support requests and output the appropriate classification intent for each request, along with your reasoning.

        Here is the customer support request you need to classify:

        <request>{ticket_contents}</request>

        Please carefully analyze the above request to determine the customer's core intent and needs. Consider what the customer is asking for has concerns about.

        First, write out your reasoning and analysis of how to classify this request inside <reasoning> tags.

        Then, output the appropriate classification label for the request inside a <intent> tag. The valid intents are:
        <intents>
        <intent>Support, Feedback, Complaint</intent>
        <intent>Order Tracking</intent>
        <intent>Refund/Exchange</intent>
        </intents>

        A request may have ONLY ONE applicable intent. Only include the intent that is most applicable to the request.

        As an example, consider the following request:
        <request>Hello! I had high-speed fiber internet installed on Saturday and my installer, Kevin, was absolutely fantastic! Where can I send my positive review? Thanks for your help!</request>

        Here is an example of how your output should be formatted (for the above example request):
        <reasoning>The user seeks information in order to leave positive feedback.</reasoning>
        <intent>Support, Feedback, Complaint</intent>

        Here are a few more examples:
        <examples>
        <example 2>
        Example 2 Input:
        <request>I wanted to write and personally thank you for the compassion you showed towards my family during my father's funeral this past weekend. Your staff was so considerate and helpful throughout this whole process; it really took a load off our shoulders. The visitation brochures were beautiful. We'll never forget the kindness you showed us and we are so appreciative of how smoothly the proceedings went. Thank you, again, Amarantha Hill on behalf of the Hill Family.</request>

        Example 2 Output:
        <reasoning>User leaves a positive review of their experience.</reasoning>
        <intent>Support, Feedback, Complaint</intent>
        </example 2>
        <example 3>

        ...

        </example 8>
        <example 9>
        Example 9 Input:
        <request>Your website keeps sending ad-popups that block the entire screen. It took me twenty minutes just to finally find the phone number to call and complain. How can I possibly access my account information with all of these popups? Can you access my account for me, since your website is broken? I need to know what the address is on file.</request>

        Example 9 Output:
        <reasoning>The user requests help accessing their web account information.</reasoning>
        <intent>Support, Feedback, Complaint</intent>
        </example 9>

        Remember to always include your classification reasoning before your actual intent output. The reasoning should be enclosed in <reasoning> tags and the intent in <intent> tags. Return only the reasoning and the intent.
        """

Lass uns die wichtigsten Komponenten dieses Prompts aufschlüsseln:

  • Wir verwenden Python-f-Strings, um das Prompt-Template zu erstellen, wodurch ticket_contents in die <request>-Tags eingefügt werden kann.
  • Wir geben Claude eine klar definierte Rolle als Klassifizierungssystem, das den Ticket-Inhalt sorgfältig analysiert, um die Kernabsicht und Bedürfnisse des Kunden zu ermitteln.
  • Wir weisen Claude an, wie die Ausgabe formatiert werden soll – in diesem Fall soll die Begründung und Analyse innerhalb von <reasoning>-Tags bereitgestellt werden, gefolgt vom entsprechenden Klassifizierungslabel innerhalb von <intent>-Tags.
  • Wir geben die gültigen Absichtskategorien an: „Support, Feedback, Complaint", „Order Tracking" und „Refund/Exchange".
  • Wir fügen einige Beispiele hinzu (auch bekannt als Few-Shot-Prompting), um zu veranschaulichen, wie die Ausgabe formatiert werden soll, was die Genauigkeit und Konsistenz verbessert.

Der Grund, warum wir möchten, dass Claude seine Antwort in verschiedene XML-Tag-Abschnitte aufteilt, ist, dass wir reguläre Ausdrücke verwenden können, um die Begründung und die Absicht separat aus der Ausgabe zu extrahieren. Dies ermöglicht es uns, gezielte nächste Schritte im Ticket-Routing-Workflow zu erstellen, z. B. nur die Absicht zu verwenden, um zu entscheiden, an welche Person das Ticket weitergeleitet werden soll.

Setze deinen Prompt ein

Es ist schwer zu wissen, wie gut dein Prompt funktioniert, ohne ihn in einer Test-Produktionsumgebung einzusetzen und Evaluierungen durchzuführen.

Lass uns die Deployment-Struktur aufbauen. Beginne damit, die Methodensignatur für das Wrapping unseres Aufrufs an Claude zu definieren. Wir nehmen die Methode, die wir bereits zu schreiben begonnen haben und die ticket_contents als Eingabe hat, und geben nun ein Tupel aus reasoning und intent als Ausgabe zurück. Wenn du eine bestehende Automatisierung mit traditionellem ML hast, solltest du stattdessen dieser Methodensignatur folgen.

Python
import re

# Erstelle eine Instanz des Claude-API-Clients
client = anthropic.Anthropic()

# Lege das Standardmodell fest
DEFAULT_MODEL = "claude-haiku-4-5-20251001"


def classify_support_request(ticket_contents):
    # Definiere den Prompt für die Klassifizierungsaufgabe
    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.
        """
    # Sende den Prompt an die API, um die Support-Anfrage zu klassifizieren.
    message = client.messages.create(
        model=DEFAULT_MODEL,
        max_tokens=500,
        temperature=0,
        messages=[{"role": "user", "content": classification_prompt}],
        stream=False,
    )
    reasoning_and_intent = message.content[0].text

    # Verwende Pythons Bibliothek für reguläre Ausdrücke, um `reasoning` zu extrahieren.
    reasoning_match = re.search(
        r"<reasoning>(.*?)</reasoning>", reasoning_and_intent, re.DOTALL
    )
    reasoning = reasoning_match.group(1).strip() if reasoning_match else ""

    # Extrahiere analog dazu auch den `intent`.
    intent_match = re.search(r"<intent>(.*?)</intent>", reasoning_and_intent, re.DOTALL)
    intent = intent_match.group(1).strip() if intent_match else ""

    return reasoning, intent

Dieser Code:

  • Erstellt eine Client-Instanz mit deinem API-Key.
  • Definiert eine classify_support_request-Funktion, die einen ticket_contents-String entgegennimmt.
  • Sendet die ticket_contents zur Klassifizierung an Claude unter Verwendung des classification_prompt.
  • Gibt reasoning und intent des Modells zurück, die aus der Antwort extrahiert wurden.

Da wir warten müssen, bis der gesamte Begründungs- und Absichtstext generiert wurde, bevor wir ihn parsen, setzen wir stream=False (die Standardeinstellung).


Evaluiere deinen Prompt

Prompting erfordert oft Tests und Optimierung, bevor es produktionsreif ist. Um die Einsatzbereitschaft deiner Lösung zu bestimmen, bewerte die Leistung basierend auf den Erfolgskriterien und Schwellenwerten, die du zuvor festgelegt hast.

Um deine Evaluierung durchzuführen, benötigst du Testfälle. Der Rest dieses Leitfadens geht davon aus, dass du bereits deine Testfälle entwickelt hast.

Erstelle eine Evaluierungsfunktion

Unsere Beispiel-Evaluierung für diesen Leitfaden misst Claudes Leistung anhand von drei Schlüsselmetriken:

  • Genauigkeit
  • Kosten pro Klassifizierung

Je nachdem, welche Faktoren für dich wichtig sind, musst du Claude möglicherweise anhand anderer Dimensionen bewerten.

Um dies zu bewerten, müssen wir zunächst das Skript, das wir geschrieben haben, modifizieren und eine Funktion hinzufügen, die die vorhergesagte Absicht mit der tatsächlichen Absicht vergleicht und den Prozentsatz der korrekten Vorhersagen berechnet. Wir müssen auch Funktionen zur Kostenberechnung und Zeitmessung hinzufügen.

Python
import re

# Erstelle eine Instanz des Claude-API-Clients
client = anthropic.Anthropic()

# Lege das Standardmodell fest
DEFAULT_MODEL = "claude-haiku-4-5-20251001"


def classify_support_request(request, actual_intent):
    # Definiere den Prompt für die Klassifizierungsaufgabe
    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  # Get the usage statistics for the API call for how many input and output tokens were used.
    reasoning_and_intent = message.content[0].text

    # Verwende Pythons Bibliothek für reguläre Ausdrücke, um `reasoning` zu extrahieren.
    reasoning_match = re.search(
        r"<reasoning>(.*?)</reasoning>", reasoning_and_intent, re.DOTALL
    )
    reasoning = reasoning_match.group(1).strip() if reasoning_match else ""

    # Extrahiere analog dazu auch `intent`.
    intent_match = re.search(r"<intent>(.*?)</intent>", reasoning_and_intent, re.DOTALL)
    intent = intent_match.group(1).strip() if intent_match else ""

    # Prüfe, ob die Vorhersage des Modells korrekt ist.
    correct = actual_intent.strip() == intent.strip()

    # Gib reasoning, intent, correct und usage zurück.
    return reasoning, intent, correct, usage

Lass uns die vorgenommenen Änderungen aufschlüsseln:

  • Wir haben actual_intent aus unseren Testfällen in die classify_support_request-Methode eingefügt und einen Vergleich eingerichtet, um zu bewerten, ob Claudes Absichtsklassifizierung mit unserer Referenz-Absichtsklassifizierung übereinstimmt.
  • Wir haben Nutzungsstatistiken für den API-Aufruf extrahiert, um die Kosten basierend auf den verwendeten Input- und Output-Token zu berechnen.

Führe deine Evaluierung durch

Eine ordnungsgemäße Evaluierung erfordert klare Schwellenwerte und Benchmarks, um zu bestimmen, was ein gutes Ergebnis ist. Das obige Skript liefert uns die Laufzeitwerte für Genauigkeit, Antwortzeit und Kosten pro Klassifizierung, aber wir bräuchten immer noch klar festgelegte Schwellenwerte. Zum Beispiel:

  • Genauigkeit: 95 % (von 100 Tests)
  • Kosten pro Klassifizierung: 50 % Reduzierung im Durchschnitt (über 100 Tests) gegenüber der aktuellen Routing-Methode

Mit diesen Schwellenwerten kannst du schnell und einfach in großem Maßstab und mit unparteiischer Empirie feststellen, welche Methode für dich am besten geeignet ist und welche Änderungen möglicherweise vorgenommen werden müssen, um deine Anforderungen besser zu erfüllen.


Verbessere die Leistung

In komplexen Szenarien kann es hilfreich sein, zusätzliche Strategien zur Leistungsverbesserung in Betracht zu ziehen, die über standardmäßige Prompt-Engineering-Techniken und Strategien zur Implementierung von Guardrails hinausgehen. Hier sind einige gängige Szenarien:

Verwende eine taxonomische Hierarchie für Fälle mit 20+ Absichtskategorien

Mit zunehmender Anzahl von Klassen wächst auch die Anzahl der erforderlichen Beispiele, was den Prompt potenziell unhandlich macht. Als Alternative kannst du die Implementierung eines hierarchischen Klassifizierungssystems mit einer Mischung aus Klassifikatoren in Betracht ziehen.

  1. Organisiere deine Absichten in einer taxonomischen Baumstruktur.
  2. Erstelle eine Reihe von Klassifikatoren auf jeder Ebene des Baums, um einen kaskadierenden Routing-Ansatz zu ermöglichen.

Du könntest beispielsweise einen Klassifikator auf oberster Ebene haben, der Tickets grob in „Technische Probleme", „Abrechnungsfragen" und „Allgemeine Anfragen" kategorisiert. Jede dieser Kategorien kann dann ihren eigenen Unterklassifikator haben, um die Klassifizierung weiter zu verfeinern.

  • Vorteile – mehr Nuancen und Genauigkeit: Du kannst für jeden übergeordneten Pfad unterschiedliche Prompts erstellen, was eine gezieltere und kontextspezifischere Klassifizierung ermöglicht. Dies kann zu verbesserter Genauigkeit und nuancierterer Behandlung von Kundenanfragen führen.

  • Nachteile – erhöhte Latency: Beachte, dass mehrere Klassifikatoren zu erhöhter „latency" (Latenz) führen können, und wir empfehlen, diesen Ansatz mit unserem schnellsten Modell, Haiku, zu implementieren.

Verwende Vektordatenbanken und Ähnlichkeitssuche, um stark variierende Tickets zu verarbeiten

Obwohl das Bereitstellen von Beispielen der effektivste Weg zur Leistungsverbesserung ist, kann es bei stark variierenden Support-Anfragen schwierig sein, genügend Beispiele in einem einzigen Prompt unterzubringen.

In diesem Szenario könntest du eine Vektordatenbank einsetzen, um Ähnlichkeitssuchen in einem Datensatz von Beispielen durchzuführen und die relevantesten Beispiele für eine bestimmte Anfrage abzurufen.

Dieser Ansatz, der in unserem Klassifizierungs-Rezept ausführlich beschrieben wird, hat nachweislich die Leistung von 71 % Genauigkeit auf 93 % Genauigkeit verbessert.

Berücksichtige erwartete Grenzfälle gezielt

Hier sind einige Szenarien, in denen Claude Tickets falsch klassifizieren könnte (es kann weitere geben, die für deine Situation spezifisch sind). Erwäge in diesen Szenarien, explizite Anweisungen oder Beispiele im Prompt bereitzustellen, wie Claude den Grenzfall behandeln soll:


Integriere Claude in deinen übergeordneten Support-Workflow

Eine ordnungsgemäße Integration erfordert, dass du einige Entscheidungen darüber triffst, wie dein Claude-basiertes Ticket-Routing-Skript in die Architektur deines übergeordneten Ticket-Routing-Systems passt. Es gibt zwei Möglichkeiten, dies zu tun:

  • Push-basiert: Das Support-Ticket-System, das du verwendest (z. B. Zendesk), löst deinen Code aus, indem es ein Webhook-Event an deinen Routing-Service sendet, der dann die Absicht klassifiziert und weiterleitet.
    • Dieser Ansatz ist besser web-skalierbar, erfordert aber, dass du einen öffentlichen Endpunkt bereitstellst.
  • Pull-basiert: Dein Code ruft die neuesten Tickets basierend auf einem festgelegten Zeitplan ab und leitet sie zum Abrufzeitpunkt weiter.
    • Dieser Ansatz ist einfacher zu implementieren, könnte aber unnötige Aufrufe an das Support-Ticket-System verursachen, wenn die Abruffrequenz zu hoch ist, oder zu langsam sein, wenn die Abruffrequenz zu niedrig ist.

Für beide Ansätze musst du dein Skript in einen Service einbetten. Die Wahl des Ansatzes hängt davon ab, welche APIs dein Support-Ticketing-System bereitstellt.



Klassifizierungs-Cookbook


Besuche unser Klassifizierungs-Cookbook für weiteren Beispielcode und detaillierte Evaluierungsanleitungen.


Claude Console

Beginne mit dem Erstellen und Evaluieren deines Workflows in der Claude Console.

Was this page helpful?

  • Entscheide, ob du Claude für das Ticket-Routing verwenden solltest
  • Erstelle und implementiere deinen LLM-Support-Workflow
  • Verstehe deinen aktuellen Support-Ansatz
  • Definiere Kategorien für Nutzerabsichten
  • Lege Erfolgskriterien fest
  • Wähle das richtige Claude-Modell
  • Erstelle einen starken Prompt
  • Setze deinen Prompt ein
  • Evaluiere deinen Prompt
  • Erstelle eine Evaluierungsfunktion
  • Führe deine Evaluierung durch
  • Verbessere die Leistung
  • Verwende eine taxonomische Hierarchie für Fälle mit 20+ Absichtskategorien
  • Verwende Vektordatenbanken und Ähnlichkeitssuche, um stark variierende Tickets zu verarbeiten
  • Berücksichtige erwartete Grenzfälle gezielt
  • Integriere Claude in deinen übergeordneten Support-Workflow