กรณีศึกษา
ผู้ช่วยต้อนรับ AI สำหรับคลินิก
ผู้ช่วยต้อนรับ AI ภาษาไทยสำหรับคลินิก รับสายโทรศัพท์และตอบข้อความ LINE มีระบบตรวจคำตอบเพื่อความปลอดภัย ส่งต่อให้เจ้าหน้าที่ของคลินิกได้ และตรวจสอบบทสนทนาได้ทุกครั้ง
โจทย์
หน้าเคาน์เตอร์ของคลินิกรับสายได้ไม่ทุกสาย สายเข้ามาทั้งนอกเวลาทำการ ระหว่างทำหัตถการ และช่วงที่ยุ่งที่สุดของวัน ทุกสายที่ไม่มีคนรับอาจเป็นคนไข้ที่ไม่โทรกลับมาอีก ข้อความใน LINE ก็ค้างสะสมแบบเดียวกัน
ความท้าทายคือทำให้ AI สนทนาภาษาไทยทางโทรศัพท์ได้เป็นธรรมชาติ ตอบอยู่ในขอบเขตงานต้อนรับ และส่งต่อให้เจ้าหน้าที่เมื่อจำเป็น
วิธีที่เราลงมือ
เราออกแบบระบบสำหรับงานต้อนรับของคลินิกโดยเฉพาะ ทั้งโทรศัพท์และ LINE ใช้ฐานความรู้ชุดเดียวกันซึ่งคลินิกแก้ไขเองได้ คนไข้จึงได้รับข้อมูลและน้ำเสียงที่สอดคล้องกันทั้งสองช่องทาง
เราใช้โค้ดบังคับกฎที่ระบบต้องปฏิบัติตาม โดยไม่พึ่ง prompt เพียงอย่างเดียว ทุกคำตอบต้องผ่านการตรวจตามกฎที่กำหนดก่อนส่งถึงคนไข้ และทุกเวอร์ชันใหม่ต้องผ่านการตรวจสอบก่อนนำไปใช้ พร้อมย้อนกลับเวอร์ชันได้ในขั้นตอนเดียว
สิ่งที่เราสร้าง
- เสียงภาษาไทยทางโทรศัพท์ ระบบสนทนาแบบเรียลไทม์ที่เราพัฒนาขึ้น ตั้งแต่รับเสียง ประมวลผลด้วยโมเดลภาษา ไปจนถึงแปลงคำตอบเป็นเสียง โดยปรับให้เหมาะกับภาษาไทย และให้ผู้โทรพูดแทรกได้เหมือนคุยกับคน
- LINE ด้วยน้ำเสียงเดียวกัน LINE Official Account ของคลินิกตอบจากฐานความรู้ชุดเดียวกัน และรวมข้อความสั้นๆ ที่ส่งติดกันเป็นเรื่องเดียวก่อนตอบ
- ชั้นความปลอดภัย ระบบออกแบบมาไม่ให้ตอบคำถามทางคลินิก เช่น การวินิจฉัยหรือขนาดยา โดยจะแนะนำให้คนไข้คุยกับแพทย์หรือเจ้าหน้าที่ของคลินิก ทุกคำตอบผ่านตัวกรอง และทุกบทสนทนามีการตรวจการใช้งานผิดปกติและควบคุมค่าใช้จ่าย
- ส่งต่อให้เจ้าหน้าที่ เจ้าหน้าที่หยุด AI ชั่วคราว รับบทสนทนาไปคุยเอง หรือรับเคสที่ระบบแจ้งเข้ากลุ่ม LINE ได้ เมื่อคนไข้ต้องการคุยกับคน
- มองเห็นการทำงาน ติดตามบทสนทนาได้ตั้งแต่ต้นจนจบ ดูสถานะปัจจุบันบนหน้าจอ และติดตามค่าใช้จ่ายรายบทสนทนาเทียบกับเพดานที่ตั้งไว้ของแต่ละคลินิก
- บันทึกคงทน และลบได้จริง ข้อมูลถูกบันทึกลงฐานข้อมูลที่เราดูแลแทนคลินิก และสำรองออกนอกเครื่องอย่างต่อเนื่อง เราซ้อมกู้คืนจริง และคำขอลบข้อมูลยังคงมีผลแม้หลังการกู้คืน
เทคโนโลยีที่ใช้
- TypeScript
- Node.js
- Fastify
- Twilio Media Streams
- LINE Messaging API
- Streaming speech-to-text
- Claude และ Gemini
- Google Cloud text-to-speech
- SQLite กับ Litestream
- Fly.io
- Playwright
ผลลัพธ์
- สนทนาภาษาไทยทางโทรศัพท์ได้อย่างต่อเนื่องในสภาพเสียงจากสายจริง รวมถึงเมื่อมีช่วงเงียบจากเครือข่ายโทรศัพท์
- คำตอบที่อยู่ในขอบเขตของพนักงานต้อนรับ บังคับด้วยโค้ด ไม่ได้หวังพึ่ง prompt
- เจ้าหน้าที่หน้าเคาน์เตอร์ยังควบคุมงานได้ และรับช่วงจาก AI ได้ทันทีเมื่อจำเป็น
- วางพื้นฐานระบบให้รองรับการเติบโตของคลินิก โดยขั้นต่อไปคือการเชื่อมต่อกับระบบที่คลินิกใช้อยู่