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

המוצר

פתרונות

אינטגרציות

מפתחים

שפה

המוצר

ההרגלים שלכם עוברים איתכם לפרויקט הבא

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

שתי תנועות, זיכרון אחד

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

אותו פרויקט, כל סוכן

Claude Code

ai-memory

Codex

OpenCode

פרויקט A

פרויקט B

פרויקט C

פרופיל

פרויקט חדש

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

מה סשן חדש שומע ראשון

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

בתחילת הסשן
> 🧭 ai-memory: your usual choices (cross-project profile)
> Your usual choices from other projects. Use them as defaults when this
> project's rules and the user say nothing; say which default you applied.
- [javascript] Use pnpm, not npm. (profile/tools/pnpm.md)
- Keep integration tests in tests/suite. (profile/testing/layout.md)

קודם הכללים, הזיכרון כברירת מחדל

  1. ההוראות שלכם בשיחה
  2. קובץ הכללים של הריפוזיטורי: AGENTS.md, CLAUDE.md או הקובץ של ה-harness עצמו
  3. הזיכרון של הפרויקט: הדפים, הכללים וההחלטות שלו
  4. הפרופיל: מה שאתם עושים בדרך כלל בין פרויקטים

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

איך הוא לומד, בלי LLM

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

המילים שלכם

נראה ב-2 פרויקטים

רשומה אחת

כל תחילת סשן

המילים שלכם

עוד לא

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

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

  • דפים מוכנים וה-stack

    גם הכללים, ההחלטות, ה-gotchas והנהלים שנבחרו בפרויקט נחשבים, והשפות שלו הופכות לרשומות stack. דפים שהמתזמן אישר אוטומטית נשללים; דפים שאדם אישר עדיין נחשבים.

  • שני פרויקטים, או הצהרה כללית אחת

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

  • ראיות בכל רשומה

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

פרויקט חדש מתחיל מקדמה

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

ai-memory profile apply כותב רשומות מתאימות בבלוק מנוהל בקובץ הכללים של המאגר. הוא פועל כשמפעילים אותו ושומר טקסט מחוץ לבלוק. גם פקודות הגדרה מקומיות אחרות וסוכנים יכולים לערוך קבצים במאגר.

בתוך הריפוזיטורי החדש
# רואים את הבלוק ואת הקובץ שאליו הוא ייכתב
ai-memory profile apply --dry-run
# כותבים אותו
ai-memory profile apply
# מוציאים אותו שוב
ai-memory profile apply --remove

אתם נשארים בשליטה

הרשומות הן דפי ויקי רגילים: markdown ב-git, עם גרסה לכל שינוי.

  • הסרת רשומה מהפרופיל

    ai-memory profile forget מסיר רשומה ומונע למידה מחדש מאותן ראיות. ראיות חדשות יכולות ליצור אותה שוב. היסטוריית git וגיבויים קודמים עשויים לשמור עותקים.

  • העריכות שלכם מנצחות

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

  • החרגת פרויקט מהפרופיל

    הסימון של פרויקט יכול להגדיר contribute = false כדי שלא יילמד ממנו דבר, ו-consume = false כדי שלא יקבל את התקציר.

  • סקירה ובנייה מחדש

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

מה המחיקה מסירה ומה עשוי להישאר בהיסטוריה

.ai-memory.toml בריפוזיטורי של לקוח
# הפרויקט הזה לא מלמד את הפרופיל ולא מקבל אותו
[profile]
contribute = false
consume = false

אדם אחד, פרופיל אחד. צוות, בהסכמה.

בשרת למפעיל יחיד הפרופיל פעיל ומשותף לכל ה-workspaces. בשרת מרובה משתמשים הוא כבוי עד שמפעילים אותו.

  • פרטי לכל מפעיל

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

  • פרופיל צוות דורש שני קולות

    share = "global" או "workspace" יוצר פרופיל שכולם מקבלים. הרגל מצטרף אליו רק לפי ראיות מלפחות שני מפעילים, והתקציר נפתח בכותרת ברירות מחדל של הצוות, כדי שהסוכן ידע שהן משותפות.

  • עבודה ופרטי בנפרד

    share = "workspace" שומר פרופיל אחד לכל workspace, לשני לקוחות או לעבודה ולבית.

קונפיגורציית השרת
# שרת משותף: פרופיל פרטי אחד לכל מפעיל
[profile]
enabled = true
share = "auto"
min_projects = 2

קוראים את מדריך הפרופיל המלא

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

האם הפרופיל עוקף את הכללים של הפרויקט?

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

האם הוא צריך LLM?

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

האם הוא יכול ללמוד משהו מהקוד של לקוח?

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

מה קורה בשרת משותף?

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

אפשר לכבות אותו?

כן. enabled = false או share = "off" בקונפיגורציית השרת מסירים אותו לגמרי. inject_on_session_start = false משאיר את התקציר מחוץ לתחילת הסשן, והפרופיל ממשיך לענות על שאילתות.

תנו לסוכנים שלכם זיכרון, כבר היום.

חינמי וקוד פתוח ברישיון MIT. יכולות הזיכרון הבסיסיות לא דורשות מפתח API למודל; סוכן הקוד עשוי לדרוש חשבון משלו.