המרכיב השלישי שהופך מודל לסוכן
הערך סוכן בינה מלאכותית באתר הזה מגדיר סוכן לפי שלושה מרכיבים שנוספים מעל מודל-שפה רגיל: קריאה לכלים, תכנון, וזיכרון. זיכרון סוכן הוא המרכיב השלישי — היכולת של הסוכן לשמור מידע שנוצר תוך כדי העבודה, ולהשתמש בו בהמשך במקום להתחיל כל צעד מאפס.
הצורך במרכיב הזה נובע מתכונה בסיסית של מודלי-שפה: המודל עצמו אינו זוכר דבר בין פנייה לפנייה. כל מה שהוא "יודע" ברגע נתון הוא הטקסט שהוזן לו באותה פנייה — ההנחיה, היסטוריית השיחה, ותוצאות הכלים שהופעלו עד כה. ברגע שהטקסט הזה נגמר, המידע נעלם. לצ'אטבוט שעונה על שאלה בודדת זה כמעט לא מפריע. לסוכן שמריץ עשרות צעדים ברצף זה קריטי, כי כל צעד אמור להישען על מה שהתברר בצעדים שקדמו לו.
ליליאן וונג (Lilian Weng) פרסמה ביוני 2023 סקירה מקיפה של ארכיטקטורות סוכנים — רשומת-בלוג אישית, לא מאמר שעבר שיפוט-עמיתים, שכתובה כמפת-דרכים לבניית סוכן. וונג לא הייתה משקיפה מבחוץ: באותה שנה, אחרי השקת GPT-4, הוטל עליה להקים את צוות מערכות-הבטיחות של OpenAI, והיא עמדה בראשו. בסקירה מופיעים בדיוק שלושת המרכיבים האלה — תכנון, זיכרון, קריאה לכלים — והזיכרון עצמו מחולק שם לשתי שכבות שנבדלות זו מזו בתכלית. ההבחנה ביניהן היא המפתח להבין למה סוכנים מתנהגים כפי שהם מתנהגים.
זיכרון קצר-טווח: מה קורה לסוכן כשההקשר נגמר
השכבה הראשונה היא הזיכרון שקיים ממילא בכל פנייה למודל: הטקסט שנשלח אליו באותו רגע. וונג ממפה את השכבה הזו ל"למידה בתוך ההקשר" (In-Context Learning), ומציינת שהיא מוגבלת ישירות באורך חלון ההקשר של המודל. חלון ההקשר עצמו הוא תכונה של המודל ולא של הסוכן, ויש לו ערך משלו באתר הזה בקטגוריית מודלי השפה; זיכרון סוכן הוא מה שנבנה מסביב למגבלה הזו.
מה שנוגע לסוכן הוא מה שקורה לו כשהמקום נגמר. כל צעד מוסיף טקסט: ההנחיה, הנימוק, קריאת-הכלי, והתוצאה שחזרה ממנו. אחרי מספיק צעדים החלון מתמלא, והחלקים הראשונים — לרוב אלה שהגדירו מה בכלל המטרה — נדחקים החוצה. הסוכן אינו עוצר ואינו מודיע על כך: הוא ממשיך לפעול על בסיס תמונה חלקית של המשימה, וזו אחת הסיבות הנפוצות לכך שמשימה ארוכה מתדרדרת דווקא באמצעה.
מאמר MemGPT מאוקטובר 2023 מנסח את הבעיה במפורש: מודלי-שפה, בלשון המאמר, "מוגבלים על ידי חלונות-הקשר מוגבלים, מה שפוגע בשימושיות שלהם במשימות כמו שיחות ממושכות וניתוח מסמכים". זו הנקודה שבה זיכרון קצר-טווח לבדו מפסיק להספיק, ונדרשת שכבה שנייה.
כדי להסביר את החלוקה הזו, וונג נשענת על מיון מוכר מהפסיכולוגיה של הזיכרון האנושי: זיכרון חושי שמחזיק רושם של שניות ספורות בלבד, זיכרון קצר-טווח שמחזיק בערך שבעה פריטים למשך עשרים עד שלושים שניות, וזיכרון ארוך-טווח שמחזיק מידע לאורך זמן רב ובקיבולת כמעט בלתי-מוגבלת. ההקבלה אינה מדויקת, אבל היא מסבירה היטב למה סוכן זקוק לשתי מערכות ולא לאחת.
זיכרון ארוך-טווח: מחסן חיצוני ואחזור לפי צורך
השכבה השנייה היא מידע שנשמר מחוץ למודל ונשלף רק כשצריך אותו. וונג מתארת אותה כמחסן וקטורי חיצוני שהסוכן יכול לפנות אליו בזמן השאילתה, בגישה מהירה — כלומר מסד נתונים וקטורי שמחזיק את המידע, ומנגנון שמאתר בו את הפריטים הרלוונטיים לצעד הנוכחי ומכניס רק אותם לחלון.
המחסן הזה אינו גוש אחיד. החלוקה המקובלת בתעשייה, כפי שמנסח אותה החוקר פיליפ שמיד (Philipp Schmid) בסקירה מאוגוסט 2025, מפצלת את הזיכרון ארוך-הטווח לשלושה סוגים. זיכרון סמנטי הוא ה"מה": עובדות ומושגים על המשתמש ועל העולם — למשל שהוא מעדיף שפת-תכנות אחת על פני אחרת. זיכרון אפיזודי הוא ה"מתי ואיפה": אירועים ואינטראקציות שקרו בפועל, שהסוכן חוזר אליהם כדי לבצע משימה דומה. זיכרון פרוצדורלי הוא ה"איך": כללים על אופן הביצוע עצמו — למשל המסקנה "הסיכומים שלי ארוכים מדי", אחרי שכמה משתמשים ביקשו לקצר.
מבחינה מנגנונית זהו אותו רעיון שמוכר מאחזור-מוגבר-בייצור (RAG): הטקסט מומר לייצוג מספרי — הטמעה וקטורית — ונשמר, ובזמן החיפוש מאתרים את הפריטים הקרובים אליו ביותר. ויקיפדיה מתארת את הצעד הזה כמאחזר-מסמכים שנקרא ראשון כדי לבחור את המסמכים הרלוונטיים ביותר לשאלה. מכיוון שסריקה מדויקת של מאגר גדול איטית מדי, בפועל משתמשים באלגוריתמים שמוותרים על דיוק מוחלט תמורת מהירות — הם מחזירים פריטים קרובים מאוד, לא בהכרח את הקרוב ביותר; הערך מסד נתונים וקטורי מסביר איך.
ההבדל המעשי בין שתי השכבות פשוט. הקצרה מוגבלת בגודלה, זמינה כולה בכל רגע, ונמחקת בתום המשימה. הארוכה כמעט בלתי-מוגבלת בגודלה ושורדת אחרי המשימה — אבל הסוכן רואה ממנה רק את מה שמנגנון האחזור בחר להביא, וזו נקודת-כשל בפני עצמה. שמיד מונה שלוש בעיות שנובעות מכך: אחזור של זיכרון לא-רלוונטי או מיושן, שמכניס רעש; "נפיחות" של מאגר שגדל עד שקשה למצוא בו דבר; והצורך לשכוח — למחוק מידע שאיבד את ערכו בלי למחוק את מה שעדיין חיוני.
שתי ארכיטקטורות זיכרון: Generative Agents ו-MemGPT
שני מאמרים מ-2023 מתארים ארכיטקטורות-זיכרון שלמות לסוכן, וכל אחד מהם ניגש לבעיה מכיוון אחר לגמרי.
הראשון, Generative Agents, פורסם באפריל 2023 על ידי ג'ון סונג פארק (Joon Sung Park) ועמיתיו, ובנה עיירה וירטואלית שבה חיים עשרים וחמישה סוכנים. הארכיטקטורה, בלשון המאמר, מרחיבה מודל-שפה כך שישמור רישום מלא של חוויות הסוכן בשפה טבעית — "זרם-זיכרון" — יסנתז אותן לאורך זמן לרפלקציות ברמה גבוהה יותר, וישלוף אותן באופן דינמי כדי לתכנן התנהגות. האחזור, כלומר בחירת הזיכרונות הרלוונטיים לרגע הנוכחי, הוא חלק מהמנגנון הזה ולא מרכיב נפרד לצידו. מה מכל זה באמת תורם המאמר בדק בנפרד, בניסויי-ניטרול, ודיווח שתצפית, תכנון ורפלקציה — כל אחד מהשלושה — תרמו תרומה קריטית לאמינות ההתנהגות.
השני, MemGPT, פורסם באוקטובר 2023 על ידי צ'ארלס פאקר (Charles Packer) ועמיתיו, ושאל את הפתרון ממערכות-הפעלה. הרעיון, בלשון המאמר, הוא "ניהול-הקשר וירטואלי, טכניקה בהשראת מערכות-זיכרון היררכיות במערכות-הפעלה מסורתיות, שיוצרות מראית-עין של משאבי-זיכרון גדולים באמצעות העברת נתונים בין זיכרון מהיר לזיכרון איטי". בפועל הסוכן מעביר בעצמו מידע פנימה והחוצה מחלון-ההקשר, כמו מערכת-הפעלה שמחליפה דפים בין זיכרון-עבודה לדיסק. המאמר נבחן בשני תחומים: ניתוח מסמכים ארוכים, ושיחה שנמשכת על פני מפגשים רבים.
מזיכרון-מחקר לתכונת-מוצר: זיכרון-משתמש וקבצי-זיכרון
בשנים שאחרי המאמרים האלה הזיכרון הפך מנושא-מחקר לתכונה שמשתמש רגיל נתקל בה ישירות.
בצד המשתמש הפרטי, OpenAI השיקה בפברואר 2024 זיכרון ב-ChatGPT, בתחילה למספר מצומצם של משתמשים בגרסה החינמית ובגרסאות בתשלום. המערכת, כפי שתוארה אז, יכולה לשאת את מה שלמדה בין שיחות; המשתמש יכול לבקש ממנה לזכור דבר-מה במפורש, או לתת לה לאסוף פרטים בעצמה, ולכבות או לרוקן את התכונה מתפריט-ההגדרות. באותה הכרזה נוספה גם "שיחה זמנית", שמתחילה מדף חלק ואינה ניגשת לזיכרונות כלל.
בצד מי שבונה סוכנים, Anthropic מתעדת "כלי-זיכרון" שבו הסוכן מנהל תיקייה של קבצי-זיכרון: הוא יכול ליצור, לקרוא, לעדכן ולמחוק קבצים שנשמרים בין מפגשים ובונים ידע לאורך זמן, בלי להחזיק את הכול בחלון-ההקשר. זו אינה שכבה שלישית אלא צורה נוספת של השכבה הארוכה — אותו רעיון של מידע ששורד מחוץ למודל, אלא שכאן הוא יושב בקבצים שהסוכן כותב לעצמו, ולא במאגר שמנגנון אחזור חופר בו. התיעוד מציין שהמערכת מוסיפה להנחיה משפט מפורש בנוסח "הנח שתופרע: חלון-ההקשר שלך עלול להתאפס בכל רגע, ולכן אתה מסתכן באובדן כל התקדמות שלא נרשמה בתיקיית-הזיכרון" — ניסוח שממחיש היטב מה הזיכרון בא לפתור.
מה עדיין לא פתור: זיכרון שגוי, פרטיות והצטברות
הזיכרון פותר בעיה אחת ויוצר אחרת. ברגע שהסוכן כותב לעצמו מסקנה שגויה, היא נשמרת וממשיכה להשפיע על כל מפגש הבא — בשונה מטעות בשיחה בודדת, שנעלמת עם סגירתה. ככל שהזיכרון גדל, כך קשה יותר לאתר בתוכו את הפריט המסוים שגורם לבעיה, ולהבחין בינו לבין מידע נכון שנשמר לצידו.
הבעיה השנייה היא פרטיות ושליטה. זיכרון שימושי הוא, כמעט בהגדרה, זיכרון שכולל פרטים אישיים — ומישהו צריך להחליט מה נכתב, מי רואה אותו, וכמה זמן הוא נשמר. התיעוד של Anthropic מטיל את האחריות הזו במפורש על מי שבונה את היישום, ומונה ארבע הגנות שהוא צריך לממש בעצמו: סינון מידע רגיש לפני הכתיבה, הגבלה על גודלם של קבצי-הזיכרון, מחיקה תקופתית של קבצים שלא נקראו זמן רב, ובדיקה שכל נתיב שהסוכן מבקש נשאר בתוך תיקיית-הזיכרון ואינו מטפס אל קבצים אחרים במערכת.
בצד המשתמש הרגיל השליטה מצומצמת בהרבה, ומסתכמת בשלוש שאלות שכדאי לשאול על כל כלי שמציע זיכרון: אפשר לראות מה נשמר? אפשר למחוק פריט בודד? אפשר לכבות את התכונה? הפרטים משתנים מכלי לכלי ולאורך הזמן, אבל יש הבחנה אחת שקל לפספס, והיא הובהרה כבר בהשקה של פברואר 2024: מחיקת שיחה מהיסטוריית-השיחות אינה מוחקת את הזיכרונות שנוצרו ממנה — צריך למחוק את פריט-הזיכרון עצמו.