Back to the list
edu.rentaicoder.com
EDU ChatBot
Multi-channel admissions advisor that knows when to step aside
Customers message on Zalo, Facebook and the web, often the same person on all three. The bot advises on courses, books trial classes and records payments — but the hard part is not answering, it is knowing when to stop answering.
Visit product— EDU ChatBot (opens in a new tab)
- .NET 10
- EF Core
- A.D.D V3
- LLM tool-calling
§ 01 — Algorithm
# Từ khoá lưu ở dạng ĐÃ CHUẨN HOÁ (bỏ dấu, viết thường);
# tin nhắn cũng được chuẩn hoá trước khi so
# → "nhân viên" ≡ "nhan vien" ≡ "NHÂN VIÊN"
should_trigger(session, msg):
session.status ∈ {PendingHandover, HandedOver} → false
msg ∋ ["nhan vien","tu van vien","nguoi that",
"ho tro truc tiep","gap nhan vien"] → true
msg ∋ ["buc","tuc","chan","khong hieu",
"vo ich","te","do","that vong"] → true
session.consecutive_misunderstandings ≥ 3 → true
otherwise → false
on_trigger:
status ← PendingHandover
notify(staff, summary = last 10 messages,
danh tính mọi kênh: ZaloId, FacebookId, WebId)
# lỗi gửi thông báo bị nuốt + log warning — không chặn luồng chat§ 02 — Highlights
- Three explicit escalation conditions: direct request, negative sentiment, three consecutive misunderstandings
- Matching on diacritic-stripped lowercase text — fits how Vietnamese is really typed
- Unifies one person's identity across Zalo, Facebook and web
- LLM calls functions to look up courses instead of answering from memory
- Handover carries a ten-message summary and every channel ID
- A failed notification is swallowed and logged — it never blocks the chat
§ 03 — Screens

