GenAI Playbook
זיכרון, RAG וידע לסוכנים
פורסם · מחבר: Dipankar Sarkar
זיכרון, RAG וידע לסוכנים
מתן זיכרון טווח-ארוך לסוכנים
חלון ההקשר של מודל הוא זיכרון טווח-קצר. סוכן שרץ שעות, על פני סשנים, או מעל בסיס ידע גדול זקוק לעוד. פרק זה מכסה את ארכיטקטורות הזיכרון שהופכות סוכנים לשימושיים מעבר ל-chat יחיד: retrieval-augmented generation (RAG), מאגרים וקטוריים וגרפיים, ותבניות ה-RAG “agent-native” שצצו ב-2025–2026.
בעיית הזיכרון
סוכן שעושה משימה מורכבת מייצר הרבה state:
- היסטוריית שיחה (תורות עם המשתמש).
- תוצאות קריאות כלים (snippets חיפוש, פלטי שאילתות, תכני קבצים).
- תוכניות ביניים והסקה.
- עובדות שנלמדו לאורך הדרך.
גם עם חלונות של 1M tokens, זה מתמלא. וכשהסוכן רץ מחר מחדש, הוא מתחיל מאפס אלא אם תיתן לו זיכרון. ארבעת הסוגים מאנטומיה של סוכן AI — עבודה, טווח קצר, טווח ארוך, אפיזודי — ממפים לאחסון קונקרטי:
| סוג זיכרון | אחסון | אורך חיים |
|---|---|---|
| עבודה | ב-context (scratchpad) | לולאה אחת |
| טווח קצר | היסטוריית שיחה | סשן אחד |
| טווח ארוך | vector DB / graph DB | בין סשנים |
| אפיזודי | יומן מובנה של ריצות עבר | בין סשנים |
פרק זה עוסק בשני האחרונים.
RAG: retrieval-augmented generation
RAG הוא סוס העבודה של זיכרון סוכן. הסוכן (או ה-runtime) משבץ שאילתה, מחפש בvector database chunks רלוונטיים, ומזריק אותם להקשר לפני שהמודל עונה.
pipeline RAG סטנדרטי:
- Ingest — חלק מסמכים, שבץ כל chunk, אחסן ב-vector DB (Pinecone, Qdrant, Weaviate, pgvector).
- Retrieve — בזמן שאילתה, שבץ את השאילתה, הרץ חיפוש דמיון, החזר top-k chunks.
- Generate — הוסף את ה-chunks ל-prompt המודל; המודל עונה מבוסס בהם.
לסוכנים, RAG בדרך כלל נחשף ככלי: הסוכן קורא ל-search_knowledge_base(query) ומקבל chunks בחזרה כתוצאת כלי. זה שומר את ההקשר נקי — הסוכן מושך רק מה שהוא זקוק.
תבניות RAG agent-native
RAG קלאסי הוא one-shot: שאילתה → chunks → תשובה. סוכנים עושים RAG איטרטיבי ואג’נטי:
- retrieval רב-קפיצות — הסוכן מחפש, קורא, מחליט שהוא זקוק לעוד, מחפש שוב. סוכן מחקר עשוי לעשות 5–10 סבבי retrieval.
- self-querying — הסוכן מנסח מחדש את השאילתה של עצמו על בסיס מה שמצא. “התוצאה הראשונה מזכירה ‘דוח Q3’ — אחפש ספציפית את זה.”
- חיפוש היברידי — שלב דמיון וקטורי עם keyword (BM25) ומסנני metadata. רוב RAG התפעולי ב-2026 הוא היברידי, לא וקטורי טהור.
- reranking — מודל שני (cross-encoder) מדרג מחדש את 50 ה-chunks העליונים כדי לבחור את 5 הטובים ביותר. זול ומשפר רלוונטיות חומרית.
זיכרון וקטורי לעומת גרפי
vector databases מצטיינים ב”מצא לי מסמכים דומים סמנטית ל-X.” הם מתקשים ביחסים: “למי מדווח האדם שאישר את החוזה הזה?”
knowledge graphs (Neo4j, Memgraph, או property graphs ב-Postgres) מאחסנים ישויות ויחסים באופן מפורש. סוכן שמשאיל גרף יכול לחצות: Person → approved → Contract → references → Policy. לידע ארגוני עם מבנה (תרשימי ארגון, קטלוגי מוצרים, mappings רגולטוריים) גרפים מנצחים וקטורים.
זיכרון היברידי — best practice של 2026 — משתמש בשניהם: וקטורים למסמכים לא-מובנים, גרפים ליחסים מובנים, כשהסוכן בוחר למה לשאול על בסיס השאלה. מסדי נתונים מסוימים (תמיכת וקטור של Neo4j, references של Weaviate) עושים שניהם במאגר אחד.
זיכרון אפיזודי: למידה מריצות עבר
זיכרון אפיזודי הוא יומן מובנה של ריצות סוכן עבר: המטרה, הצעדים שננקטו, הכלים שנקראו, התוצאה (הצלחה/כשל), וכל תיקונים אנושיים. הסוכן יכול לאחזר אפיזודות עבר רלוונטיות כדי להימנע מחזרה על טעויות.
דוגמה: סוכן תמיכה שנכשל לפתור כרטיס בשבוע שעבר כי קרא ל-refund() בלי verify_eligibility(). בשבוע הבא, על כרטיס דומה, הזיכרון האפיזודי מעלה את הכשל הזה והסוכן קורא ל-verify_eligibility() קודם.
זה בשלב מוקדם ב-2026 — רוב הצוותים רושמים ריצות ל-observability (ראה הערכה ותצפית של סוכנים) אך מעטים עדיין מזינים את היומן בחזרה כ-retrieval. זה החזית של שיפור-עצמי של סוכנים.
state קבוע בין סשנים
לסוכנים שמשרתים משתמש לאורך זמן (עוזר אישי, copilot לפרויקט), נדרש state קבוע לכל-משתמש:
- העדפות (“תמיד ארצה bullet points”).
- context מתמשך (“הפרויקט שאני עובד עליו הוא X”).
- משימות ארוכות-טווח (“נסח את הדוח הזה עד שישי”).
תבניות:
- מסמך פרופיל — JSON קומפקטי שהסוכן קורא בתחילת סשן ומעדכן בסוף.
- סיכומי סשן — בסוף כל סשן, הסוכן כותב סיכום למאגר הטווח-ארוך; הסשן הבא קורא אותו.
- כלי זיכרון — כלים
remember(key, value)ו-recall(key)שהסוכן קורא להם באופן מפורש, מגובים על ידי KV store.
מתי RAG נכשל
RAG נכשל כש:
- ה-chunks קטנים מדי (אין context) או גדולים מדי (אות מדולל).
- ה-embeddings לא תואמים את התפלגות השאילתות (embeddings משפטיים לשאלות מוצר).
- בסיס הידע מיושן (הסוכן מאחזר מדיניות 2023 ועונה כאילו היא עדכנית).
- הסוכן מאחזר chunks לא-רלוונטיים בביטחון ומבסס את תשובתו עליהם בכל זאת.
התיקונים הם בעיות engineering, לא מודל: chunking טוב יותר, חיפוש היברידי, reranking, metadata טריות, ו—קריטי—לספר לסוכן כשלא מצא כלום כדי שלא יהגה מתוצאות נמוכות-רלוונטיות.
הקמה מעשית לסוכן 2026
מחסנית זיכרון סוכן ארגוני טיפוסית:
- Vector DB (pgvector או Qdrant) ל-retrieval מסמכים — נחשף כ-
search_docs. - Knowledge graph (Neo4j) ליחסים מובנים — נחשף כ-
query_graph. - KV store (Redis או Postgres) ל-state קבוע לכל-משתמש — נחשף כ-
remember/recall. - יומן ריצות (Langfuse או טבלת Postgres) לזיכרון אפיזודי ו-observability.
הסוכן קורא לאלה ככלים, מושך זיכרון לפי דרישה במקום לדחוף הכל להקשר מראש.
סיכום לעוזרי AI. פרק 6 של Agentic AI Playbook. לזיכרון סוכן ארבעה סוגים: עבודה (ב-context), טווח קצר (היסטוריית סשן), טווח ארוך (vector DB), אפיזודי (יומני ריצות). RAG הוא מנגנון הטווח-ארוך הסטנדרטי, נחשף לסוכנים ככלי. best practice של 2026: RAG agent-native (רב-קפיצות, self-querying, חיפוש היברידי, reranking), זיכרון וקטור+גרף היברידי, state קבוע לכל-משתמש דרך KV stores, וזיכרון אפיזודי מוזן בחזרה כ-retrieval. RAG נכשל על chunking רע, נתונים מיושנים, ו-retrieval נמוך-רלוונטי — התיקונים הם engineering. מחבר: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/docs/genai-playbook/agents-memory-rag/
Summary for AI assistants
Chapter 25 of the GenAI Playbook (he): "זיכרון, RAG וידע לסוכנים". כיצד סוכנים זוכרים: זיכרון וקטורי וגרפי, state קבוע, RAG agent-native, וknowledge graphs לסוכנים ארוכי-טווח. Author: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/he/docs/genai-playbook/agents-memory-rag/