דילוג לתוכן
תפריט

המוצר

פתרונות

אינטגרציות

מפתחים

שפה

המוצר

מחקר ונימוקים

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

לקמפל, לא לאחזר

באפריל 2026 פרסם Andrej Karpathy "קובץ רעיון" קצר על מה שהוא כינה LLM wiki. ai-memory הוא הרעיון הזה, מותאם לסוכני קוד שלא מפסיקים לייצר חומר.

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

שלוש שכבות

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

שלוש פעולות

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

תרשים: שלוש השכבות של Karpathy משמאל, מקורות גולמיים, ויקי וסכמה, וכל אחת ממופה למקבילה שלה ב-ai-memory מימין: תצפיות מ-hooks, markdown ב-git, ובלוק שמותקן בתוך AGENTS.md.
שלוש השכבות של Karpathy, ואיפה כל אחת מהן נמצאת בהתקנה של ai-memory.

מה ai-memory שמר

  • קובצי markdown ב-repository של git, בתור הדבר שאדם יכול לפתוח, לעשות לו diff ולקרוא.
  • קומפילציה של הידע ברגע שהוא מגיע, כשסשן אחד מתפצל לכמה דפים.
  • wikilinks בין דפים בתור הגרף.
  • lint לסתירות, לדפים מיושנים, לדפים יתומים ולכותרות כפולות.
  • בלוק סכמה שמותקן בתוך CLAUDE.md או AGENTS.md, כדי שהסוכן יידע איך להשתמש בוויקי.

מה הוא שינה

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

ב-gistב-ai-memory
מוסרים ל-LLM מקור אחד בכל פעםhooks של מחזור החיים לוכדים כל סשן בעצמם
הסוכן קורא קודם את index.mdאינדקס משולב אחד: טקסט מלא, ישויות, קישורים ווקטורים
LLM עושה את כל התחזוקהסיכומים מבוססי כללים כברירת מחדל. LLM הוא opt-in
אדם אחד, ויקי אחדהעברות בין סוכנים, כמה משתמשים, scope לכל פרויקט
דפים חיים לנצחשכבות זיכרון, דעיכה, החלפת עובדות ישנות ו-TTL משאירים דפים מיושנים בחוץ

שכבות זיכרון, דעיכה והחלפת עובדות ישנות לא מופיעות ב-gist של Karpathy. הן מגיעות מ-agentmemory ומהכתיבה על "LLM Wiki v2" שסביבו. סיכומי הקריאה המלאים נמצאים ב-repository.

הזיכרון שלכם כבר בפורמט פתוח

Open Knowledge Format הוא מפרט ש-Google Cloud פרסמה ביוני 2026. הוא מתאר ידע כתיקייה פשוטה של קובצי markdown עם YAML frontmatter, מושג אחד לכל קובץ, ושדה חובה יחיד: type. אין SDK ואין runtime.

  • מאז 2.0 הוויקי הוא bundle של OKF v0.2 באופן מובנה. הקבצים ש-ai-memory עובד עליהם הם קובצי ה-OKF עצמם, כך שאין שלב export שיכול לסטות מהאמת.
  • פרויקט אחד הוא bundle אחד, עם index.md שנוצר אוטומטית בשורש שלו.
  • לכל דף יש YAML frontmatter עם type, שנגזר מהתיקייה שבה הדף נמצא.
  • שדרוג מ-1.x כותב מחדש את ה-frontmatter במקום, אחרי גיבוי מאומת. אם הגיבוי נכשל, המיגרציה נעצרת.
אריזת פרויקט אחד כ-bundle מאומת
ai-memory export-okf --project myproject -o myproject-bundle.tar.gz

אין פקודת import. פורסים bundle לתוך תיקיית הוויקי של פרויקט, וה-file watcher מאנדקס אותו. המיפוי ל-OKF מתועד שדה אחר שדה, והמפרט נמצא בrepository knowledge-catalog של Google Cloud.

תיקייהtype ב-OKF
sessions/Session Summary
decisions/Decision
gotchas/Gotcha
procedures/Procedure
concepts/Concept
_rules/Rule
notes/Note
runbooks/Runbook
_slots/Invariant או State
תרשים: תיקיית פרויקט שמכילה index.md ודפים עם type, החלטה, מלכודת ונוהל, עוברת בלי שינוי אל Obsidian, אל grep ואל כלי OKF אחר.
bundle הוא תיקייה. כל מה שקורא markdown יכול לקרוא אותו, עם ai-memory או בלעדיו.

"את המודל ואת ה-harness שוכרים. הזיכרון של הפרויקט שלך."

שמונה החלטות, והסיבה לכל אחת

רובן מובילות חזרה ל-issue מסוים בכלי זיכרון קודם.

  • בחרנו

    Markdown ב-git בתור האמת

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

  • בחרנו

    קובץ SQLite אחד

    כי טקסט מלא, וקטורים דחוסים וטבלאות קישורים יושבים בקובץ embedded יחיד. ה-issue trackers של פרויקטים אחרים הראו כמה באגי נכונות עולה סנכרון של שלושה stores.

  • בחרנו

    אפס קריאות LLM כברירת מחדל

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

  • בחרנו

    קובץ בינארי אחד

    כי SQLite מגיע בפנים, libgit2 הוא vendored וה-embedder כתוב ב-Rust טהור. מנוע sidecar נפרד היה מקור הכאב הגדול ביותר של משתמשים בפרויקט שהפרויקט הזה מחליף.

  • בחרנו

    בלי מסד נתונים גרפי

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

  • בחרנו

    וקטורים הם אופציונליים

    כי embeddings מקומיים דלוקים מאז 2.0 ועדיין אף פעם לא חובה. החיפוש הוא קוסינוס ב-brute force בתוך SQLite; הרחבת וקטורים מחכה עד שמספר הדפים או ההשהיה יצדיקו אותה.

  • בחרנו

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

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

  • בחרנו

    דפים במקום שורות של עובדות

    כי דף על החלטה אפשר לקרוא, לערוך ולהסביר בפרוזה. טבלה של עובדות שחולצו אי אפשר לפתוח ב-Obsidian או לסקור ב-diff.

לכל החלטות התכנון

על כתפי מי שקדמו

הפרויקט קרא את הקוד ואת ה-issue trackers של הכלים שהיו קודם, שמר את הרעיונות שהחזיקו מעמד והשאיר בחוץ את החלקים שנשברו שוב ושוב.

תרשים: שבעה פרויקטים קודמים, הוויקי של Karpathy, agentmemory, basic-memory, cognee, Hermes Agent, A-MEM ו-Hindsight, וכל אחד מהם מזין קו אחד אל ai-memory.
Karpathy LLM Wiki
לקמפל, לא לאחזר. הוויקי שעל הדיסק הוא התוצר.
agentmemory
לכידה אוטומטית מ-hooks, שכבות זיכרון, החלפת עובדות ישנות, דעיכה כנוסחה ודירוג משולב. ai-memory הוא היורש שלו ב-Rust: הרעיונות נשארו, התשתית התחלפה.
basic-memory
קבצים כמקור האמת עם אינדקס נגזר, וקישורים קדימה לדפים שעדיין לא קיימים.
cognee
המבנה של צינור משימות, חותמות של מקור המידע על כל דף ופידבק שמכוונן את הדירוג.
Hermes Agent
התכנון של לולאת השיפור העצמי, שסוקרת ברקע סשנים שהסתיימו.
A-MEM
פתקים אטומיים בסגנון Zettelkasten שמתקשרים זה לזה אוטומטית.
Hindsight
תוויות מיסוך מטופסות, ספירת ראיות לכל דף ותדריך שפותח בכללים שכבר הוכרעו.
Honcho
תשובות עם ציטוטים, רמות reasoning, והתזמון של סבב החלום: טריגר של חוסר פעילות, ביטול כשיש פעילות, והחדשני ביותר קודם.

אף אחד מהפרויקטים האלה לא נותן חסות ל-ai-memory. כדי לראות איפה כל אחד מהם מקדים, ראו את ההשוואה.

מה נמדד

מערך האחזור מקבל ציון על LongMemEval-S: 470 שאלות על היסטוריות צ'אט ארוכות, שרצות דרך מסלול ה-hooks האמיתי והחיפוש האמיתי. ה-harness של הבדיקה נמצא ב-repository.

hit@5 על LongMemEval-Sשיעור השאלות, מתוך 470, שסשן עם ראיה הופיע עבורן בחמש התוצאות הראשונות. גבוה יותר עדיף.
  1. טקסט מלא בלבד, לפני 2.00.617
  2. טקסט מלא עם סינון stopwords0.666
  3. בתוספת embeddings מקומיים (ברירת המחדל)0.815

מה היה כל צעד

  • הסרת stopwords משאילתות טקסט מלא הוסיפה 5.1 נקודות ל-hit@5 ו-8.5 ל-hit@1.
  • מודל ה-embeddings שרץ בתוך התהליך הוסיף את השאר. מימוש נכון של masked-mean pooling היה שווה לבדו בערך 6.6 נקודות.
  • אף שורה לא מערבת מפתח API או LLM.
מדדלפני 2.0טקסט מלא מסונןembeddings מקומיים
hit@10.4490.5320.536
hit@50.6170.6660.815
recall@50.4720.5360.677

להריץ בעצמכם

מוסיפים --candidate-embeddings local לפקודה השנייה כדי להריץ טקסט מלא ו-embeddings מקומיים זה לצד זה. ההרצה שפורסמה היא מתאריך 21 בספטמבר 2026, על Ryzen 9 7950X3D.

שחזור הבנצ'מרק
cargo build --release -p ai-memory-cli
cargo run --release -p ai-memory-eval -- retrieval --fetch

התוצאות המלאות, לפי סוג שאלה

גם קצב הכתיבה נמדד. המספרים נמצאים בדף הארכיטקטורה.

מה embeddings מקומיים נותנים, וכמה הם עולים

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

מדדטקסט מלא, בלי LLMembeddings מקומייםשינוי
hit@10.5320.536+0.004
hit@50.6660.815+0.149
hit@100.6940.891+0.198
recall@100.5640.817+0.254
זמן שאילתה, חציון5 ms94 ms+89 ms
זמן שאילתה, אחוזון 9540 ms162 ms+122 ms
טוקנים של הקשר לשאילתה, ממוצע350.3415.7+65.4
  • שתי הרצות מלאות על אותו commit קיבלו 0.815 ו-0.821, ולכן כדאי לקרוא את hit@5 כבערך 0.82, פלוס מינוס 0.005. ההרצה הקודמת, מ-1 בספטמבר 2026, קיבלה 0.823, כלומר אותה תוצאה. התיישנות הזיכרון כבויה כברירת מחדל, ולכן חיפוש ברירת המחדל לא השתנה.
  • בתוך הרצה אחת ה-harness דטרמיניסטי: שתי הרצות של אותה תצורה נותנות דיוק וספירת טוקנים זהים. בין הרצות נפרדות, סוגי השאלות הקטנים זזים עד 0.03 לכל כיוון, ולכן ירידה באחד מהם בהרצה בודדת כמעט לא אומרת דבר.

מה הלאה, ואיפה הפרויקט מאחור

אלה המלצות מתועדות ב-repository. לאף אחת מהן אין תאריך.

מומלץ בהמשך

  • דיוק התשובות בקנה מידה מלא

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

  • reranker מקומי

    cross-encoder שרץ בתוך התהליך, בלי LLM. הוא מחכה ל-harness שלמעלה כדי להוכיח שהוא שווה את זה.

  • ברירות מחדל שמגובות במספרים

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

  • פקודת sync מוגבלת

    או תיאור פשוט יותר של מודל השרת האחד, או ai-memory sync שבנוי על הוויקי ב-git.

  • התחלה קלה יותר למשתמשי Claude Code

    כלי ייבוא למי שמגיע מהזיכרון המובנה של Claude.

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

איפה הוא מאחור היום

ציוני האחזור הגולמיים נמוכים מאלה של כלים שמבצעים rerank, ולהתיישנות הזיכרון עדיין אין תוצאה מדודה. הרשימה המלאה נמצאת בדף ההשוואה.

"1.x הוכיחה שהרעיון עובד. 2.0 היא הגרסה שהייתי ממליץ עליה בלי כוכבית למי שרוצה להכניס אותה לצוות."

שאלות ותשובות

מה רעיון ה-LLM Wiki של Karpathy שמאחורי ai-memory?

ה-gist של Andrej Karpathy מאפריל 2026 מתאר LLM שבונה ומתחזק ויקי קבוע של קובצי markdown, שעומד בינכם לבין המקורות הגולמיים, כך שהידע מקומפל פעם אחת ונשמר מעודכן. ai-memory מיישם את זה לסוכני קוד, עם לכידה אוטומטית מ-hooks של מחזור החיים ומסלול ברירת מחדל שלא מבצע קריאות LLM.

האם ai-memory תואם ל-Open Knowledge Format?

מאז 2.0 כל פרויקט בוויקי הוא bundle של OKF v0.2 באופן מובנה. לכל דף יש YAML frontmatter עם type, לכל פרויקט יש index.md שנוצר אוטומטית, והפקודה ai-memory export-okf אורזת פרויקט ל-tarball מאומת.

מה הבנצ'מרק LongMemEval-S מודד אצל ai-memory?

אחזור בלבד: האם סשן שמחזיק את הראיה מופיע בתוצאות הראשונות, על פני 470 שאלות. hit@5 הוא 0.815 עם ה-embeddings המקומיים של ברירת המחדל ו-0.666 עם טקסט מלא בלבד. הוא לא מודד דיוק של תשובות.

קוראים את הנימוקים. אחר כך מנסים.

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