คุยกับบอต LINE แล้วรู้เรื่อง

ช่วงนี้ผมทำแชตบอตบน LINE เพื่อตอบคำถามลูกค้าไทยโดยตรง มีเป้าหมายชัดเจน คือลดภาระงานทีมบริการลูกค้า และทำให้คนถามได้คำตอบเร็วขึ้น ระบบใช้คลังคำภาษาไทย 2,176 คำ ครอบคลุมคำถามที่ลูกค้ามักถาม เช่น ข้อมูลบัญชี วิธีการฝากถอน ข่าวสารโปรโมชัน และคำถามทั่วไปอื่นๆ

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

เวลาตอบสำคัญกว่าความแม่นยำ

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

ตัวแยกประเภท (classifier) ที่ผมพัฒนาขึ้นมีเวลาในการทำงานประมาณ 1.4-2.0 วินาที ซึ่งถือว่าน้อยมากสำหรับงานประเภทนี้ แต่ผมต้องการให้มันเร็วที่สุดเท่าที่จะทำได้ เพื่อให้เวลาให้กับ AI ในการคิดคำตอบให้ลูกค้า

การทดสอบระบบไม่ใช่เรื่องง่าย โดยเฉพาะอย่างยิ่งเมื่อต้องวัดเวลาที่แม่นยำ ต้องการตัวอย่างข้อมูลที่มาจากการใช้จริงจำนวนมาก เพื่อให้ได้ p95 (percentile 95) ที่แท้จริง ซึ่งหมายความว่า 95% ของคำถามจะต้องตอบภายในเวลาที่กำหนด

วัดเวลาตอบจริงแล้วเจออะไร

จากการทดสอบจริง ผมพบว่าเวลาตอบรวม p95 อยู่ที่ 5,334 มิลลิวินาที หรือประมาณ 5.3 วินาที ซึ่งน้อยกว่าขอบเวลาแข็งที่ผมตั้งไว้อย่างมาก แต่ผมยังไม่สบายใจ เพราะรู้ว่าในสภาพแวดล้อมจริงอาจมีปัจจัยอื่นๆ ที่ทำให้เวลาเพิ่มขึ้นได้

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

ผมจึงตั้งเกณฑ์ให้ classifier ต้องตัดสินใจดีที่สุด แม้ว่าจะใช้เวลานิดหน่อยมากขึ้นก็ตาม โดยผมพบว่าการตั้งค่าให้มีความแม่นยำสูงทำให้ลดกรณีส่งต่อไปให้ AI ได้ถึง 40% ซึ่งเป็นการประหยัดเวลาอย่างมาก

ปรับปรุงแล้วได้ผลลัพธ์ที่ดี

หลังจากการปรับปรุงหลายครั้ง ผมสามารถบรรลุเป้าหมายได้ แชตบอตตอบคำถามได้ภายในเวลาที่กำหนด โดยมีเวลาตอบรวม p95 อยู่ที่ 5,334 มิลลิวินาที ซึ่งอยู่ภายในขอบเวลาที่ตั้งไว้อย่างสบายๆ และยังคงความแม่นยำในการตอบคำถามไว้ได้ดี

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

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

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

บทเรียนจากสงครามเวลาตอบ

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

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

สำหรับคนที่สนใจสร้างระบบ AI ในบ้าน ลองดูที่บทความเกี่ยวกับทีมเครื่อง AI ที่บ้าน: Mac Mini M4 Pro + เครื่องเก็บข้อมูลส่วนตัว + เวิร์กสเตชัน แบ่งงานกันอย่างไร

ขั้นตอนถัดไป: วัดเวลาตอบของระบบคุณจากข้อมูลผู้ใช้จริง ตั้งเกณฑ์ให้ตัวแยกประเภทตัดสินใจแม่นยำเพื่อลดการส่งต่อ AI และปรับสมดุลระหว่างความเร็วกับความแม่นยำตามพฤติกรรมผู้ใช้

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