แนวทางปฏิบัติที่ดีที่สุดของเอเจนต์เสียง

แนวทางปฏิบัติที่ดีที่สุดของเอเจนต์เสียง

บทความนี้รวบรวมแนวทางปฏิบัติที่พบบ่อยของเอเจนต์เสียงในการเลือก การปรับจูน และการเผยแพร่ ช่วยให้คุณได้เอเจนต์เสียงที่「ฟังชัด ตอบแม่น พูดเป็นธรรมชาติ」เร็วขึ้น ความหมายและช่วงค่าของพารามิเตอร์แต่ละตัวดูได้ที่คู่มือการตั้งค่า

จะเลือกโหมดเอนจินอย่างไร

กำหนดโหมดตามความต้องการก่อน แล้วจึงเลือกโมเดล:

  • ต้องการความหน่วงต่ำที่สุด ภาษาพูดเป็นธรรมชาติReal-time model (REALTIME): ความหน่วงต่ำที่สุด เหมาะกับสถานการณ์ที่ไวต่อความเร็วในการตอบสนองและบทพูดค่อนข้างเปิดกว้าง เช่น การพูดคุยเล่น การฝึกสนทนา การนำทางด้วยเสียง
  • ต้องการความสามารถด้านข้อความที่แข็งแกร่ง การเรียกใช้เครื่องมือ บทพูดที่เข้มงวดASR-LLM-TTS: ความหน่วงสูงสุด โมเดลข้อความขนาดใหญ่ควบคุมได้มากที่สุด สามารถเชื่อมต่อฐานความรู้ ฐานข้อมูล และเครื่องมือได้อย่างเสถียร เหมาะกับสถานการณ์อย่างบริการลูกค้าด้วยเสียง การดำเนินการทางธุรกิจ โทนเสียงกำหนดโดย TTS อิสระ สะดวกต่อการทำเสียงแบรนด์ให้เป็นหนึ่งเดียว
  • โมเดลรองรับอินพุตเสียงในตัว ต้องการทำให้เส้นทางเรียบง่ายLLM+TTS: ความหน่วงปานกลาง ตัดช่วง ASR อิสระออกไป ให้โมเดลขนาดใหญ่「ฟังเข้าใจ」เสียงโดยตรง เส้นทางสั้นลง

การปรับจูน VAD และการขัดจังหวะ

VAD กำหนด「Agent จะถือว่าคุณพูดจบเมื่อใด」ซึ่งส่งผลต่อประสบการณ์โดยตรง เลือกใช้ตามสถานการณ์:

  • บริการลูกค้าด้วยเสียง / สายด่วน (ต้องการความเร็ว ขัดจังหวะได้): ปรับความไวของการขัดจังหวะด้วยเสียงให้สูงขึ้นพอสมควร เพื่อให้ผู้ใช้แทรกพูดได้ทุกเมื่อ การหยุดตัดประโยคอาจเล็กลงเล็กน้อยเพื่อย่นเวลารอการตอบ ข้อแลกเปลี่ยนคือในสภาพแวดล้อมที่มีเสียงดังจะถูกขัดจังหวะผิดพลาดได้ง่ายขึ้น
  • ถาม-ตอบเชิงลึก / อ่านออกเสียง (ต้องการความเสถียร ขัดจังหวะผิดพลาดน้อย): ปรับความไวของการขัดจังหวะด้วยเสียงให้ต่ำลง และปรับการหยุดตัดประโยคให้ใหญ่ขึ้นพอสมควร เพื่อหลีกเลี่ยงการถูกแย่งพูดขณะที่ผู้ใช้หยุดคิด
  • สภาพแวดล้อมที่มีเสียงดัง: ในโหมดพรีเซ็ตของ Real-time model ปรับเกณฑ์การกระตุ้นด้วยระดับความดังให้สูงขึ้น เพื่อลดการทริกเกอร์ผิดพลาดจากเสียงรบกวนพื้นหลัง
  • โหมดพรีเซ็ต vs โหมดเชิงความหมาย (เฉพาะ Real-time model): หากต้องการการตัดประโยคที่เสถียรและคาดเดาได้ ใช้โหมดพรีเซ็ต หากต้องการให้ Agent ตัดสินจากความหมายว่าผู้ใช้พูดจบหรือไม่ ใช้โหมดเชิงความหมายพร้อมกับปรับความเร็วในการตอบสนองเพื่อปรับจังหวะ

แนะนำให้ทดลองด้วยค่าเริ่มต้นก่อน (การหยุดตัดประโยค 500 ms การขัดจังหวะด้วยเสียง 0.5) แล้วจึงปรับจูนทีละขั้นตามการบันทึกเสียงจริง โดยเปลี่ยนทีละพารามิเตอร์เท่านั้น

วิธีเขียนพรอมป์ตัวตน

ในสถานการณ์เสียง ผู้ใช้「ฟัง」ไม่ใช่「อ่าน」พรอมป์จึงควรกระชับและเป็นภาษาพูด:

  • ระบุบทบาทและขอบเขตให้ชัดเจน: เป็นใคร ทำอะไรได้ ไม่พูดถึงอะไร
  • กำหนดให้ตอบด้วยประโยคสั้น หลีกเลี่ยงย่อหน้ายาว เครื่องหมายหัวข้อ ตาราง และโครงสร้างอื่นที่ไม่เหมาะกับการอ่านออกเสียง
  • ตกลงการแสดงออกแบบภาษาพูด: ตัวเลข จำนวนเงิน เวลา ให้พูดออกมาเป็นภาษาพูดตามธรรมชาติให้มากที่สุด ลดศัพท์เฉพาะที่แข็งกระด้าง
  • ระบุภาษาและน้ำเสียง: เช่น「ตอบด้วยภาษาไทยอย่างสุภาพและกระชับ」

การล้างข้อความ TTS

ข้อความคำตอบของโมเดลขนาดใหญ่มักมีสัญลักษณ์ หากสังเคราะห์โดยตรงจะถูก「อ่าน」ออกมา ใช้สองรายการคือลบและแทนที่ในการล้าง:

  • ลบ: วงเล็บ (), วงเล็บเหลี่ยม [], วงเล็บหนังสือ 《》, ดอกจัน *, เครื่องหมายชาร์ป # และสัญลักษณ์ Markdown กับการจัดหน้าอื่น ๆ เพื่อหลีกเลี่ยงการอ่าน「ดอกจัน」「ชาร์ป」ออกมา
  • แทนที่ด้วยช่องว่าง: ใช้กับสัญลักษณ์ที่ต้องการการหยุดแต่ไม่ควรอ่านออกมา เพื่อปรับปรุงความเป็นธรรมชาติของการตัดประโยค
  • วงเล็บที่เป็นคู่กรอกเป็นชุดเดียว (เช่น ()) สัญลักษณ์หลายตัวคั่นด้วยจุลภาคภาษาอังกฤษ

ใช้ร่วมกับพรอมป์ตัวตนที่กำหนดให้โมเดล「อย่าส่งออก Markdown」สองทางประกอบกันจะได้ผลดีกว่า

การนำทางต้อนรับและภาพลักษณ์เสมือน

  • ประโยคต้อนรับควรสั้น ตรงประเด็น บอกตัวตนและวัตถุประสงค์ในประโยคเดียว เช่น「สวัสดีค่ะ ที่นี่คือฝ่ายบริการลูกค้า XX มีอะไรให้ช่วยไหมคะ」
  • วิดีโอภาพลักษณ์กำลังพูด / กำลังรอต้องให้เฟรมหัวและท้ายต่อกันอย่างเด็ดขาด มิฉะนั้นเมื่อวนลูปจะเกิดการกระโดดเฟรมที่เห็นได้ชัด ภาพลักษณ์กำลังพูดสอดคล้องกับ「กำลังพูด」ภาพลักษณ์กำลังรอสอดคล้องกับ「กำลังฟัง」
  • ธุรกิจหลายภาษาอย่าลืมตั้งค่าประโยคต้อนรับและภาพลักษณ์แยกตามแต่ละภาษา

กลยุทธ์การควบคุมการโทร

ตั้งค่า「ตัวสำรอง」ให้การสนทนาแต่ละสายไว้ให้ดี เพื่อหลีกเลี่ยงการไม่คืบหน้าและการครอบครองทรัพยากร:

  • การควบคุมเมื่อเงียบ: ตั้งหมดเวลาเงียบที่เหมาะสม (ค่าเริ่มต้น 10 วินาที) และกำหนดข้อความแจ้งเมื่อเงียบที่เป็นธรรมชาติสักประโยค เช่น「ยังอยู่ไหมคะ ต้องการให้ดำเนินการต่อไหมคะ」เพื่อดึงผู้ใช้กลับมา
  • การวางสายอัตโนมัติ: ใช้ระยะเวลาการโทรสูงสุด (ค่าเริ่มต้น 600 วินาที) และจำนวนครั้งของความเงียบสูงสุด (ค่าเริ่มต้น 5 ครั้ง) เป็นตัวสำรอง เพื่อป้องกันการโทรที่ไม่สิ้นสุดหรือการค้างสายเมื่อไม่มีคนตอบเป็นเวลานาน ข้อความแจ้งวางสายจำกัดไม่เกิน 20 tokens กล่าวลาสั้น ๆ ก็พอ

ข้อควรระวังในการใช้เสียงพื้นหลัง

  • ระดับความดังพื้นหลังไม่ควรกลบเสียงคน (ค่าเริ่มต้น 30 ช่วง 1~50) หากสูงเกินไปจะลดความแม่นยำในการรู้จำและความชัดเจนของการโทร
  • เสียงพื้นหลังกำหนดเองต้องเป็น mp3 และ ≤ 1 MB

คุณภาพการรู้จำเสียง

  • เมื่อมุ่งเน้นโดเมนเฉพาะ ให้ใช้ คำสั่งถอดเสียง ASR ให้เป็นประโยชน์ในการชี้แนะคำเฉพาะ ชื่อแบรนด์ ศัพท์เฉพาะทาง จะช่วยปรับปรุงความแม่นยำในการรู้จำได้อย่างเห็นได้ชัด
  • เมื่อภาษาของผู้ใช้คงที่ ให้ระบุภาษาของเสียงแทนการ「รู้จำอัตโนมัติ」ให้มากที่สุด จะเสถียรกว่า
  • แพลตฟอร์มมีการตรวจสอบคุณภาพเสียงในตัว: จะทิ้งเสียงที่สั้นเกินไป (ไม่ถึง 1 วินาที) โดยอัตโนมัติ และกรองวลี「หูแว่ว」ที่พบบ่อยในการรู้จำ (เช่น「ขอบคุณที่รับชม」「ยินดีต้อนรับติดตาม」และผลลัพธ์ไร้ความหมายอื่น ๆ) เพื่อลดการทริกเกอร์ผิดพลาด การที่ผลลัพธ์เหล่านี้ถูกละเว้นเป็นเรื่องปกติ ไม่ต้องตั้งค่าเพิ่มเติม

การเผยแพร่และการเชื่อมต่อ

การคิดค่าบริการและการทำงานพร้อมกัน

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