Development of AI Chatbot for Customer Support
AI chatbot for support — not just FAQ auto-responder. It's a system capable of solving real customer problems: change order, process return, explain tariffs, diagnose issue. The difference between "answers questions" and "solves problems" lies in integration with internal systems.
Production Chatbot Architecture
[Customer] → [Omnichannel Interface]
→ [NLP Engine: Intent + Entity]
→ [Dialog Manager]
├── RAG: answers from knowledge base
├── Action Engine: integrations with CRM/ERP
└── Escalation: handoff to operator
→ [Response Generator]
→ [Analytics & Logging]
Core: Intent Classification and Slot Filling
Classic architecture (Rasa, Dialogflow) separates intent (what customer wants) and slots (query parameters):
- Intent:
change_delivery_address - Slots:
order_id=12345,new_address="Lenin St., 1"
Modern approach — LLM with function calling: intent and parameters extracted in one call, without separate intent/slot stages.
tools = [
{
"name": "check_order_status",
"description": "Check order status by number",
"parameters": {"order_id": {"type": "string"}}
},
{
"name": "initiate_return",
"description": "Process product return",
"parameters": {
"order_id": {"type": "string"},
"reason": {"type": "string"}
}
}
]
Integration with Internal Systems
Bot value lies in actions, not just answers. Minimal integration set:
- CRM (1C-Bitrix, AmoCRM, Salesforce): customer history, current orders
- Logistics: real-time delivery status
- Billing: debt, payment history
- Catalog: item availability, specifications
Each action goes through authorization: bot can check anyone's status, but change only own (verification via phone number or SMS code).
Dialog Management and Memory
LLM bot stores dialog history in context (sliding window: last 10–20 messages). Persistent memory (between sessions): customer profile, previous requests, known preferences — stored in Redis or DB, added to system prompt.
Escalation to Operator
Triggers for handoff to human:
- Customer explicitly asks for operator
- Sentiment became very negative (frustrated customer detection)
- Bot couldn't solve task in 3 attempts
- VIP customer (by CRM flag)
- Topic: legal claims, threats
During escalation, operator gets full dialog context — no need to ask customer to repeat.
Metrics and Quality
- Containment rate: % of requests resolved without operator. Target: 50–70%
- CSAT (bot): customer rating after dialog. Target: > 4.0/5.0
- Resolution rate: % of requests where problem actually resolved
- Escalation rate: too high → weak bot; too low → suspicious
Development Timeline
- MVP (FAQ + order status): 4–6 weeks
- Full-featured bot with integrations: 3–4 months
- Omnichannel with analytics: 5–6 months







