AI workflow / support

เดโมออนไลน์แบบ mock / ต้องมีคนตรวจคำตอบ

Customer Support RAG Triage Agent

AI ตอบได้ แต่เราจะรู้ได้ยังไงว่ามันตอบจากข้อมูลที่หาเจอจริง ๆ?

ผมลองทำ workflow ช่วยคัดแยกเคสซัพพอร์ตที่เปิดให้ดูได้ทั้งเคสที่ค้นเจอ คำตอบที่ร่างขึ้น และจุดที่ควรให้คนเข้ามาดูต่อ

หน้าผลลัพธ์การคัดแยก ticket พร้อมเคสที่ค้นเจอและคำแนะนำให้คนตรวจ
หลักฐานหลักหน้าจอผลลัพธ์ที่ทำให้คำตอบ เคสที่ค้นเจอ และ action ถัดไปอยู่ในภาพเดียวกัน

AI workflow / support

มันเริ่มจากคำถามนี้

แชตบอตที่ตอบได้เร็วมีเยอะแล้ว สิ่งที่ผมอยากเห็นมากกว่าคือเวลามันตอบ เราเปิดย้อนกลับไปดูได้ไหมว่ามันเจอเคสอะไร ใช้ข้อมูลตรงไหน และสุดท้ายควรให้คนทำอะไรต่อ

เลยลองต่อ workflow ให้เห็นทีละจุด

  • แยกข้อความให้เป็น intent กับความเร่งด่วนก่อน ไม่ปล่อยให้การค้นหาและการร่างคำตอบทำทุกอย่างในก้อนเดียว
  • ค้นเคสที่ใกล้กันจาก Qdrant แล้วส่งทั้งเคสที่ค้นเจอและสถานะการค้นหาไปต่อในกราฟ
  • ให้ grounding check และ next action เป็นขั้นตอนแยก เพื่อให้ผลที่ไม่มีหลักฐานไหลไปเป็น manual review ได้

ภาพรวมข้างใน

  1. 1

    ข้อความ → normalize → intent / urgency

  2. 2

    ค้นเคสที่คล้ายกันด้วย Qdrant และ local embeddings

  3. 3

    ร่างคำตอบ → ตรวจ grounding → แนะนำ action ให้คนตรวจ

ตรงที่ต้องระวังมากกว่าที่คิด

grounding check ที่ผ่านไม่ได้แปลว่าคำตอบถูกตามนโยบายบริษัท มันบอกได้แค่ว่าในเดโมมีหลักฐานให้ตรวจและ workflow ไม่ได้ข้ามขั้นตอนนี้ไป ความต่างนี้เลยต้องเขียนไว้ข้างหน้า ไม่ใช่ซ่อนไว้ใน README

หน้าผลลัพธ์การคัดแยก ticket พร้อมเคสที่ค้นเจอและคำแนะนำให้คนตรวจ
หน้าจอผลลัพธ์ที่ทำให้คำตอบ เคสที่ค้นเจอ และ action ถัดไปอยู่ในภาพเดียวกัน

ผลที่ออกมา

workflow มี 7 nodes และเดโมเตรียมเคส Banking77-derived ไว้ 27 records สำหรับการ review รายงานที่ commit ไว้ใช้ ticket 8 เคส: intent accuracy 100% และ Recall@5 62.5% โดยตัวเลขทั้งหมดเป็นผลจาก fixture ขนาดเล็ก ไม่ใช่คุณภาพของงานซัพพอร์ตจริง

trace ของ workflow คัดแยก support เจ็ดขั้นตอน
trace เจ็ดขั้นตอนจาก normalize ไปจนถึงคำแนะนำให้คนตรวจ

สิ่งที่ยังไม่ควรคาดหวัง

  • โหมดสาธารณะใช้ deterministic mock และเคสตัวอย่าง ไม่ใช่ policy ของบริษัทใดบริษัทหนึ่ง
  • คำตอบที่สร้างขึ้นยังต้องให้คนตรวจ; grounding check ไม่ได้พิสูจน์ semantic entailment หรือความถูกต้องของนโยบาย
  • ระบบ local Qdrant / SQLite และ rate limit เป็นข้อจำกัดของเดโมเครื่องเดียว

ถ้ากลับไปเริ่มใหม่วันนี้

  • ทำชุด evaluation ที่มีเคสคลุมเครือและเคสไม่มีข้อมูลก่อนขยายหน้าจอ dashboard
  • แยก policy ที่ทีมซัพพอร์ตยอมรับได้ออกจาก precedent ใน fixture ให้ชัดกว่านี้
  • วัดการเปลี่ยนแปลงของคำตอบเมื่อ provider หรือ retrieval เปลี่ยน แทนดูแค่ workflow ผ่านครบ

โค้ดและเดโม

ใน repository มีวิธีรัน การทดสอบ และรายละเอียด implementation ฉบับเต็ม

ดูโค้ดบน GitHubลองเดโม zero-key