Human Handoff คือกระบวนการที่ Chatbot ส่งความรับผิดชอบการสนทนาหรือคำขอไปให้เจ้าหน้าที่จริง เมื่อระบบไม่สามารถให้คำตอบที่มีหลักฐาน หรือเรื่องนั้นต้องการการตัดสินใจของคน เช่น การร้องเรียน การขอคืนเงิน หรือการประเมินราคาที่ต้องดูเงื่อนไขเฉพาะราย
สิ่งที่ทำให้ Handoff ใช้งานได้ไม่ใช่เพียงการแสดงปุ่ม “คุยกับเจ้าหน้าที่” แต่คือ มีเจ้าของเคส มีสถานะ และมีวิธีติดตามผล โดยไม่ปล่อยให้ Bot ตอบทับคนหรือกล่าวอ้างว่ามีคนรับเรื่องแล้วทั้งที่ยังไม่ได้สร้าง Ticket
หน้านี้เน้นการจัดคิว บริบท และขั้นตอนบริการ ไม่ใช่คู่มือเชื่อม API ของทุกช่องทาง หากต้องเชื่อม Lead กับฝ่ายขายอ่าน Chatbot CRM Integration และหากต้องเลือกเครื่องมืออ่าน Chatbot Architecture
เมื่อไร Chatbot ควรส่งต่อเจ้าหน้าที่
การส่งต่อเกิดได้จากทั้ง ความต้องการผู้ใช้ และ ข้อจำกัดระบบ ไม่ควรรอให้ Bot ตอบผิดหลายครั้งจนผู้ใช้หมดความอดทน
ตัวอย่าง Trigger ที่ควรกำหนดล่วงหน้า:
| สถานการณ์ | เหตุผลที่ควรส่งต่อ | ข้อมูลประกอบขั้นต่ำ |
|---|---|---|
| ผู้ใช้ขอ “คุยกับคน” | เคารพความต้องการของผู้ใช้ | ช่องทางและหัวข้อที่สนทนา |
| ค้นเอกสารไม่พบหรือข้อมูลขัดกัน | AI ไม่มีหลักฐานตอบที่แน่นอน | คำถามและเอกสารที่เกี่ยวข้องเท่าที่เปิดเผยได้ |
| คำร้องเรียนหรือขอคืนเงิน | ต้องพิจารณานโยบาย/อำนาจอนุมัติ | ประเด็นและ Reference ที่ยืนยันแล้ว |
| API/CRM ล่ม | Bot ไม่ยืนยันสถานะธุรกรรมได้ | Error Type/Request ID ที่ปลอดภัย |
| ต้องเปิดข้อมูลส่วนตัวหรือเปลี่ยนข้อมูล | ต้องตรวจสิทธิ์และอาจต้องอนุมัติ | ยืนยันตัวตนก่อนเข้าถึงข้อมูลจริง |
| Bot ถามกลับหลายรอบแล้วยังไม่เข้าใจ | ป้องกันการวนลูป | สรุปคำถามที่ยังค้าง |
ตัวอย่างเป็น แนวทางออกแบบ ไม่ใช่ผลการทำงานของศูนย์บริการหรือสถิติว่าลูกค้าส่วนใหญ่ต้องการแบบใด
Handoff ต้องส่งบริบทอะไรให้เจ้าหน้าที่
ข้อมูลที่ช่วยให้เจ้าหน้าที่ไม่ต้องถามซ้ำคือหัวข้อที่ผู้ใช้พยายามแก้ สิ่งที่ Bot ตอบไปแล้ว ข้อมูลใดตรวจจากระบบจริงและข้อมูลใดเป็นเพียงข้อสันนิษฐาน รวมถึงความเร่งด่วนที่เกิดจากกติกาธุรกิจ
แทนการส่ง Transcript ทุกข้อความไปทุกทีม สามารถสร้าง Handoff Summary แบบจำกัดข้อมูล โดยแยก Fields เป็น issue_type, conversation_ref, verified_account_ref, attempted_steps, unresolved_question, priority และ reason_for_handoff
ต้องระบุให้ชัดว่าข้อความสรุปจาก LLM เป็น Draft Summary ไม่ใช่ข้อเท็จจริงที่ยืนยันแล้ว เช่น Bot อาจสรุปว่า “ผู้ใช้ยืนยันเปลี่ยนที่อยู่” ทั้งที่ผู้ใช้เพียงถามเงื่อนไข ทีมบริการควรเห็น Source และตรวจข้อมูลสำคัญกับระบบก่อนทำรายการ
อ่านต่อ Conversation Memory เพื่อแยกข้อมูลชั่วคราวจากประวัติที่ควรเก็บข้าม Session
สร้าง Ticket และกำหนด Owner อย่างไร
ตัวอย่าง Handoff Flow สำหรับบริษัทบริการ:
Chatbot receives question
|
v
Decision: can answer from approved evidence?
/ \
yes no / human requested
| |
Answer + cite Create case draft
|
Validate context
|
Ticket API / queue
|
Owner + status
|
Confirm outcome to user
การสร้าง Ticket Draft ไม่ใช่การรับเรื่องสำเร็จ ควรอาศัยผลจาก Ticket API หรือ Queue ที่จัดเก็บสำเร็จจริงก่อนแจ้ง “เราได้รับเรื่องแล้ว” และระบุ Reference ให้ติดตามได้ในกรณีที่ระบบรองรับ
หาก API ล้มเหลว ต้องไม่สร้างหมายเลข Ticket ปลอม ให้แจ้งว่ายังส่งต่อไม่สำเร็จและแนะนำช่องทางอื่นที่ทีมสามารถรับเรื่องได้จริง
บอทควรหยุดตอบเมื่อมนุษย์รับช่วงต่อหรือไม่
ถ้า Bot และเจ้าหน้าที่ตอบพร้อมกัน อาจเกิดคำแนะนำขัดกัน โดยเฉพาะกรณีมีข้อมูลการเงิน การเปลี่ยนคำสั่งซื้อ หรือการร้องเรียน จึงควรมี Conversation Ownership State ที่ทำให้เห็นว่าใครเป็นผู้รับผิดชอบขณะนั้น
ตัวอย่าง State Machine เชิงแนวคิด:
| สถานะ | ผู้รับผิดชอบ | สิ่งที่ทำได้ |
|---|---|---|
BOT_ACTIVE |
Chatbot | ตอบ FAQ ที่ได้รับอนุญาต |
HANDOFF_REQUESTED |
Queue | หยุด Tool ที่มี Side Effect รอสร้าง Ticket |
QUEUED |
ทีมบริการ | ผู้ใช้ได้รับ Reference เมื่อมีหลักฐาน |
HUMAN_ACTIVE |
เจ้าหน้าที่ | เจ้าหน้าที่ตอบและอัปเดต Ticket |
RESOLVED |
ระบบ Ticket/เจ้าหน้าที่ | บันทึกผลและปิดเรื่อง |
BOT_RESUMED |
Chatbot | กลับมาตอบเมื่อมีกฎอนุญาต |
ตัวอย่าง State เหล่านี้เป็น Design Proposal ไม่ใช่ชื่อสถานะมาตรฐานของ n8n, LINE OA หรือ Meta และการ Pause/Resume ต้องดู API/ความสามารถของ Channel ที่ใช้งานจริง
จัดคิวและ SLA ให้ตรงกับทีมจริง
หากทีมบริการเปิดทำงานเฉพาะวันจันทร์–ศุกร์ คำว่า “ส่งเรื่องให้เจ้าหน้าที่แล้ว” ไม่ได้แปลว่า “มีคนออนไลน์ทันที” จึงควรสื่อสารเวลาทำการและเวลาคาดหมายจาก ข้อตกลงบริการจริง ไม่ใช้ข้อความสำเร็จรูปว่าตอบภายในห้านาทีหากไม่มีผู้รับผิดชอบรองรับ
Priority ที่กำหนดอาจดูผลกระทบของปัญหา ลักษณะลูกค้าและความปลอดภัยของระบบ แต่ไม่ควรให้ LLM เพียงตัวเดียวตัดสินความเร่งด่วนของเหตุการณ์สำคัญโดยไม่มี Rule หรือ Human Review
กำหนดการแจ้งเตือนเมื่อ Ticket ไม่มี Owner, ค้างเกินเวลาที่ทีมกำหนด หรือ Assigned แล้วไม่มีการตอบ ตรวจว่าคิวของคนลางานหรือย้ายทีมยังสามารถโอนงานได้โดยไม่ต้องค้นแชตส่วนตัว
ตัวอย่างคำขอคืนเงินที่ควรส่งต่อ
สถานการณ์จำลอง: ผู้ใช้พิมพ์ว่า “สินค้าที่ซื้อมีปัญหา อยากขอคืนเงิน” Bot อ่านนโยบายทั่วไปจากแหล่งที่ได้รับอนุมัติ และแจ้งขั้นตอนให้ผู้ใช้ตรวจสิทธิ์กับฝ่ายบริการ หากมีข้อยกเว้นหรือข้อมูล Order ส่วนตัว ต้องให้เจ้าหน้าที่ตรวจ ไม่ควรอนุมัติคืนเงินหรือลดราคาผ่าน Prompt
Bot อาจถามว่าต้องการติดต่อทางช่องทางใด หลังได้รับข้อมูลขั้นต่ำที่เหมาะสมให้สร้าง Ticket พร้อมเหตุผล “refund exception review” โดยผูก Order Reference ที่ตรวจสิทธิ์แล้ว เมื่อ Ticket API ยืนยันบันทึก Bot จึงตอบว่าได้รับคำขอพร้อมหมายเลขติดตาม ถ้า API ล่มให้บอกว่าการส่งเรื่องยังไม่สำเร็จแทนการเดา
ข้อมูลทั้งหมดนี้เป็น Use Case จำลอง ไม่ใช่กระบวนการคืนเงินจริงของ Prai.io หรือของผู้ให้บริการรายใด
การส่งต่อข้าม LINE, Messenger และเว็บไซต์
แต่ละ Channel มีวิธีรับและตอบข้อความต่างกัน เช่น LINE OA ใช้ Messaging API กับ Webhook Event และต้องตรวจ Signature จาก Raw Body ตาม LINE Developers ส่วน Messenger ต้องตรวจนโยบายส่งข้อความและสิทธิ์ตามเอกสาร Meta ปัจจุบันก่อนนำไปใช้งานจริง
อย่าคิดว่า Bot จะหยุดส่งข้อความได้ในทุก Platform ด้วย Toggle เดียว นักพัฒนาควรกำหนด State ที่ Backend ของบริษัทควบคุมได้ แล้วให้ Channel Adapter ใช้กติกานั้นก่อนตัดสินใจส่งข้อความ/เรียก Tool
หาก Integration ที่ใช้อยู่อาจตอบอัตโนมัติของผู้ให้บริการเองด้วย ต้องประเมินการปิด/เปิด Automation ซ้ำเพื่อไม่ให้ผู้ใช้ได้รับข้อความขัดกัน
อ่าน Facebook Messenger Chatbot สำหรับข้อควรตรวจเรื่อง Page/App/Webhook และ LINE OA Chatbot สำหรับตัวอย่าง Channel ที่มีเอกสารรองรับ
ปิดเคสแล้วปรับปรุงความรู้ของ Bot อย่างไร
หลังจบเคส ทีมอาจบันทึกว่าคำถามใดเกิดบ่อย ข้อมูลตอบผิดเพราะเอกสารเก่า หรือเส้นทาง Bot วนลูปไม่จบ แล้วส่งข้อมูลสรุปที่ตัดข้อมูลส่วนตัวไปให้เจ้าของ Knowledge Base แก้ไข
แต่ อย่านำ Transcript ของผู้ใช้ไปฝึกหรือทำ Knowledge Base ใหม่อัตโนมัติ โดยไม่มีวัตถุประสงค์/สิทธิ์ที่เหมาะสม เจ้าของเอกสารควรตรวจเนื้อหาก่อน Publish และทดสอบ Regression กับคำถามที่เคยล้มเหลว
ตัวชี้วัดที่วัดได้โดยไม่แต่งผล ได้แก่ จำนวน Ticket ที่มี Owner, เวลาเข้าคิวก่อนรับจริง, อัตรา Bot ต้องส่งต่อ, เคสที่ Ticket ถูกปิดด้วยหลักฐาน และจำนวนครั้งที่ผู้ใช้ต้องเล่าเรื่องเดิมซ้ำ โดยต้องตั้งนิยามและ Baseline จากระบบจริงก่อนรายงานตัวเลข อ่านวิธีแยก Resolution จาก Escalation และต้นทุนต่อเคสใน Chatbot KPI
Checklist ทดสอบ Handoff ก่อน Production
- ผู้ใช้ขอคุยคน ระบบหยุด Auto Reply ตาม State จริงได้
- ไม่มี Owner ในช่วงนอกเวลางาน ผู้ใช้เห็นคำตอบตามเวลาบริการจริง
- Ticket API Timeout ระบบไม่สร้าง Reference ปลอม
- ข้อความเดิมส่งซ้ำแล้วไม่สร้าง Ticket ซ้ำ
- Handoff Summary ไม่ผสมข้อมูลคนละ Session
- เจ้าหน้าที่เห็นเฉพาะเคสที่ได้รับสิทธิ์
- เมื่อคนปิดเคส Bot กลับมาทำงานตามกฎที่กำหนด ไม่เริ่มเองโดยไม่มีสิทธิ์
- ทีมดูรายงาน Ticket ค้างและ Feedback ของผู้ใช้ได้โดยไม่เก็บข้อมูลเกินจำเป็น
คำถามที่พบบ่อย
Human Handoff จำเป็นต้องมี AI Agent ไหม
ไม่จำเป็น แม้ Rule-based Bot ก็ส่งต่อเจ้าหน้าที่ได้เมื่อไม่พบคำตอบหรือผู้ใช้ต้องการคน โดยมี Queue/Ticket ที่เชื่อถือได้
Bot บอกว่ามีคนตอบ 24 ชั่วโมงได้ไหม
บอกได้เฉพาะเมื่อมีทีมและระบบรองรับจริง การมี Bot ออนไลน์ไม่เท่ากับเจ้าหน้าที่พร้อมตอบตลอดเวลา
ถ้าส่ง Ticket สำเร็จแต่เจ้าหน้าที่ยังไม่เปิด ต้องตอบผู้ใช้อย่างไร
แจ้งว่า “ได้รับเรื่องเข้าสู่คิวแล้ว” ตามผลจริง และระบุช่องทางติดตามหรือเวลาทำการที่ยืนยันได้ ไม่อ้างว่าคนกำลังตอบหากยังไม่เริ่ม
แหล่งอ้างอิง
- LINE Developers — Receiving messages
- LINE Developers — Webhook signature
- n8n Docs — Chat Trigger
- OpenAI Developers — Function calling
- OWASP GenAI — LLM Top 10 2026
ตรวจหลักการ: 2 พฤศจิกายน 2026; ไม่มีการอ้างว่ามีเจ้าหน้าที่พร้อม 24 ชั่วโมงหรือระบบ Ticket Production ของ Prai.io ตามตัวอย่าง
เลือกหัวข้อที่เกี่ยวข้องเพื่อทำความเข้าใจแนวคิดและข้อจำกัดก่อนนำไปใช้จริง
ดูบทความหมวดเทคโนโลยี ↗