הסוכן הקולי שעמדנו להשיק המשיך לקטוע את המתקשרים, מה שהקפיץ את שיעור ההקטעה ל-18% ואילץ אותנו לכתוב מחדש את לוגיקת סיום התור (end-of-turn) עשרה ימים בלבד לפני ההשקה. על ידי הוספת בדיקות דקדוק וזיהוי back-channel לכלל ה-silence-timeout, הורדנו את מספר ההפרעות ל-3% וביטלנו את השתיקות הארוכות וה"מתות" שגרמו למערכת להרגיש לא מגיבה.

למה timeout של שתיקה בודד לא הספיק

העיצוב המקורי שלנו התייחס לכל הפסקה של 700 מילישניות כאל אות לכך שהמשתמש סיים לדבר. בדמו מבוקר — שבו דובר אחד אומר משפטים מלאים בחדר שקט — הכלל הזה עובד מצוין. עם זאת, מתקשרים אמיתיים עוצרים כדי לחשוב, מחלקים מספרים לקבוצות, ומוסיפים "אה-הא" או "הממ" כדי להראות שהם מקשיבים. הסוכן פירש כל אחת מההפסקות הללו כסיום של תור דיבור.

ניתוח של 312 שיחות ייצור חשף שתי בעיות. ראשית, הסוכן פרץ לדברי הדובר בזמן שעדיין ניסח את המשפט הבא, מה שפגע ב-18% מתורי הדיבור. שנית, כשהעלינו את ה-timeout ל-1500 מילישניות כדי לעצור את ההפרעות, המערכת הפכה לאיטית והחלה להיתקע בקווי רעש. רעש רקע המשיך לאפס את מונה השתיקה, כך שהסוכן מעולם לא קבע שהמשתמש סיים לדבר.

שלושה אותות מחליפים מספר בודד

עברנו משימוש ב-timeout קבוע לבניית מכונת מצבים (state machine) קטנה שמאזינה לשלושה אותות:

  • משך השתיקה – כמה זמן המשתמש שקט.
  • דקדוק – האם התמלול מסתיים ביחידה תחבירית שלמה או במילה תלויה כמו "the" או "and"?
  • זיהוי back-channel – האם הצליל האחרון היה תור אמיתי (למשל, תשובה מדוברת) או אישור קצר כמו "yeah"?

בעזרת האותות הללו הגדרנו שני "תקציבי שתיקה":

  1. תמלול הושלם – כאשר הטקסט המנותח נראה גמור, אנו מחילים timeout קצר של 550 מילישניות. הסוכן נשאר מהיר ועונה באופן מיידי.
  2. תמלול תלוי – כאשר הטוקן האחרון מרמז שהמשתמש נמצא באמצע משפט, אנו מאריכים את ה-timeout ל-1300 מילישניות, מה שנותן לדובר מרחב להמשיך.

שני מנגנוני הגנה נוספים מונעים הפרעות שווא:

  • משך דיבור מינימלי – "הממ" קצר לא נחשב כתור מלא, לכן הסוכן ממתין להברה ארוכה יותר לפני שהוא מחליט.
  • תקרה קשיחה (Hard cap) – ללא קשר לרעש רקע, מגבלת שתיקה מקסימלית מאלצת את הסוכן להגיב לאחר פרק זמן סביר, ובכך מונעת תקיעות אינסופיות.

תוצאות ומשמעות עבור AI קולי

לאחר שהטמענו את המערכת בעלת שלושת האותות, שיעור ההקטעה ירד מ-18% ל-3%. המתקשרים כבר לא שמעו את הסוכן מדבר מעליהם, ובעיית ה"שתיקה המתה" של קודם נעלמה. הסוכן מרגיש גם מגיב וגם מנומס, בדומה לאופן שבו בני אדם מנהלים תורי שיחה.

עבור מפתחים שבונים עוזרים קוליים, הלקח ברור: קבוע בודד בקובץ הגדרות (config) אינו יכול ללכוד את הניואנסים של אינטראקציה קולית. מכונת מצבים קלה שמעריכה את אורך השתיקה, שלמות דקדוקית ורמזי back-channel יכולה לשפר דרמטית את הדיוק בחילופי תורים מבלי להוסיף עומס חישובי כבד.

חסרונות פוטנציאליים ושאלות פתוחות

הוספת ניתוח דקדוקי וסיווג back-channel מוסיפה שלבי עיבוד. צוותים חייבים לוודא שהשיהוי (latency) הנוסף לא מבטל את הרווחים בשיטף השיחה. הגישה גם נשענת על תמלול מדויק למדי; בסביבות רועשות או בדיבור במבטא, רמזי דקדוק עלולים להיכשל, מה שיאלץ את המערכת לחזור ל-timeouts ארוכים יותר.

עבודה עתידית יכולה לחקור ספי timeout אדפטיביים שלומדים מהרגלי המתקשרים, או לשלב מאפיינים פרוזודיים (גובה צליל, אנרגיה) כדי לחזק את גלאי ה-back-channel. ניטור האופן שבו שיפורים אלו משפיעים על מדדי מפתח — שביעות רצון לקוחות, זמן השלמת שיחה ושיעורי שגיאות — יהיה חיוני לפני הרחבת הטכניקה לפריסות גדולות יותר במרכזי שירות.

בשורה התחתונה: התייחסות להשלמת תור כהחלטה מרובת-אותות, ולא כטיימר שתיקה בודד, מפחיתה שגיאות הקטעה בסדר גודל אחד ומשיבה את הזרימה הטבעית שהמשתמשים מצפים לה מסוכנים קוליים.