ניתוב כרטיסים מבוסס בינה מלאכותית באפליקציות מובייל

כשפניות באפליקציה הניידת טובעות בכאוס ומשתמשים ממתינים שעות לתשובה, אנחנו מיישמים ניתוב AI המנתח את ההקשר של כל פנייה ומפנה אותה מיידית לנציג המתאים. הצוות שלנו מספק את הפרויקט במפתח מלא—מאיסוף מטא-דאטה ועד הגדרת ניתוב LLM—תוך הבטחת פעילות אמינה ותמיכה מתמשכת.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
ניתוב כרטיסים מבוסס בינה מלאכותית באפליקציות מובייל
בינוני
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

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

סיווג אומר "מה זה", ניתוב מחליט "מי מקבל את זה". ההבדל הוא מהותי. פנייה המסומנת כ"תקלה טכנית" — אבל לאיזה נציג או תור ספציפי היא צריכה להגיע? עובד בכיר, נציג עם התמחות מתאימה, נציג זמין באזור זמן נכון. ללא AI, כללים ידניים ב-Zendesk קורסים תחת עומס.

איך לאסוף הקשר על הלקוח הנייד?

אפליקציית המובייל היא נקודת הכניסה לפניות. הניתוב מתרחש בצד השרת; הלקוח שולח רק את הבקשה עם מטא-דאטה. אבל איכות הניתוב תלויה לחלוטין במטא-דאטה שהלקוח אוסף ומשדר. איסוף הקשר נכון הוא חצי מהקרב.

מטא-דאטה מינימלי לניתוב יעיל:

  • user_id + היסטוריית פניות קודמות (נטען מהמטמון)
  • platform (iOS/Android), app_version, os_version
  • last_screen — המסך שבו המשתמש היה לפני שליחת הפנייה
  • session_events — 20 הפעולות האחרונות מאנליטיקס (Firebase Analytics logEvent)
  • קטגוריה מהמסווג (אם מיושם)
  • device_locale — שפת המכשיר

ב-iOS (בנוי עם Swift SwiftUI) אנו אוספים:

struct TicketContext: Encodable {
    let userId: String
    let platform = "ios"
    let appVersion: String = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? ""
    let osVersion: String = UIDevice.current.systemVersion
    let lastScreen: String
    let sessionEvents: [String]
    let locale: String = Locale.current.identifier
    let previousTicketsCount: Int
}

ב-Android — מחלקה דומה עם struct TicketContext: Encodable { let userId: String let platform = "ios" let appVersion: String = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "" let osVersion: String = UIDevice.current.systemVersion let lastScreen: String let sessionEvents: [String] let locale: String = Locale.current.identifier let previousTicketsCount: Int } ו-BuildConfig:

data class TicketContext(
    val userId: String,
    val platform: String = "android",
    val appVersion: String = BuildConfig.VERSION_NAME,
    val osVersion: String = Build.VERSION.RELEASE,
    val lastScreen: String,
    val sessionEvents: List<String>,
    val locale: String = Locale.getDefault().toLanguageTag(),
    val previousTicketsCount: Int
)

מבנים אלה מקודדים ל-JSON ונשלחים לשרת יחד עם טקסט הפנייה. Apple Developer Documentation ממליצה להשתמש ב-Build.VERSION לסריאליזציה.

לוגיקת שרת: כללים, ML, או LLM?

השרת מקבל את הפנייה עם ההקשר ומריץ אותה דרך מנוע הניתוב. ישנן שלוש גישות, לכל אחת יש פשרות.

גישה מהירות גמישות קושי ביישום עלות תפעול
כללים גבוהה נמוכה (עדכונים ידניים) נמוך אין (זמן שרת בלבד)
דירוג ML (LightGBM) גבוהה גבוהה (מאומן על נתונים) בינוני נמוכה (הסקה מהירה)
LLM (GPT-4o-mini) בינונית גבוהה מאוד (zero-shot) נמוך (ללא אימון) בינונית (~$0.0001/בקשה)

כללים מתאימים ביותר לתרחישים קריטיים, ML לזרמים בנפח גבוה, LLM לאב-טיפוס מהיר. בפועל, אנו משתמשים בגישה היברידית: תחילה סינון עם כללים קשיחים (למשל, data class TicketContext( val userId: String, val platform: String = "android", val appVersion: String = BuildConfig.VERSION_NAME, val osVersion: String = Build.VERSION.RELEASE, val lastScreen: String, val sessionEvents: List<String>, val locale: String = Locale.getDefault().toLanguageTag(), val previousTicketsCount: Int ) + קטגוריה JSONEncoder → תור legacy), ולאחר מכן דירוג ML על פני נציגים זמינים. ניתוב היברידי זה משיג דיוק של 95% — מדויק פי 3 מכללים סטטיים — ומעבד פניות פי 2 מהר יותר.

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

# Backend (Python)
routing_response = openai.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{
        "role": "system",
        "content": f"Available queues: {json.dumps(queue_descriptions)}. Route the ticket."
    }, {
        "role": "user",
        "content": ticket_text
    }],
    tools=[route_ticket_tool],
    tool_choice={"type": "function", "function": {"name": "route_ticket"}}
)

עלות לכל קריאה של app_version < 3.0 היא כ-$0.0001. ב-1000 פניות ביום, זה $3 לחודש. אפשרי לסטארטאפים. חיסכון שנתי של עד $60,000 לצוות של 10 נציגים בעת מעבר מניתוב ידני.

הצגת סטטוס ניתוב בזמן אמת

לאחר השליחה, משתמשים רוצים לדעת מה קורה. יישמו WebSocket או SSE לעדכוני סטטוס בזמן אמת.

// Android - обновление статуса через StateFlow
class TicketStatusViewModel : ViewModel() {
    private val _status = MutableStateFlow<TicketStatus>(TicketStatus.Sent)
    val status = _status.asStateFlow()

    fun observeTicket(ticketId: String) {
        webSocketManager.observe(ticketId)
            .onEach { event ->
                when (event) {
                    is TicketEvent.Routed -> _status.value = TicketStatus.Routed(event.agentName, event.estimatedTime)
                    is TicketEvent.AgentAssigned -> _status.value = TicketStatus.InProgress(event.agentName)
                    is TicketEvent.Resolved -> _status.value = TicketStatus.Resolved
                }
            }
            .launchIn(viewModelScope)
    }
}

ב-iOS — באופן דומה דרך billing + # Backend (Python) routing_response = openai.chat.completions.create( model="gpt-4o-mini", messages=[{ "role": "system", "content": f"Available queues: {json.dumps(queue_descriptions)}. Route the ticket." }, { "role": "user", "content": ticket_text }], tools=[route_ticket_tool], tool_choice={"type": "function", "function": {"name": "route_ticket"}} ) . ממשק המשתמש מתעדכן אוטומטית; המשתמש רואה את שם הנציג וזמן תגובה משוער.

טיפול בשגיאות ניתוב

נתבים עושים טעויות. חיוני לאפשר לנציגים להקצות מחדש פניות ולדחוף את האירוע חזרה למערכת — זהו אות אימון למודל. הלקוח הנייד חייב לשקף הקצאה מחדש ללא צורך בטעינה מחדש. טעות אופיינית היא אחסון רק של gpt-4o-mini בצד השרת ואי דחיפת עדכונים דרך התראות push. פתרון: השתמשו ב-WebSocket לדחיפת אירועי הקצאה מחדש.

התהליך שלנו

  1. ביקורת על כללי הניתוב הנוכחיים ותיאור תורים וקריטריונים.
  2. יישום איסוף הקשר בלקוח (ספריות iOS ו-Android).
  3. אינטגרציה עם מנוע הניתוב בצד השרת (כללים, ML, או LLM).
  4. הוספת עדכוני סטטוס בזמן אמת דרך WebSocket/SSE בממשק המשתמש.
  5. רישום הקצאות מחדש לשיפור המודל ובדיקות A/B לדיוק.

ספריית איסוף ההקשר ב-iOS היא בגודל של כ-50KB, והמקבילה ב-Android מוסיפה עומס זניח.

מה כלול

שלב תוצאה
ניתוח מערכת התמיכה הנוכחית דיאגרמת תורים, קריטריוני הפצה, נקודות איסוף נתונים
פיתוח SDK ללקוח ספריית איסוף מטא-דאטה ל-iOS/Android
אינטגרציה של מנוע ניתוב בשרת נקודת קצה REST/GraphQL עם מודל ML
סטטוס בזמן אמת ערוץ WebSocket/SSE, ווידג'טים לממשק המשתמש
בדיקות וניפוי שגיאות בדיקת A/B, מדדי דיוק וזמן עיבוד
תיעוד והדרכת צוות תיעוד API, לוחות מחוונים לניטור

הערכות זמנים

ניתוב בסיסי מבוסס כללים עם הקשר לקוח — מ-5 ימים. תוכנית היברידית עם דירוג ML — מ-3 שבועות. סטטוס WebSocket בזמן אמת — מ-3 ימים בנפרד. מחזור יישום מלא — מ-2 חודשים.

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