צ'אטבוט AI ב-Microsoft Teams: ארכיטקטורת RAG לחיפוש ארגוני

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

תחומי פיתוח AI

שאלות נפוצות

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

  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1365
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1330
  • עיצוב לוגו לחברת B2B Advance
    עיצוב לוגו לחברת B2B Advance
    776
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1077
  • פיתוח לוגו חברת AIDER
    פיתוח לוגו חברת AIDER
    1022
  • פיתוח CRM עבור Chasseurs
    פיתוח CRM עבור Chasseurs
    1113

למה צ'אטבוט AI ב-Teams לא מוצא תשובות במסמכים

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

השכבה השנייה — הרשאות גישה. בוט שניגש לאחסון מחשבון שירות רואה או הכל או כלום: במקרה הראשון העובד מקבל מקטע מחוזה סגור, בשני — «אין מידע במסמכים».

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

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

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

מה משתנה לאחר ההטמעה: מהירות ודיוק התשובות

לפני ההטמעה עובד מחפש תשובה לשאלת עבודה בממוצע 8–12 דקות: סורק אחסון קבצים, מדפדף בהתכתבות, שואל בערוץ כללי. חלק מהשאלות הללו עוברות שוב לתמיכה — על נושאים טיפוסיים חלה חלק ניכר מהפניות, והקו הראשון עונה לאותו דבר במילים שונות.

העוזר חי ב-Microsoft Teams, לכן החיפוש מתבצע באותו חלון שבו האדם ממילא עובד: אין צורך להחליף הקשר ולנסח מחדש את השאלה. התשובה נבנית לא «מזיכרון» המודל, אלא ממקטעים של המסמכים שלך: אינדקס החיפוש נבנה מחדש לפי לוח זמנים, כל תשובה מכילה קישור לקובץ המקורי ולמדור שבו נמצאת ההתייחסות.

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

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

במדידות לאחר ההפעלה שיעור הפניות הללו יורד ב-40–60%, ומהירות התשובה של התמיכה עולה בזכות העובדה שהתור מפסיק להיות מורכב משאלות אחידות.

אפשרויות חיפוש בנתונים פנימיים: השוואת גישות

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

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

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

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

שלבי העבודה: מביקורת מקורות ועד מסירת המערכת

העבודה מתנהלת באיטרציות: התוצאה של כל שלב — תוצר שעליו נשען השלב הבא. להלן רצף ההטמעה של חיפוש ארגוני, ממיפוי ידע ועד מסירת המערכת לצוות שלך.

  1. ביקורת מקורות ידע. אוספים רשימת מערכות — אחסון קבצים, ויקי, ארכיוני דואר, בסיסי פניות — עם נפח ותדירות עדכון, בנפרד מסמנים כפילויות ומדורים מתים. התוצאה — מפת מקורות עם בעלים ועדיפות חיבור.
  2. סכמת חיפוש. קובעים אילו סוגי מסמכים חותכים למקטעים, כיצד מאחסנים מטא-נתונים (מחלקה, תאריך, סוג), כיצד משלבים חיפוש סמנטי ומדויק. מכך תלוי אם הבוט ימצא את סעיף הנוהל הנדרש או רק פסקה דומה.
  3. הפרדת הרשאות. הרשאות עוברות בירושה ממערכות המקור: בתשובה העובד רואה רק את מה שפתוח לו ישירות. בודקים על תפקידים משולבים — מנהל, קבלן חוץ, עובד חדש.
  4. סכמת פריסת הבוט והגדרה. מחליטים היכן נמצאים שירות האינדוקס והמודל, כיצד מתעדכן האינדקס ומה קורה בעת אי-זמינות מקור. הבוט עצמו מוטמע ב-Microsoft Teams כאפליקציה רגילה.
  5. בדיקה על שאלות בקרה. כמה עשרות שאלות עם תשובות ייחוס: מתעדים שיעור פגיעות נכונות במקור ושאלות שבהן אין תשובה. שגיאות מנתחים לפי סיבות — מסמך חסר, מיושן, אבד בפיצול.
  6. קבלת פתרון החיפוש. מדדים סוכמו מראש: דיוק הפגיעה במקור, זמן תשובה, היעדר דליפות של נתונים סגורים. בנפרד בודקים "לא יודע" כנה במקום תשובה מומצאת.
  7. מסירת המערכת. מוסרים סכמת פריסה, נוהל עדכון האינדקס, הוראות למנהלים ותוכנית פיתוח. הצוות מתחזק את המערכת בעצמו, אנחנו נשארים בכוננות.

מה מוסרים לידיים: תצורות, תרשימים ונהלים

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

  • תיאורי תצורות — מילון האינדקס, מודל אמבדינג, גודל מקטע וחפיפה, כמה מקורות מוחזרים בתשובה, סף רלוונטיות. עם נימוק: מדוע נבחרו ערכים אלו וכיצד לשנותם.
  • תרשים זרימת נתונים — מהמקורות (אחסון קבצים, ויקי, דואר) דרך ניתוח ואינדוקס ועד לתשובה בצ'אט. עם הערות היכן הנתונים מוצפנים ומה נמחק לאחר העיבוד.
  • מדיניות גישה לנתונים — הרשאות הבוט קשורות לחשבון העובד: בתשובה לא ייכנס מה שסגור במערכת המקורית. מטריצת תפקידים וחריגים מצורפת.
  • תיעוד להטמעת חיפוש — סדר חיבור מקורות חדשים, דרישות לפורמטים, רשימת בדיקות לאחר הוספה.
  • הוראות לעובדים — כיצד לנסח שאילתה, כיצד להעריך תשובה, לאן לדווח על שגיאה; גרסה קצרה על עמוד אחד להפצה.
  • נוהל עדכון בסיס הידע — תדירות אינדוקס מחדש מלא וחלקי, בעלים של כל מקור, פעולות בעת אי-סנכרון.
  • תוכנית נסיגה ויומן שינויים — אילו גרסאות של תוצרים תואמות וכיצד להחזיר את האינדקס למצב קודם.

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

מקרה בוחן: חיפוש בבסיס ידע לשירות תמיכה

מה היה לפני

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

עובד עם שאלה «איזה נוהל תקף כעת» חיכה לתשובה 25-40 דקות, אם נכנס לתור, וקיבל קישור לגרסה מיושנת של המסמך בערך בכל מקרה חמישי.

מה שינו

הרכבנו צ'אטבוט ארגוני ב-Microsoft Teams וחיברנו אותו לבסיס הידע באמצעות חיפוש סמנטי: המערכת מאתרת מקטעים רלוונטיים של נהלים ויוצרת תשובה עם קישור מחייב למקור. אם ביטחון החיפוש נמוך, הבוט לא ממציא, אלא מיד מציע הסלמה למומחה תורן עם הקשר השאלה כבר מצורף.

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

מה נהיה

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

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

מה לעשות אם צ'אטבוט כבר פרוס, אך עונה בצורה לא מדויקת?

תשובות לא מדויקות כמעט אף פעם לא קשורות למודל עצמו — הוא עונה בדיוק במידה שבה אינדקס החיפוש שמתחתיו מלא, עדכני ונחתך נכון. אבחון מתבצע בארבע נקודות: עדכניות המקורות, פיצול מסמכים למקטעים, התחשבות בהרשאות גישה ובדיקת תשובה לפי המקור הראשוני. אם хотя אחת לא מטופלת — הבוט עונה בצורה לא מדויקת אפילו על שאלות פשוטות.

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

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

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

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

ספקות טכניים נפוצים לפני תחילת העבודה

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

עד כמה החיפוש במסמכים שלנו יהיה מדויק?

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

איך החיפוש מתחשב בהרשאות גישה?

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

מה עושים עם מקורות הטרוגניים?

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

היכן מאוחסנים הנתונים והאינדקס?

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

מי מתחזק את בסיס הידע במצב עדכני?

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

נדון במשימה: נחזור עם הערכה ותוכנית עבודה

כדי לחזור עם הערכה ותוכנית עבודה, ולא עם שאלות הבהרה, כדאי לאסוף כמה נתוני פתיחה. מסמך רשמי אינו נחוץ — די בהבנה היכן נמצא הידע, למי הוא נחוץ ואילו מגבלות קיימות בסביבה. תשובות אלו בדיוק קובעות את הארכיטקטורה של צ'אטבוט החיפוש ואת הרכב השלבים. מה שבדרך כלל כדאי להכין לשיחה:

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

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

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