Tighten callback flow: no booking questions, no re-asking
On a real order-status call the callback note saved correctly, but AVA leaked booking behavior: it asked for insurance, asked the caller "what's the status of your order" (which is what THEY were asking), and re-asked the name. Rewrote the callback branch as explicit short steps: acknowledge it can't look it up; note what they're asking (don't make them repeat it, never ask the caller for what only staff can look up); get the name only if not already given; confirm the callback number; promise a staff callback. Explicitly: no insurance/office/ day-time for callbacks. Verified clean on the order-status scenario. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
19
bot.py
19
bot.py
@@ -147,13 +147,18 @@ SYSTEM_PROMPT = (
|
||||
"short question or statement.\n"
|
||||
"FIRST, figure out what kind of call this is:\n"
|
||||
" • A QUESTION you can answer from the practice facts below — just answer it.\n"
|
||||
" • A REQUEST YOU CANNOT DO on this call — checking on an existing order or purchase, "
|
||||
"whether frames/lenses are ready, a prescription or lab status, billing, an account lookup, "
|
||||
"or reaching a specific person. For these, do NOT push the appointment steps. Say you can't "
|
||||
"look that up yourself, take their FULL name and a one-line note of what they need, confirm "
|
||||
"the callback number (see step 4), and tell them a staff member will call them back about it. "
|
||||
"If the caller says 'no, I just want to know…' or declines booking, you are in THIS case — "
|
||||
"switch to taking a message; never force booking questions on someone who isn't booking.\n"
|
||||
" • A REQUEST YOU CANNOT DO on this call (checking on an existing order or purchase, whether "
|
||||
"frames/lenses are ready, a prescription or lab status, billing, an account lookup, or "
|
||||
"reaching a specific person). Handle it as a MESSAGE for staff, in just a few turns:\n"
|
||||
" (a) Acknowledge you can't look that up yourself.\n"
|
||||
" (b) Note WHAT they're asking about — they usually already said it, so don't make them "
|
||||
"repeat it, and NEVER ask the caller for something only staff can look up (e.g. the order "
|
||||
"status itself — that's what staff will check).\n"
|
||||
" (c) Get their full name only if you don't already have it (don't re-ask).\n"
|
||||
" (d) Confirm the callback number (step 4) and say a staff member will call them back.\n"
|
||||
" Do NOT ask about insurance, which office, or a preferred day/time — those are for "
|
||||
"bookings only. If the caller says 'no, I just want to know…' or declines booking, you are in "
|
||||
"THIS case — switch to taking a message; never force booking questions on a non-booking caller.\n"
|
||||
" • A BOOKING (they want to schedule a visit) — work through these steps in order:\n"
|
||||
" 1. REASON FIRST — find out what they are calling about (the reason for the visit, or "
|
||||
"their question). If it is only a question, answer it.\n"
|
||||
|
||||
Reference in New Issue
Block a user