Business Pain Point: One Model Can't Handle Everything
A friend's e-commerce team has six customer service reps working three shifts, handling over 2,000 inquiries a day. They previously deployed a customer service bot, but problems surfaced within a month: they chose a top-tier model for accuracy, and costs were outrageous; when they switched to a cheaper model, replies to complex after-sales issues often required manual rework. The time customer service actually saved each day was limited, and they had to spend extra time correcting the bot's wrong answers—on balance, efficiency was negative.
Looking at the inquiry logs (these are their own anonymized statistics, not industry data), the distribution of questions is actually very uneven:
- About 70% are standardized questions: tracking shipments, asking about sizes, return/exchange policies;
- About 25% are semi-structured questions: order anomalies, coupons not arriving—these require calling an API and then composing a response;
- About 5% are complex disputes: emotionally charged customers, multi-party liability determination—these must be handled by humans.
Using one model for everything means you're using your most expensive capability to handle the simplest questions, and insufficient capability for the hardest ones. The solution isn't to switch to a stronger model—it's division of labor.
Architecture Design: Tiered Routing by Question Complexity
The core idea is a three-tier funnel—the further down, the more expensive and the less frequently triggered:
User message
│
▼
[Tier 1] Lightweight classification model (small parameter count, ~1/50 the cost of a flagship model)
├── Standard question → FAQ retrieval + template-generated reply (Target: <3s, zero human involvement)
├── Data lookup needed → Call order/logistics API + mid-tier model generation (Target: <8s)
└── Complex/emotional → Escalate directly to human, AI only does pre-processing summaryThere's one key decision here: all model calls go through a single unified AI API gateway, rather than integrating each vendor's SDK separately in the code. Why does this step save on maintenance costs?
- You only maintain one set of authentication, retry, and timeout logic. Three models mean three SDKs, each with its own release cadence and pitfalls. Once consolidated behind the gateway, the application side faces only a single HTTP interface, and switching models has zero impact on business code.
- Monitoring and billing have a single point of egress. How many tokens each category consumes, which stage exceeds latency thresholds—the gateway logs make it all clear at a glance, without toggling between three vendors' dashboards to reconcile accounts.
- Switching models becomes a one-line config change. If load testing before a big sale finds a model queuing, switching to a backup model only requires changing the gateway's routing rules—no deployment needed.
Key Implementation Steps
The two-week schedule was roughly split like this (with one full-stack dev + one part-time dev):
Days 1-2: Data assessment. Export the past month's inquiry logs, manually label 1,000 samples, and derive the tiered distribution above. Don't skip this step—the routing thresholds depend entirely on it.
Days 3-5: Gateway setup and classifier training. Connect the unified gateway, first run few-shot tests with a small number of samples to check classification accuracy, and add more samples if it's below 90%. Store the classification prompt as hot-updatable configuration.
Days 6-9: Implement the three pipelines. The core code skeleton looks roughly like this:
async def handle_message(msg):
intent = await gateway.chat(
model="light-classifier",
messages=[classify_prompt(msg)],
max_tokens=20
)
if intent == "faq":
doc = faq_search(msg)
return template_render(doc) # No large model call, output template directly
elif intent == "order":
data = await fetch_order_api(msg.user_id)
return await gateway.chat(
model="mid-tier",
messages=[compose(msg, data)]
)
else:
summary = await gateway.chat(
model="mid-tier",
messages=[summarize_for_agent(msg)]
)
return escalate_to_human(summary) # Escalate to human with AI-generated summaryDays 10-12: Grayscale rollout. Launch the FAQ tier only first, log all AI replies, and have humans spot-check for two days. After confirming everything is fine, open up the order tier, while complex scenarios always escalate to humans.
Days 13-14: Load testing and fallback planning. Drills for gateway rate limiting and backup model switching under peak promotional traffic.
Efficiency Comparison: Let the Numbers Speak
Two weeks after launch (their own before/after comparison, for reference only):
| Metric | Before | After |
|---|---|---|
| First response time | 90 seconds on average | ~30 seconds |
| Daily manual workload per rep | ~350 tickets | ~120 tickets, concentrated on complex issues |
| Model cost per inquiry | Everything routed to flagship model | ~1/6 of the original after hybrid routing |
| Night-shift staffing | 2 people | 1 person on duty |
The real benefit isn't just speed: customer service work shifted from "copy-pasting templates" to "handling things that genuinely require judgment." This kind of value is hard to convert directly into money, but the turnover rate will tell you the answer.
Three Pitfall Warnings
- Be conservative with the classifier. The experience damage from misclassification far exceeds the cost of spending a few extra tokens—default ambiguous cases to the higher tier.
- Avoid using a model on the FAQ tier if you can. Retrieval plus template responses is millisecond-fast and also has the highest accuracy—don't call a model just for the sake of "using AI."
- Always generate summaries when escalating to humans. Having AI first organize the issue, order number, and customer demands saves reps one to two minutes of context-confirmation time per ticket on average.
If you also want to quickly build a multi-model collaboration pipeline like this, I recommend starting with a unified gateway—register an account and you can consolidate calls to mainstream models through a single entry point, with routing, billing, and monitoring all in one place: https://api.thistoken.ai/register
---
Ready to try it yourself? Sign up at https://api.thistoken.ai/register to get your API key and start building.
Хотите попробовать Token.AI?
Создайте API Key уровня проекта, включите каналы в консоли и настройте маршрутизацию, бюджеты и журналы аудита.
注册 ThisToken.AI 并获取 API Key