Tabbit
ResourcesBlogModels
Tabbit LogoTabbit

Tabbit — The AI Browser that Works for You

Topics

  • AI Browser Resources
  • Agentic Browser Resources
  • Browser Downloads and Install Guides
  • Browser Comparisons
  • AI Browser Alternatives
  • Browser Productivity Resources

Popular Guides

  • AI Browser
  • Agentic Browser Download
  • Best AI Browser 2026: Top 9 Tested & Ranked
  • AI Browser Download
  • Free AI Browser
  • Best AI Browser 2026
  • AI Browser Comparison 2026
  • AI Browser for Windows
  • AI Browser for Mac
  • Chrome Alternative 2026

Events

  • Tabbit Skill Competition
  • KPOP SBTI Fandom Personality Test
  • Tabbit Campus Creator Program
  • fifi's Picks: AI Skills for Research Papers
  • User Survey

About

  • Tabbit Blog
  • Press & Media
English
简体中文English
Prompt guide
MediaClaude Haiku 5.5

Claude Haiku 5.5 Customer Support Ticket Routing Prompt

Original source

Anthropic Claude Platform Docs

AuthorAnthropic

Tabbit curation1970-01-01

Read original

One-sentence takeaway

Anthropic provides a Claude Haiku 5.5 low-effort customer-support ticket classification prompt with few-shot examples and XML tag constraints. It assigns each ticket a single intent and extracts the reasoning and intent separately for downstream routing.

Use cases

  • Suitable tasks: Customer-support ticket intent classification as the first step in priority or specialist routing. The source emphasizes simple, high-volume requests; a limited taxonomy and interpretable analysis are practical deployment recommendations in this record.

  • Not suitable for: Requests with many categories, deep domain knowledge, or complex reasoning. Avoid replacing complete SLA decisions, permission checks, or high-risk human escalation directly; those are practical safeguards added in this record. Replace the three example labels with the business's taxonomy and evaluate against historical tickets.

  • Applicable model versions: Claude Haiku 5.5, model ID claude-haiku-5-5.

  • Applicable clients, agents, or APIs: Claude Messages API and Python SDK; the input is injected into the <request> tag with a Python f-string, and the output is extracted with regular expressions.

  • Recommended reasoning tier and parameters: output_config={"effort": "low"}, max_tokens=2048, and stream=False. Anthropic explicitly says this prompt is written for Haiku 5.5 at low effort; for Fable 5.1, Fable 5, Opus 5.5, Opus 5, or Sonnet 5.5, the page recommends asking for the intent and a one-sentence summary instead.

Ready-to-use content

The complete prompt from the Anthropic page is preserved below. The page itself abbreviates Examples 3 through 8 with ...; replace those with real labeled examples before use rather than treating the ellipsis as a usable example.

def classify_support_request(ticket_contents):
    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.
        """

Deployment configuration and parsing

The Anthropic page gives the following Haiku 5.5 call configuration. It requires the model to generate complete reasoning and an intent before parsing, so it uses stream=False. The wrapper below combines the page's call and parsing snippets into a runnable example.

import anthropic
import re

client = anthropic.Anthropic()
DEFAULT_MODEL = "claude-haiku-5-5"

def send_and_parse(classification_prompt):
    message = client.messages.create(
        model=DEFAULT_MODEL,
        max_tokens=2048,
        output_config={"effort": "low"},
        messages=[{"role": "user", "content": classification_prompt}],
        stream=False,
    )

    reasoning_and_intent = next(
        (block.text for block in message.content if block.type == "text"), ""
    )

    reasoning_match = re.search(
        r"<reasoning>(.*?)</reasoning>", reasoning_and_intent, re.DOTALL
    )
    reasoning = reasoning_match.group(1).strip() if reasoning_match else ""

    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

Usage steps

  1. Define mutually exclusive intents based on historical tickets, existing SLAs, support tiers, and specialist teams. The three example labels are illustrative only.

  2. Fill Examples 3 through 8 with real labeled examples, with exactly one gold intent for each sample.

  3. Pass the ticket body as ticket_contents and preserve the <request> boundary; do not concatenate untrusted ticket text directly into the system prompt.

  4. Run with claude-haiku-5-5, effort=low, and max_tokens=2048, then parse <reasoning> and <intent>.

  5. Evaluate accuracy, cost per ticket, response time, rerouting rate, and boundary cases. The page's example thresholds are 95% accuracy across 100 tests and a 50% average cost reduction relative to the existing routing method.

  6. When there are more than about 20 categories, Anthropic recommends a taxonomy tree and cascading classifiers. For fast-changing tickets, retrieve similar examples from a vector database and inject the relevant examples into the prompt.

Notes

  • The original prompt requires reasoning in the output. Whether a production system stores or displays that reasoning should be decided separately based on privacy, compliance, and audit requirements; the routing logic can use only the intent.

  • The page does not provide a fixed accuracy rate for this prompt. “71% to 93%” describes the page's vector-retrieval classification recipe, not a guarantee for this prompt across all tickets.

  • Low effort is the example configuration the page gives for Haiku 5.5. If classification requires many categories, specialist judgment, or complex multi-intent handling, compare higher effort or Sonnet rather than only increasing max_tokens.

  • Regex parse failures, multiple intents, unknown categories, and safety refusals all require explicit client-side handling; do not route an empty string to a queue by default.

Original evidence and limits

  • The page explicitly says Claude Haiku 5.5 is suitable for simple, high-volume requests at low effort and provides claude-haiku-5-5, effort=low, and the complete classification prompt.

  • The page does not publish a formal test set, real ticket samples, repeat count, or confidence interval for this example prompt. The example thresholds are deployment evaluation guidance, not model benchmark results.

  • The prompt's labels, examples, and routing rules must be replaced with the business's own definitions. Reusing Support / Order Tracking / Refund/Exchange directly can mismatch the labels with the business's queues.

Curated by Tabbit

Prompt material is summarized from public sources and Tabbit editorial notes. Check the original licensing and intended use before copying it.

Claude Haiku 5.5

Use in Tabbit

Claude Haiku 5.5

Related prompts

MediaAnthropic Claude Platform Docs

Claude Haiku 5.5 Migration Configuration: Switching from Haiku 4.5 to the New API Parameters and Tool Set

MediaAnthropic Claude Platform Docs

Claude Haiku 5.5 Official Prompting Guide: Effort, Search, and Agent Reliability

CommunityReddit r/ClaudeCode

Reddit Configuration Report: Switching Search Subagents to Haiku 5.5 in Claude Code

MediaAnthropic Claude Platform Docs2026-10-07

Claude Haiku 5.5 Official Model Overview: Model IDs, Capacity, Pricing, and Effort Configuration Baseline

Claude Haiku 5.5

Related reviews

MediaAnthropic2026-10-07

Claude Haiku 5.5 Official Benchmarks: Cost and Capability Positioning for High-Throughput Tasks

MediaArtificial Analysis2026-10-07

Artificial Analysis: Independent Evaluation of Claude Haiku 5.5 on the Intelligence Index and Agent Tasks

CommunityReddit / r/ClaudeCode2026-10-08

Reddit Claude Code Small-Sample Coding-Agent Comparison: Is Haiku 5.5 Medium Good Enough as the Main Model?

CommunityReddit r/ClaudeAI

Reddit User's Claude Code Experience: Haiku 5.5 Context Growth and the 100k Threshold