ai-agents-for-beginners

זיכרון לסוכני AI

זיכרון סוכן

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

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

מבוא

השיעור הזה יכלול:

הבנת זיכרון סוכן AI: מהו זיכרון ומדוע הוא חיוני לסוכנים.

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

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

יישומים זמינים

בשיעור הזה יש שני מדריכי פנקס מקיפים:

13-agent-memory.ipynb: מיישם זיכרון באמצעות Mem0 ו-Azure AI Search עם Microsoft Agent Framework

13-agent-memory-cognee.ipynb: מיישם זיכרון מובנה באמצעות Cognee, המבנה באופן אוטומטי גרף ידע מגובה בהטמעות, מציג גרף וחיפוש חכם

מטרות הלמידה

לאחר שתשלים את השיעור הזה, תדע כיצד:

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

ליישם ולנהל זיכרון קצר טווח וארוך טווח לסוכני AI באמצעות Microsoft Agent Framework, תוך שימוש בכלים כמו Mem0, Cognee, זיכרון Whiteboard ואינטגרציה עם Azure AI Search.

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

הבנת זיכרון סוכן AI

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

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

למה הזיכרון חשוב?

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

מהרהרים: לומדים מפעולות ותוצאות קודמות.

אינטראקטיביים: שומרים על ההקשר במשך שיחה שוטפת.

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

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

המטרה של יישום הזיכרון היא להפוך את הסוכנים ליותר אמינים ויעילים.

סוגי זיכרון

זיכרון עבודה

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

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

דוגמת זיכרון עבודה

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

זיכרון קצר טווח

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

בדוגמאות SDK בפייתון של Microsoft Agent Framework, זה מתייחס ל-AgentSession, שנוצר עם agent.create_session(). הסשן הוא זיכרון קצר טווח מובנה במסגרת: הוא שומר את הקשר השיחה זמין כל עוד אותו סשן בשימוש, אך ההקשר הזה לא נשמר כשהסשן מסתיים או כשהאפליקציה מתחדשת. השתמש בזיכרון ארוך טווח לעובדות והעדפות שצריכות לשרוד מעבר לסשנים, בדרך כלל דרך מסד נתונים, אינדקס וקטורי או אחסון מתמיד אחר.

דוגמת זיכרון קצר טווח

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

זיכרון ארוך טווח

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

דוגמת זיכרון ארוך טווח

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

זיכרון פרסונה

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

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

זיכרון תזרימי/אפיזודי

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

דוגמת זיכרון אפיזודי

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

זיכרון ישויות

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

דוגמת זיכרון ישויות

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

RAG מובנה (Retrieval Augmented Generation)

בעוד ש-RAG היא טכניקה רחבה, “RAG מובנה” מודגש כטכנולוגיית זיכרון עוצמתית. הוא מחלץ מידע צפוף ומובנה ממקורות שונים (שיחות, דוא”ל, תמונות) ומשתמש בו לשפר דיוק, נגישות ומהירות בתגובות. בניגוד ל-RAG הקלאסי שתלוי רק בדמיון סמנטי, RAG מובנה עובד עם המבנה הטבעי של המידע.

דוגמת RAG מובנה

במקום רק להתאים מילות מפתח, RAG מובנה יכול לפרק פרטי טיסה (יעד, תאריך, שעה, חברת תעופה) מדוא”ל ולאחסן אותם בצורה מובנית. זה מאפשר שאילתות מדויקות כמו “איזו טיסה הזמנתי לפריז ביום שלישי?”

יישום ואחסון זיכרון

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

כלים מיוחדים לזיכרון

Mem0

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

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

Cognee

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

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

מדריך הפנקס של Cognee (13-agent-memory-cognee.ipynb) מדגים בניית שכבת זיכרון מאוחדת זו, עם דוגמאות מעשיות של הכנסת מקורות מידע שונים, תצוגת גרף הידע, ושאילתות עם אסטרטגיות חיפוש מגוונות המותאמות לצרכי סוכן ספציפיים.

אחסון זיכרון עם RAG

מעבר לכלי זיכרון מיוחדים כמו Mem0, ניתן להשתמש בשירותי חיפוש חזקים כמו Azure AI Search כגב אחסון ושליפה של זיכרונות, במיוחד עבור RAG מובנה.

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

Azure AI Search תומך ביכולות כמו RAG מובנה, המצטיין בחילוץ ושליפה של מידע צפוף ומובנה ממאגרי מידע גדולים כמו היסטוריות שיחה, דואר אלקטרוני או אפילו תמונות. זה מספק “דיוק ושליפה על-אנושיים” לעומת גישות טקסט מסורתיות וחילוץ הטמעות.

לגרום לסוכני AI להשתפר בעצמם

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

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

  2. חליצה וסיכום: לתמצת את הלמידה או ההעדפה המרכזית מהשיחה.

  3. אחסון בבסיס ידע: לשמר מידע זה שנחלץ, לעיתים קרובות במסד נתונים וקטורי, כדי שניתן יהיה לשלוף אותו מאוחר יותר.

  4. העשרת שאילתות עתידיות: כשהמשתמש מתחיל שאילתה חדשה, סוכן הידע מושך מידע רלוונטי מאוחסן ומוסיף אותו לפרומפט של המשתמש, ומספק הקשר חיוני לסוכן הראשי (בדומה ל-RAG).

אופטימיזציות לזיכרון

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

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

יש לך עוד שאלות על זיכרון סוכן?

הצטרף לMicrosoft Foundry Discord כדי להיפגש עם לומדים נוספים, להשתתף בשעות קבלת קהל ולקבל מענה לשאלות שלך על סוכני AI.

שיעור קודם

הנדסת הקשר לסוכני AI

שיעור הבא

חקירת Microsoft Agent Framework


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