YouMind
ลงชื่อเข้าใช้

เอเจนต์เสียงไม่ได้กำลังฟัง แต่กำลังอ่าน

@namanjn1998
อังกฤษ19 ต.ค. 2569
232K
533
94
71
273

TL;DR

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

ตอนที่พวกมันกำลังคิด มันแทบจะเหมือนคนหูหนวกและตาบอด พวกมันไม่สามารถรับรู้สิ่งอื่นใดที่กำลังเกิดขึ้นได้เลย -

@miramurati

ผมรู้สึกงงมากที่ voice agent ส่วนใหญ่ยังคงตัดสินใจจากข้อความถอดเสียง (transcript)

ทุกสายจะถูกแปลงจากเสียงเป็นข้อความก่อนที่ "thinking layer" ของ agent จะมองเห็น การแปลงนั้นทำให้ข้อมูลสูญหาย เหลือรอดแค่คำพูดเท่านั้น ความลังเล เสียง "อืม..." ระดับเสียงที่ตกต่ำลงตอนท้ายประโยค เสียงรบกวนในพื้นหลัง หรือการหันไปพูดกับคนอื่นกลางคัน ทั้งหมดนี้หายไปหมด

agent จึงต้องเดาเอาเอง มันชอบพูดแทรกคนกลางความคิด รอนานเกินไปหลังจากอีกฝ่ายพูดจบ และมองข้ามความโกรธที่ซ่อนอยู่ในประโยคสุภาพ ๆ

ผมคิดว่านี่คือช่องโหว่ที่ใหญ่ที่สุดของ Voice AI ในปัจจุบัน

บทความนี้คือมุมมองของผมต่อสถานการณ์ที่เป็นอยู่ และจะพาไปสำรวจคำถามเหล่านี้:

  • Agent จะตัดสินใจได้ดีไหม ถ้ามันไม่เคยได้ยินเสียงสนทนาเลย?
  • ทำไมเครือข่าย LLM ถึงยังอุดช่องโหว่นี้ไม่ได้?
  • ทำไมไม่ใช้โมเดล speech-to-speech ไปเลย?
  • "Thinking layer" ที่ฟังเสียงได้จริง ๆ หน้าตาจะเป็นแบบไหน?

ตลาดตอนนี้อยู่จุดไหน?

https://x.com/jordan_dearsley/status/2085602471918064064

หลายปีที่ผ่านมา ผู้คนคาดการณ์ว่าเสียงจะกลายเป็นวิธีสากลในการพูดคุยกับซอฟต์แวร์ ในปี 2026 คำทำนายนั้นเริ่มเป็นจริงแล้ว AI กำลังจัดการโทรศัพท์ทางธุรกิจนับพันล้านสายในแต่ละปี ต้องขอบคุณบริษัทอย่าง @ElevenLabs และ @DeepgramAI รวมถึง ผลิตภัณฑ์ Voice AI มากกว่า 800 ตัว

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

Voice agent เกือบทั้งหมดทำงานแบบเรียงลำดับ (cascaded): แปลงเสียงเป็นข้อความ (STT) แล้วส่งให้ LLM จากนั้นแปลงข้อความเป็นเสียง (TTS) วิศวกรชอบดีไซน์นี้เพราะเลือกโมเดลที่ดีที่สุดสำหรับแต่ละงานได้ อ่านขั้นตอนระหว่างทางได้ทุกขั้น และควบคุมได้อย่างรัดกุมว่า agent จะพูดหรือทำอะไร

แม้ว่า STT และ TTS จะพัฒนาไปไกลมาก ทั้งเรื่องความหน่วงและต้นทุน แต่ส่วนที่ยังอ่อนแอคือ thinking layer

ข้อความถอดเสียงทิ้งอะไรไปบ้าง

หน้าที่ของ thinking layer นั้นเรียบง่าย คือรู้ว่าบทสนทนาอยู่ในสถานะไหน และเลือกการกระทำที่จะพาไปสู่สถานะถัดไปที่ถูกต้อง: พูด, ลงมือทำ, ส่งต่อ, หรือฟังต่อไป

โค้ดของคุณรู้เสมอว่าการโทรอยู่ในขั้นตอนไหนของ workflow แต่สิ่งที่มันไม่รู้คือเกิดอะไรขึ้นกับคนที่อยู่อีกปลายสาย นั่นคือส่วนที่ thinking layer ต้องอ่านให้ออกในทุก ๆ รอบการสนทนา:

  • ผู้ใช้พูดจบแล้ว หรือแค่หยุดพักหายใจ?
  • พวกเขากำลังพูดภาษาอะไร?
  • พวกเขาแค่สงสัย หรือกำลังหัวเสียกับบริการแย่ ๆ?
  • นั่นเสียงทีวีในพื้นหลัง หรือเสียงเด็ก ๆ กำลังเล่นกัน?
  • พวกเขากำลังคุยกับฉัน หรือคุยกับแฟนของเขา?
  • พวกเขาต้องการอะไร: ขอเงินคืน, เปิดบัญชีใหม่, หรือเช็กสถานะ?
Naman Jain - inline image

คลิปเสียงสองคลิปที่มีข้อความถอดเสียงเหมือนกันเป๊ะว่า "Yes, go ahead." คลิปหนึ่งพูดกับ agent อีกคลิปพูดกับคนอื่นในห้อง มีแค่เสียงเท่านั้นที่แยกสองกรณีนี้ได้

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

ลองดูคำถามแรก เราทุกคนรู้ดีว่าคนใกล้จะพูดจบตั้งแต่ก่อนที่ความเงียบจะมาถึง: ระดับเสียงตกลง จังหวะช้าลง เสียงค่อย ๆ แผ่วลง โมเดลที่ได้ยินเสียงจะเรียนรู้การใช้สัญญาณเหล่านี้ได้แม่นยำ (Ekstedt & Skantze, 2022) แต่โมเดลที่อ่านแค่ข้อความถอดเสียงทำไม่ได้ เพราะจังหวะจะโคนเหล่านั้นไม่เคยถูกเขียนลงไป (Rajaa, 2026

เช่นเดียวกับคำถามที่ห้า ตอนที่ Apple ทดสอบ ว่าคำพูดนั้นตั้งใจพูดกับผู้ช่วยของมันหรือไม่ การเพิ่มข้อมูลเสียงเข้าไปในข้อความถอดเสียงช่วยลดข้อผิดพลาดได้ถึง 39% เมื่อเทียบกับการใช้ข้อความอย่างเดียว

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

Naman Jain - inline image

ใช้แค่ข้อความถอดเสียง: 74.8% ของรอบสนทนาถูกพูดแทรกเร็วเกินไป ใช้เสียง: เหลือ 7.8% Uniphore, arXiv 2609.11066.

ทำไมเครือข่าย LLM ถึงไปชนกำแพง

วิศวกรเลือกทางลัดแบบตะกละเพื่อสร้าง "thinking layer" พวกเขาวิ่งเข้าหาเส้นทางที่ง่ายที่สุดและให้ผลตอบแทนทันทีสูงสุด: จ้าง LLM ระดับท็อปสุดของยุคนั้นมา แล้วโยนคู่มือเล่มยักษ์บอกวิธีทำทุกอย่างให้มัน นี่คือเรื่องราวทั้งหมดของปี 2023-24

แต่มันมีปัญหาอยู่สองสามอย่าง

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

นี่คือ frontier stack ในปัจจุบัน

แต่เมื่อนำไปใช้งานจริง สถาปัตยกรรมนี้ก็เผยรอยร้าวสองจุด:

  • ทุกชิ้นส่วนก็ยังอ่านข้อความถอดเสียงชุดเดิม การเพิ่ม LLM เข้าไปไม่ได้ช่วยให้การหยุดพักหรือน้ำเสียงที่ถูกตัดทิ้งไปในข้อความถอดเสียงกลับคืนมาได้
  • แต่ละชิ้นส่วนต้องรอซึ่งกันและกัน การเรียกใช้แต่ละครั้งเพิ่มความหน่วง การจับใจความรอบสนทนา ตัดสินใจว่าจะทำอะไร และลงมือทำภารกิจ กินเวลาถึง 80% ของระยะเวลาตอบสนองทั้งหมด
Naman Jain - inline image

Voice agent แบบ cascaded: เสียงของผู้โทรเข้าจะถูกส่งไปยังระบบแปลงเสียงเป็นข้อความ ตามด้วยการเรียก LLM หลายครั้ง แล้วจึงแปลงข้อความเป็นเสียง ระดับเสียง การหยุดพัก น้ำเสียง พื้นหลัง และตัวบุคคลที่ถูกพูดถึง หายไปตั้งแต่ขั้นตอนแปลงเสียงเป็นข้อความแล้ว

วงการแบ่ง thinking layer ตามประเภทงาน แต่ควรแบ่งตามประเภทอินพุตมากกว่า: การตัดสินใจที่ต้องใช้สัญญาณเสียงควรส่งไปให้โมเดลที่ออกแบบมาเพื่อเสียงโดยเฉพาะ (audio-native) และปล่อยให้ LLM ทำงานกับข้อความเท่านั้น

ทำไมไม่ข้ามข้อความถอดเสียงไปเลยล่ะ?

โมเดล Speech-to-speech (STS) เริ่มแสดงสัญญาณชีวิตให้เห็นชัดในปีนี้ เสน่ห์ของมันชัดเจนมาก: ความหน่วงต่ำลง เข้าใจบทสนทนาได้ดีขึ้น และลดงานวิศวกรรมลง ด้วยการบีบรวม STT, LLM และ TTS ไว้ในโมเดลเดียว

ข้อเสียที่ใหญ่ที่สุดคือการขาดการควบคุมและข้อมูลที่ตรวจสอบได้ คุณไม่สามารถระบุแน่ชัดว่าโมเดล STS จะพูดอะไร และการเรียกใช้เครื่องมือ (tool calls) หรือการรันโค้ดไม่ใช่เรื่องธรรมชาติสำหรับโมเดลที่คิดด้วยเสียง

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

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

เลเยอร์ที่รับฟัง

ผมเชื่อว่ามีวิธีควบคุม agent และกำจัดความเทอะทะออกไปได้ นั่นคือ decision models

ถ้าคุณสังเกต GPT-Live ดี ๆ จะพบ decision engine อยู่ที่แกนกลางของมัน หลายครั้งต่อวินาที มันตัดสินใจว่าจะพูด ฟังต่อ หยุดพัก พูดแทรก หรือเรียกใช้เครื่องมือ ระบบ cascaded ก็ต้องการ engine แบบเดียวกัน ในฐานะคอมโพเนนต์ที่คุณมองเห็นและควบคุมได้

Decision model รับสถานะปัจจุบันและชุดตัวเลือกที่กำหนดขอบเขตไว้ (พูดหรือรอ, ส่งต่อหรือทำต่อ, เจตนาไหน) แล้วคืนค่าตัวเลือกเดียวพร้อมความน่าจะเป็น ซึ่งเร็วกว่าและถูกกว่า LLM มาก @typesafeai ทำให้หลายคนประหลาดใจกับผลลัพธ์ที่ยอดเยี่ยมเมื่อใช้วิธีนี้กับข้อความ

ผมขอเสนอแบบนี้:

  • Decision model รับฟังการโทรและทำการตัดสินใจที่อยู่ในขอบเขต
  • ซอฟต์แวร์ของคุณ ดูแลสถานะ workflow สิทธิ์การเข้าถึง และเครื่องมือต่าง ๆ
  • LLM ทำสิ่งที่มันเก่งที่สุด: เขียนคำตอบ หลังจากที่ตัดสินใจได้แล้วว่าจะทำอะไร
Naman Jain - inline image

Decision model รับข้อมูลเสียง บทสนทนาที่เกิดขึ้นจนถึงตอนนี้ และชุดตัวเลือก แล้วคืนค่าความน่าจะเป็นของแต่ละตัวเลือกออกมา เช่น refund_status 0.91, cancel_order 0.06, escalate 0.03 (ตัวอย่าง)

คะแนนความมั่นใจคือสิ่งที่ทำให้ระบบนี้ทำงานได้ ลองถาม LLM ว่ามันแน่ใจแค่ไหน มันมักจะตอบว่า "แน่ใจมาก" แม้ตอนที่มันผิดก็ตาม (Xiong et al., 2024) แต่คะแนนของ classifier สามารถจูนจนมีความหมายตรงกับที่มันบอกได้: เมื่อ classifier บอกว่าแน่ใจ มันก็มักจะแน่ใจจริง ๆ (Guo et al., 2017

การทดลองเบื้องต้นของเรากับพาร์ทเนอร์ด้านการออกแบบแสดงให้เห็นว่า 30 ถึง 40% ของสิ่งที่ LLM ทำภายใน agent คืองานประเภทนี้พอดี: การจัดเส้นทาง การคัดกรองความเร่งด่วน และการเลือกระหว่างตัวเลือกที่มีขอบเขตชัดเจน

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

คุณไม่สามารถแปะระบบเสียงเข้าไปใน decision model สำหรับข้อความเฉย ๆ ได้ การสร้างโมเดลที่รับฟังเสียงได้จริงต้องอาศัยสามสิ่งนี้:

  • เสียงสนทนาจริงที่มีการติดป้ายกำกับ (label) ว่าเป็นการตัดสินใจที่ถูกต้องในแต่ละช่วงเวลา
  • โมเดลที่ตัดสินใจโดยใช้ทั้งเสียงและข้อความประกอบกัน
  • คะแนนความมั่นใจที่ยังคงเชื่อถือได้ไม่ว่าจะเจอสำเนียง เสียงรบกวน หรือสัญญาณโทรศัพท์แย่ ๆ แค่ไหน

Decision model ที่เหมาะสำหรับเสียงคือโมเดลที่รับฟังได้จริง ซึ่งเป็น decision layer แบบ audio-native

อะไรจะเปลี่ยนไปเมื่อ decision layer ได้ยินเสียง

คุณจะปลดล็อก use case เหล่านี้ได้ด้วย decision model แบบ audio-native:

  1. Agent ที่คุณสามารถ debug ได้. ตอนนี้หลายทีมออกแบบ agent เป็นกราฟของสถานะ: ทักทาย, ยืนยันตัวตน, จัดการคืนเงิน, ส่งต่อเรื่อง แต่ละรอบการสนทนาลงเอยด้วยการตัดสินใจสองอย่าง: บทสนทนาอยู่ในสถานะไหนจริง ๆ และควรย้ายไปสถานะไหนต่อ? ถ้าพลาดอย่างใดอย่างหนึ่ง การโทรทั้งสายก็จะหลุดทิศทางไปเลย

เมื่อมี decision model อยู่ในทุกขั้นตอน การเปลี่ยนผ่านแต่ละครั้งจะกลายเป็นหน่วยย่อยที่อธิบายได้: ได้ยินอะไร มีตัวเลือกอะไรบ้าง เลือกอะไรไป และมั่นใจแค่ไหน เวลาที่การโทรเกิดปัญหา คุณไม่ต้องมานั่ง debug prompt ขนาดยักษ์ คุณแค่หาฟันเฟืองตัวที่ลื่นหลุดแล้วซ่อมเฉพาะจุดนั้น

  1. คำตอบที่พร้อมก่อนผู้โทรจะพูดจบ. คนเรามักเผยสิ่งที่ต้องการก่อนจะพูดจบประโยค "ฉันโทรมาเรื่องออเดอร์ที่สั่งไปเมื่อสัปดาห์ก่อน..." แค่นี้ก็คือการค้นหาออเดอร์แล้ว Agent ที่เน้นข้อความจะรอให้ผู้ใช้หยุดพูด รอข้อความถอดเสียงสุดท้าย ตัดสินใจว่าจะเรียกเครื่องมือไหน แล้วถึงจะเรียกใช้ ทุกขั้นตอนล้วนเพิ่มความเงียบเข้าไป
Naman Jain - inline image

ไทม์ไลน์ของผู้โทรที่พูดว่า "ฉันโทรมาเรื่องออเดอร์ของฉันเมื่อสัปดาห์ก่อน" Agent ที่เน้นข้อความจะรอจนจบ แล้วจึงถอดเสียง ตัดสินใจ และเรียก get_order แต่ router ที่รับฟังเสียงจะยิงคำสั่ง get_order ตั้งแต่กลางประโยค และตอบกลับทันทีที่ผู้โทรหยุดพูด ช่วยประหยัดเวลาได้

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

นักวิจัยจาก Meta และ CMU ได้แสดงให้เห็นถึงผลลัพธ์: การคาดการณ์การเรียกใช้เครื่องมือแบบขนานไปกับเสียงพูดของผู้ใช้ ช่วยลดความหน่วงของเครื่องมือลง 20% และทำให้คำตอบแม่นยำขึ้น

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

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

https://x.com/signulll/status/2077444321243013306

อนาคตของ Voice AI

เสียงควรจะเป็นอินเทอร์เฟซสากล แต่วันนี้มันใช้งานได้เฉพาะตอนที่บทสนทนานั้นคาดเดาได้เท่านั้น

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

นั่นคือการเปลี่ยนแปลงที่ผมวางเดิมพันไว้: ตัดสินใจก่อน แล้วค่อย prompt โมเดลที่รับฟังเสียงเป็นคนตัดสินใจ ซอฟต์แวร์ของคุณรักษาสถานะ และ LLM เขียนถ้อยคำ ทุกการตัดสินใจมองเห็นได้ รวดเร็ว และวัดผลได้ เมื่อสิ่งนี้ทำงานได้ เสียงจะไม่เป็นแค่ช่องทางสำหรับการโทรธรรมดา ๆ อีกต่อไป แต่จะกลายเป็นวิธีที่ผู้คนใช้พูดคุยกับซอฟต์แวร์

ผมกำลังสร้าง decision layer นั้นอยู่ที่ @tazolabs และจะแชร์ข้อมูลเพิ่มเติมเกี่ยวกับโมเดลของเราในอีกไม่กี่วันข้างหน้า

ถ้าคุณสร้าง voice agent ผมอยากฟังมากว่าทุกวันนี้ agent ของคุณตัดสินใจเรื่องไหนพลาดบ่อยที่สุด และถ้าคุณอินกับวิสัยทัศน์นี้ มาร่วมสร้างมันไปกับเราที่ Tazo Labs ได้เลย

การตัดสินใจเรื่องไหนที่ voice agent ของคุณทำพลาดบ่อยที่สุด?

บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

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

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม