تیپ #۴۷
قطعکردن حرف، راز گفتگوی طبیعی با ایجنت صوتی
کیفیت یک ایجنت صوتی بیشتر از هوش مدل، به مدیریت نوبت و قطعکردن حرف بستگی دارد. صدا را در هر دو جهت بهصورت جریانی رد و بدل کنید و روی ورودی تشخیص فعالیت صوتی بگذارید تا بهمحض شروع صحبت کاربر، پاسخ در حال تولید لغو شود. وقفه ✋ باید واقعاً تولید را متوقف کند و بافر صدا را پاک کند، نه اینکه فقط ولوم را کم کند. فاصلهٔ زمانی را زیر حدود ۸۰۰ میلیثانیه نگه دارید، وگرنه گفتگو شبیه بیسیم میشود.
توضیح کاملتر
در ایجنتهای صوتی کلاسیک، زنجیرهای از تبدیل گفتار به متن، مدل زبانی و تبدیل متن به گفتار اجرا میشود و هر مرحله تأخیر خودش را به گفتگو اضافه میکند. مدلهای گفتار به گفتار سرتاسری این زنجیره را کوتاه میکنند و صدا را مستقیم میفهمند و تولید میکنند، اما گلوگاه اصلی جای دیگری است: تشخیص اینکه نوبت صحبت چه زمانی تمام میشود. اگر سیستم فقط به سکوت تکیه کند، کاربری که وسط جمله مکث میکند مدل را زودتر از موعد تحریک میکند و پاسخ ناقص میگیرد؛ به همین دلیل روشهای تشخیص نوبت معنایی (semantic turn detection) ابداع شدهاند که محتوای جمله را هم در نظر میگیرند. معماری درست در عمل یعنی انتقال صدا با WebRTC یا WebSocket، پردازش جریانی در هر دو سو، و توانایی لغو فوری پاسخی که در حال تولید است. برای نمونه، کاربر میگوید «یک بلیت میخواهم... نه، دو بلیت»؛ اگر ایجنت نتواند در میانهٔ جمله متوقف شود، پاسخ اشتباه را کامل میخواند و بعد اصلاح میکند که تجربه را خراب میکند. بودجهٔ تأخیر را هم جدی بگیرید، چون هر سکوتی بیش از حدود ۸۰۰ میلیثانیه بعد از پایان حرف کاربر، مصنوعی و رباتیک به نظر میرسد.
← بازگشت به همهٔ نکتههای روز