מקרה בוחן
Fixhos: דלפק פניות מבוסס AI להשכרה לטווח קצר
בקשות של אורחים מגיעות באימייל, בוואטסאפ, בהודעה קולית, מ-Airbnb ומ-Booking.com. AI קורא כל אחת מהן, מסווג אותה, מדרג את הדחיפות, מנסח את התשובה בשפה של האורח ומנתב את העבודה לבעל המקצוע הנכון מתוך 56. חי, בגישה מוקדמת.
התפקיד שלי
זה שלי, לא של לקוח. אני שותף מייסד ב-Fixhos ואני זה שכותב את הקוד. אף אחד לא הזמין את זה ואף אחד לא אישר את זה, אז תקראו את זה כמה שאני יודע לבנות ולהפעיל, לא כמסירה שמישהו שילם עליה.

המצב
היום של מנהל השכרות לטווח קצר הוא אותן חמישים הודעות: הסיסמה לוויי-פיי, יציאה מאוחרת, דוד שמת באחת עשרה בלילה, ניקיון שצריך לזוז. הן נוחתות בחמישה מקומות שונים, בשפה שהאורח מדבר, וכל אחת מהן צריכה להיקרא, להיות מובנת, לקבל מענה, ובחצי מהמקרים להימסר למישהו עם רכב.
האילוץ
הקליטה היא לא ערוץ אחד אלא חמישה, ושניים מהם הם בכלל לא באמת ערוצים. אימייל ווואטסאפ הם תיבות אמיתיות. קולי זה מספר טלפון שעונה, מקליט ומתמלל. Airbnb ו-Booking.com לא נותנים שום ממשק להודעות של אורחים: הם שולחים מייל התראה, ולכן המערכת צריכה לזהות את הפלטפורמה מתוך המייל עצמו ולהרכיב את השיחה מחדש לשרשור אחד. כל החמישה חייבים להגיע לאותו אובייקט, אחרת שום דבר בהמשך לא עובד.
ל-AI צריך להיות מותר לטעות בלי שמישהו ישלם על זה. מודל שמסווג ריח של גז כניקיון, או שממציא שעת כניסה שהוא לא יודע, עושה נזק שאף לוח בקרה לא מתקן. לכן למודל אף פעם אין את המילה האחרונה לבד: טיוטה שעומדת להישלח מעצמה עוברת קודם בדיקת עיגון שנייה, פנייה עם סיכון גבוה מקבלת מעבר שני וחזק יותר, ומצב צל מריץ את כל השרשרת בלי לשלוח כלום, כדי שמלון חדש יראה מה המערכת הייתה עושה לפני שהוא נותן לה לעשות משהו.
וזה צריך לעבוד בשפה של האורח, לא של המלון. הממשק קיים בארבע שפות; האורח כותב בזו שבא לו, והתשובה צריכה לחזור באותה שפה, מנכס שאולי לא מדבר אותה.
מה בניתי
Fixhos חי בכתובת fixhos.com ונמצא בגישה מוקדמת, ולכן מה שמופיע כאן הוא מה שהמוצר עושה. אין בדף הזה שום נתון על היקף שימוש, וזה בכוונה.
- חמישה ערוצי קליטה שמזינים פנייה אחת: אימייל (Gmail, Outlook ו-Zoho דרך OAuth, ובנוסף וובהוק נכנס עם אימות חתימה), וואטסאפ גם דרך ה-Cloud API של Meta וגם דרך Twilio, מספר טלפון שעונה ומקליט, ו-Airbnb ו-Booking.com שמזוהים מתוך מיילי ההתראה שלהם עצמם ומאוחדים בחזרה לשרשור אחד.
- מעבר AI אחד שמחזיר את כל השיפוט בקריאה אחת: הקטגוריה מתוך 15, הדחיפות מתוך 7 רמות חומרה, סיכום בשורה אחת שנכתב בשפת האורח, השפה עצמה, האם מדובר בעניין של בטיחות נפשות, ואיזה בעל מקצוע צריך לטפל בזה מתוך טקסונומיה של 56 תפקידים.
- תשובה מנוסחת שמעוגנת במסמכים של הנכס עצמו ובתשובות שאדם כבר אישר, ואז נבדקת בקריאה שנייה למודל מול אותן עובדות לפני שמשהו מקבל רשות להישלח מעצמו.
- הקצאה לאנשים שבאמת עושים את העבודה: התאמת תפקידים, הצעה שטכנאי מקבל או דוחה מתוך טלגרם, יעדי תגובה מ-30 דקות ועד 72 שעות, והסלמה כשיעד מפוספס.
- שמונה משימות AI נפרדות (סיווג, ניסוח, תרגום, חילוץ, ניתוח עריכה, קליטת ספק, אימות טיוטה, תמלול הודעה קולית), כל אחת מכוונת למודל משלה דרך הגדרה וכל אחת נרשמת עם עלות הטוקנים שלה, כך שהחלפת מודל היא הגדרה ולא כתיבה מחדש.
- מצב צל שמריץ הכול ולא שולח כלום, ולצידו מסווג מבוסס מילות מפתח שנמדד מול ההחלטות של ה-AI, כדי שאיכות האוטומציה תימדד במקום שתונח.
- ארבע שפות ממשק (אנגלית, צרפתית, ספרדית, איטלקית) ואפליקציה ניידת לאנשים בשטח.
- 181 מסלולי API ו-307 קבצי בדיקות מאחורי הכול, עם שער קידום: שום דבר לא מגיע לפרודקשן לפני שבדיקת הטיפוסים, ה-linter וחבילת הבדיקות עברו על הענף שמתחת.
המספרים
- 5ערוצי קליטה, פנייה אחת
- 56בעלי מקצוע בטקסונומיה
- 15קטגוריות, 7 רמות חומרה
- 4שפות ממשק
- 181מסלולי API
- 4,475מקרי בדיקה אוטומטיים
כל מספר כאן נספר מהמאגר עצמו: טיפוסי הערוצים והקטגוריות, טקסונומיית התפקידים, רשימת השפות, קבצי המסלולים והצהרות הבדיקות. אין כאן מספר לקוחות, אין נפח פניות ואין זמן שנחסך, כי המוצר בגישה מוקדמת ואני לא אפרסם נתון שאני לא יכול להראות לכם את המקור שלו. הטענות שבאתר השיווקי של המוצר הן שלו; בדף הזה יש רק את מה שנמצא בקוד.
מה זה, ומה זה לא
Fixhos היא החברה שלי. אני שותף מייסד ואני המפתח, וזה בדיוק מה שהופך את זה להוכחה החלשה ביותר בדבר אחד ולחזקה ביותר בדבר אחר. זו לא הוכחה שלקוח אישר את העבודה שלי, כי לא היה לקוח. זו הוכחה למה שאני יודע להעלות לפרודקשן ולתחזק: מערכת AI רב-ערוצית חיה, עם מספרי טלפון אמיתיים, כסף אמיתי ואנשים אמיתיים בצד השני.
המוצר בגישה מוקדמת והמלונות הראשונים בתהליך הקליטה. זו הסיבה שאין למעלה שום נתון שימוש. אני מעדיף להראות לכם את הצורה של המערכת מאשר מדד שאין לכם שום דרך לבדוק.
מה הייתי עושה אחרת: נתתי לקליטה להגיע לחמישה ערוצים לפני שמצב הצל היה קיים. לבנות את הדרך למדוד את האוטומציה אחרי האוטומציה זה הסדר ההפוך מהנכון, והמסווג הפשוט שהיום מנקד כל החלטה של ה-AI היה עולה חצי יום ביום הראשון. להוסיף אותו בדיעבד עלה הרבה יותר.
הסטאק
- Next.js
- React.js
- TypeScript
- Anthropic Claude
- Google Gemini
- WhatsApp Business API
- Twilio
- Firebase
- Stripe
- Tailwind CSS
לראות
רוצים משהו כזה?
ספרו לי מה אתם בונים, או מה אתם עדיין עושים ידנית, ואני אגיד לכם איך הייתי ניגש לזה. בלי התחייבות.