סוכן AI מפסיק להמציא מחיר, תאריך או הבטחה כשמוציאים ממנו את היכולת להמציא. כל ערך מחייב נשלף ממקור נתונים בזמן השיחה, נכנס למשפט כמחרוזת שמורה, וההודעה נבדקת מולו לפני שהיא יוצאת. כאן המנגנונים: שליפה במקום יצירה, בדיקה שמבינה מספרים במילים, רשימה סגורה של התחייבויות, תוקף להצעה, ומה בודקים בשבועיים הראשונים.
למה סוכן AI ממציא מחיר, ומה בעצם עוצר את זה?
מודל שפה לא מחפש מחיר בטבלה, הוא מייצר את ההמשך הסביר ביותר לשיחה. כשהמחיר לא הוגש לו כנתון הוא ישלים מספר שנשמע נכון, וזו הסכנה: הטעות נשמעת בטוחה בעצמה. מה שעוצר אותה אינו ניסוח טוב יותר של ההוראות, אלא נוכחות הערך כנתון ובדיקת המשפט היוצא מולו.
מכאן ההפרדה החשובה בבניית סוכן: בין משפטים שהסוכן מנסח, הסבר ושאלת אבחון, לבין משפטים שהסוכן מוסר, מחיר, תאריך ואישור. את הראשון משאירים למנוע ה-AI, את השני מוציאים אל מערכת שיודעת את האמת. זה הגבול שסביבו מתכננים סוכן קולי או סוכן וואטסאפ לעסק.
מהמחירון עד המשפט שהלקוח קורא
הסוכן לא מחזיק מחירים בראש. בשאלת מחיר הוא מזהה את הפריט ואת התנאים, מבצע שליפה ומקבל רשומה מובנית. לשליפה שלוש תוצאות מוגדרות מראש: התאמה מלאה, והערך נמסר כפי שהוא בלי לעגל; התאמה חלקית, ונשאלת שאלת האבחון שסוגרת את הפער; אין התאמה, ואז אוספים פרטים ומעבירים לאדם. וכשהמחיר תלוי בכמות או באזור, החישוב יושב בקוד ולא במנוע.
המספר נכנס כמחרוזת, לא כניסוח
שליפה מכניסה את הערך הנכון להקשר, היא לא מכריחה את המנוע לשכפל אותו מילה במילה, וזה המרווח שמדלגים עליו. לכן המשפט המוסר לא נכתב אלא ממולא: תבנית קבועה, "המחיר ל{פריט} הוא {סכום} {כולל או לפני מע"מ}, בתוקף עד {תאריך}", והמערכת מזריקה לתוכה את הערכים מהרשומה. ומכיוון שלא הכול נכנס לתבנית, רצה בדיקה אחרי הניסוח: כל מספר, תאריך וטווח בהודעה מושווים לרשומה שחזרה באותו תור, וערך בלי התאמה עוצר את השליחה. בודקים גם את היחידה וסימון המע"מ, כי מספר נכון עם יחידה שגויה הוא הצעה שגויה.
הבדיקה חייבת להבין מספרים שכתובים במילים
סריקה שמחפשת ספרות לא שווה כלום בעברית. המנוע יכתוב "אלפיים שקל", "בעוד שבועיים" או "בתחילת החודש הבא", וכולם עוברים בלי להשאיר סימן. לכן לפני ההשוואה רץ נרמול: מילון מספרים בעברית על צורותיהם, וממיר ביטויי זמן יחסיים לתאריך לפי שעון השיחה. משווים ערכים, לא מחרוזות. מילות טריגר מעלות את רמת הבדיקה גם בלי מספר: מבטיח, מתחייב, אדאג.
חסימה שמסתיימת בשקט גרועה מהודעה שגויה, כי הלקוח נעלם. הודעה שנחסמה עוברת ניסוח חוזר דרך התבנית, ואם גם הוא נחסם יוצא משפט בטוח מאושר מראש ונפתחת משימה לנציג. כדי שהבדיקה לא תירה על הכול, מוגדרים שדות שמותר להם להכיל מספרים בלי שליפה: טלפון, מספר הזמנה וכתובת. בהרצה כל חסימה נשמרת עם שתי הגרסאות, והפער מראה אם המנגנון מכויל או חונק.
כמה זמן מותר לשליפה לקחת, ומה הלקוח רואה בינתיים
בערוץ הקולי אנחנו עובדים עם כשנייה וחצי של שקט לכל היותר, אחריה נאמר משפט גישור, "שנייה, אני מוציא לך את זה מהמחירון", ואם התשובה לא חזרה תוך כמה שניות השיחה עוברת לאדם. מערכת איטית לא אמורה לשבת בתוך השיחה: מטמון של השורות הנשאלות ביותר מתרענן ברקע, לכל ערך חותמת זמן, וערך שעבר את החלון לא מצוטט. אין ערך טרי, אין מחיר.
אותו היגיון חל על אישור אנושי. בהרצה נהוג להשאיר הודעות מסומנות בהמתנה לאדם, ובעשר וחצי בלילה זה ליד שיושב מול מסך ריק. לכן ההמתנה חלה על המשפט המחייב בלבד: השאר נשלח מיד, הסוכן אוסף פרטים ואומר מתי תגיע התשובה. אם האישור לא הגיע בחלון שנקבע יוצאת הודעה שמיישרת ציפיות ונפתחת משימה לבוקר.
רשימה סגורה של התחייבויות, ומה הסוכן אומר כשאין לו תשובה
המנגנון השני הוא רשימה לבנה: במקום לדמיין מראש כל מה שאסור להבטיח, מגדירים רשימה קצרה של מה שמותר, וכל השאר נופל אוטומטית. זו החלטה עסקית, ומי שמאשר אותה הוא בעל העסק או מנהל המכירות.
- לצטט ערך שחזר משליפה, בתבנית שאושרה, עם סימון מע"מ וחלון תוקף.
- לקבוע פגישה בחלון זמן שהיומן החזיר כפנוי, ולשלוח אישור.
- לאשר קליטת פנייה או הזמנה אחרי שהמערכת החזירה אישור.
- למסור מדיניות קיימת בניסוח שאושר מילה במילה, ביטול ואחריות.
- להעביר לנציג ולציין חלון חזרה שנשלף ממדיניות זמני התגובה.
מה שלא ברשימה לא קיים אצל הסוכן: הנחה שלא הוגדרה, תאריך אספקה שלא הגיע ממערכת, "אני אדאג שיחזרו אליך היום", התחייבות למלאי. שווה חצי שעה מול מנהל המכירות ולעבור שורה שורה, כי תמיד מתגלה משפט שהצוות אומר בטלפון והעסק לא עומד מאחוריו.
שלוש דוגמאות למה שהסוכן באמת אומר
פריט שאין לו שורה במחירון. בלי גדרות: "בדרך כלל זה דומה לעבודה הבסיסית, ואפשר לסגור היום". עם גדרות: "העבודה הזאת לא מופיעה לי במחירון ואני לא רוצה לזרוק לך מספר. שני פרטים סוגרים את זה: מידה משוערת, ואם זה בפנים או בחוץ. אני מעביר לאיש המקצוע והוא חוזר עם מחיר תוך [חלון החזרה מהמדיניות]". הסוגריים מתמלאים בערך שנשלף.
דרישה לתאריך אספקה. בלי גדרות: "אני מסמן לך משלוח ליום רביעי, יהיה בסדר". עם גדרות: "הפריט במלאי, אבל תאריך משלוח נקבע במערכת ההפצה ואני לא מתחייב עליו מכאן. מה שכן אפשר: לפתוח הזמנה ולסמן אותה דחופה ליום רביעי, ואיש הלוגיסטיקה מאשר או פוסל תוך [חלון החזרה]".
לקוח שטוען שהובטח לו משהו. בלי גדרות: "אין בעיה, אני מעדכן לך עשרה אחוז". עם גדרות: "אני לא רואה מולי הצעה עם ההנחה הזאת. המחיר שמופיע לי היום לפריט הוא [הערך מהמחירון]. אם יש לך שם נציג או מספר הצעה, אני מצרף ומעביר לבדיקה, ומישהו חוזר אליך היום". הסוכן לא מכחיש את הלקוח ולא מסכים איתו מנימוס.
מאיפה מגיע המחירון, וכמה עבודה זה באמת?
כל הארכיטקטורה מניחה מקור אמת, ואצל רוב העסקים בגודל הזה הוא לא קיים בצורה שתוכנה יכולה לקרוא. המחירון יושב בראש של הבעלים, בקובץ ישן ובשרשור וואטסאפ, בשלוש גרסאות שאף אחד לא יודע איזו קובעת. בניית המקור היא שלב בפרויקט ולא הכנה קטנה לפניו, ובהקמה של סוכן מכירות AI לעסק זה לרוב השלב הארוך ביותר.
מה שהוא כולל: מיפוי הפריטים שבאמת נמכרים, החלטה מה הציר שקובע מחיר, סימון של כל שורה לפני או אחרי מע"מ, ובעלות של אדם אחד על הקובץ. למחיר שקיים רק בראש של מישהו יש שתי אפשרויות: להפוך אותו לכלל שאפשר לחשב, או להכריז עליו כחסר מקור ולשלוח למסלול הסירוב.
חותמת עדכון והתראה על רשומה שלא נגעו בה מזמן עוזרות נגד סחיפה מהזנחה, מבצע שנגמר או מוצר בלי שורה, והן חסרות ערך מול שורה שעודכנה בערך שגוי. שם צריך השוואה: מזהה אחד לכל פריט, משותף למחירון ולמערכת שמפיקה הצעות רשמיות, ותהליך קבוע שמשווה את המחיר שהסוכן מוסר לפריטים הנמכרים ביותר מול ההצעה הרשמית, עם התראה על פער. מעל זה: שינוי מחיר במקום אחד, נרשם, ואדם שני מאשר.
הצעה שנשלחה לפני שלושה ימים
שרשור וואטסאפ הוא זיכרון, וזו חרב פיפיות. הלקוח כותב "אז נלך על המחיר שאמרת", והמנוע רואה את המספר הישן בהיסטוריה ומשחזר אותו גם אם המחירון השתנה. הכלל שסוגר את זה: מחיר לא מצוטט מההיסטוריה, הוא נשלף מחדש. אם הערך החדש שונה, הסוכן אומר זאת במפורש ומעביר את ההחלטה לאדם.
מכאן נובע מה שהכי שוכחים: לכל מחיר צריך חלון תוקף בתוך אותו משפט. הודעת וואטסאפ היא מסמך שנשמר אצל הלקוח לנצח, והוא יכול לצלם אותה ולחזור איתה בעוד חצי שנה. היומן משלים: לכל התחייבות נשמרים מזהה השיחה, השעה, הערך, המקור והמשפט המדויק שנשלח, וכך רואים אילו לקוחות נוספים קיבלו ערך שגוי.
זה גם הצד המשפטי. חוק הגנת הצרכן אוסר הטעיה בעניין מהותי, ומחיר ומועד אספקה הם בדיוק זה, והוא לא מבחין בין נציג בשר ודם לבין מערכת אוטומטית שפועלת בשם העסק. ללקוח יש טקסט עם חותמת זמן במכשיר, והעסק בוחר בין לכבד מחיר שגוי לבין לסרב ולספוג תלונה או צילום מסך. ההגנות המעשיות הן חלון תוקף, ניסוח מאושר לביטול ולאחריות, ויומן.
עברית, מע"מ ולוח שנה ישראלי
חלק גדול מהתקלות בשטח לא נולד במחירון אלא בזמן. ישראלי כותב "ראשון הקרוב" ומתכוון לתאריך אחד, "בתחילת השבוע" למשהו אחר, ובערב חג ובחול המועד שעות הפעילות משתנות. סוכן שמחשב תאריכים לבד ייתן תשובה שנשמעת מצוינת ושגויה בדיוק בשבוע שבו זה הכי כואב. התאריך נשלף מהיומן ומטבלת ימי הפעילות, כולל שישי, מוצאי שבת וערבי חג.
שכבה שנייה היא המע"מ. השאלה אם המחיר כולל מע"מ חוזרת כמעט בכל שיחה בישראל, ומחירון שלא מסמן בכל שורה אם היא לפני או אחרי מייצר טעות שאף הוראה לא תתקן. הוסיפו את העמודה הזאת לפני שאתם מוסיפים סוכן. שלישית, הודעות קוליות: מספרים נאמרים ברעש רקע ותמלול יכול להפוך שלושים לשלוש עשרה, ולכן כל מספר שהגיע מתמלול מוחזר ללקוח לאישור בכתב. ומעל הכול, בישראל מתמקחים: "תעשה לי מחיר" הוא המקום שבו סוכן לא מרוסן מתחיל לזוז, ולכן סמכות ההנחה היא מדרגות קבועות מהמערכת, או לא קיימת כלל.
השבועיים הראשונים, והטעות שעלתה לנו
בשבועיים הראשונים לא בודקים אחוזי הצלחה, בודקים כל אמירה שיש בה מספר, תאריך או הבטחה. תכננו לזה אדם אחד וכשעה עד שעתיים בשבוע: כל השיחות שסומנו, ובנוסף מדגם של שיחות שלא סומנו, כי שם הבדיקה עיוורת. אחוזי דיוק לא נביא כאן, כי הם תלויים במחירון של העסק.
- כל שיחה שנמסר בה מחיר: האם הוא זהה למה שנציג היה מוסר באותו רגע.
- כל שיחה שנגמרה בסירוב: הנתון באמת חסר, או שקיים והשליפה לא מצאה אותו.
- כל הודעה שנחסמה: תפיסה אמיתית או חסימת שווא, ומה נשלח במקומה.
- מקרים שבהם הלקוח טען טענה שגויה והסוכן הסכים איתה מנימוס.
לתקוף את הסוכן בעצמכם, לפני שמפנים אליו תנועה
שבו מולו חצי שעה ונסו לשבור אותו בכוונה: בקשו הנחה, אמרו שקיבלתם הצעה זולה יותר, שאלו על מוצר שאתם לא מוכרים, דרשו התחייבות לתאריך אספקה, וטענו שמישהו מהצוות כבר הבטיח לכם משהו. סוכן שבנוי נכון יגיב לכל החמישה באותו אופן: בלי ערך שלא נשלף, ועם מסלול המשך ברור.
ולסיום, טעות שלנו. באחת הגרסאות המוקדמות הגדרנו את חלון החזרה לנציג כטקסט קבוע בהוראות במקום לשלוף אותו מטבלת שעות המענה. שעות המענה השתנו, אף אחד לא נגע בהוראות, והסוכן המשיך להבטיח חזרה בחלון שכבר לא היה קיים. העסק כיבד את מה שנאמר וספג את הפער, וזו הייתה טעות תכנון שלנו ולא הזיה של המנוע: מה שלא נשלף מתיישן בשקט.
שלושת הצעדים לשבוע הקרוב: עמודת מע"מ במחירון, הרשימה הסגורה מול מנהל המכירות, וניסיון לשבור סוכן קיים בחמשת התרחישים שלמעלה. אחרי זה אפשר לעבור על נקודות הבקרה יחד בשיחת אפיון קצרה, וזה ההבדל בין סוכן שמוכר בשקט חודש אחרי חודש לבין סוכן שמייצר תלונה אחת גדולה.
שאלות נפוצות
מי אחראי אם הסוכן מסר ללקוח מידע שגוי?
האחריות היא של העסק שבשמו הסוכן פועל, בדיוק כמו עם עובד. לכן היומן והרשימה הסגורה הם ניהול סיכונים: הם מצמצמים את מרחב הטעות ומאפשרים לשחזר מה נאמר ומאיזו רשומה. כשמתגלה טעות מתקנים את השורש ולא רק את המקרה הבודד.
הסוכן כבר שלח מחיר שגוי ללקוח, מה עושים עכשיו?
קודם בודקים ביומן כמה שיחות נוספות קיבלו את אותו ערך, כי כמעט תמיד זו שורה שגויה במקור ולא שיחה אחת. אחר כך מתקבלת החלטה עסקית מול הלקוח, לכבד או לתקן, ומי שמחליט הוא אדם ולא הסוכן. במקביל מתקנים את הרשומה עצמה.
אפשר לחבר את הסוכן למחירון בגיליון, או שצריך מערכת ייעודית?
גיליון עובד מצוין כל עוד הוא המקור היחיד והמעודכן, עם עמודות ברורות, מזהה לכל שורה ואדם אחד שאחראי עליו. הבעיה מתחילה כשיש שלושה גיליונות ואף אחד לא יודע איזה קובע, ואז שום ארכיטקטורה לא תציל את הדיוק. מאחדים את המחירון קודם.
אפשר להרשות לסוכן לתת הנחה?
כן, בתנאי שההנחה מוגדרת כמדרגות קבועות ולא כשיקול דעת: אחוז מכמות מסוימת, או קוד מבצע בתוקף שנשלף מהמערכת. כך הסוכן בוחר מאפשרויות קיימות במקום להמציא מספר בלחץ המשא ומתן. כל הנחה נרשמת ביומן.
אם נשתמש במנוע AI חזק יותר, ההזיות ייעלמו?
מנוע חזק יותר מוריד את התדירות אבל לא מבטל את סוג הטעות, כי מודל שפה עדיין משלים מידע חסר בצורה שנשמעת סבירה. מה שמבטל אותה הוא שהמידע לא חסר: שליפה ממקור אמיתי, הזרקה לתבנית ובדיקה לפני השליחה. ארכיטקטורה נכונה עם מנוע בינוני אמינה יותר ממנוע מצוין בלי גדרות.
שורה תחתונה
סוכן AI לא הופך למדויק כי כתבו לו בהוראות להיות מדויק, אלא כי הוציאו מידיו את היכולת למסור ערך שלא נשלף ואת האפשרות לנסח אותו מחדש בדרך. המנגנונים הם שליפה במקום יצירה, הזרקה לתבנית ובדיקה לפני השליחה, רשימה סגורה עם חלון תוקף, ויומן שמתעד כל הבטחה. מי שמסדר את מקור האמת לפני שהוא מחבר סוכן מקבל מערכת שאפשר לתקן בדקות.

