שלושה מקומות נכונים לשמור זכרון ל AI (לאנשים שמגוונים בסוכני הקידוד)
סוכני קידוד לא זוכרים כלום והמון אנשים מתלוננים על זה. אתה מסביר לסוכן את הארכיטקטורה פעם אחת, פעם שניה, פעם שלישית, פעם 50, ולא משנה כמה פעמים תדבר איתו הוא יהיה בטוח שאתה מעלה לפרודקשן בקוברנטס למרות שאצלך יש שרת פרטי.
יצרניות הסוכנים מנסות לפתור את זה ולהתיחס לבעיית הזכרון בתור ייתרון תחרותי:
קלוד קוד שומר זכרונות באופן אוטומטי לקבצים בתיקיית הבית.
קופיילוט שומר זכרונות באופן אוטומטי שוב לקבצים בתיקיית הבית.
קודקס שומר זכרונות בואפן אוטומטי לקבצים בתיקיית הבית.
בנוסף יש אינסוף פלאגינים שישמחו לשמור זכרונות בצורה אוטומטית בבסיסי נתונים שלהם, שוב בלי דרך קלה לנהל או לשתף את הידע.
עוברים בין סוכנים או מחשבים? שיהיה בהצלחה לזכור מי זוכר מה על הפרויקט שלכם.
במקום להסביר לסוכן דברים שוב ושוב או להתרגז שהוא זוכר דברים לא רלוונטיים אני ממליץ על שיטת העבודה הבאה. דבר ראשון מכבים את הזכרונות האוטומטיים כדי לא לבלבל. דבר שני נשים לב שיש שלוש דרכים טובות לשמור זכרונות בצורה מנוהלת.
1. שמירת זכרונות ב AGENTS.md
קובץ AGENTS.md הוא קובץ ההוראות המרכזי של הפרויקט. אם אתם עובדים בקלוד קוד תצטרכו ליצור קובץ CLAUDE.md ולקשר ממנו ל agents כי אנטרופיק נודניקים, ואז יהיה לכם מקום אחד מרכזי שכל סוכני הקידוד יודעים לקרוא. הטריק מוסבר כאן:
https://github.com/anthropics/claude-code/issues/6235
מוצאים את עצמכם מזכירים שוב ושוב שבעצם הפרויקט רץ על שרת פרטי? כתבו את זה שם.
מזכירים עוד פעם שאתם מעדיפים להשתמש במשתנים ב CSS? כתבו את זה שם.
גודל מומלץ של קובץ AGENTS.md הוא 150-300 שורות וזה אומר שתהיה נקודה שתצטרכו להיות מדויקים במה אתם כותבים שם. זה מצוין ומכריח אותנו להתמקד.
2. שמירת זכרונות ב Skill
מנגנון שני שעובד טוב הוא Skills. מודלים היום אוהבים לטעון סקילים ומחפשים אותם. יש בעיה שאנטרופיק קוראים סקילים מתיקיית .claude וקודקס מתיקיית .agents ורק קופיילוט מוכן לקרוא משתי התיקיות אבל אפשר לפתור את זה עם symbolic links.
מה שחשוב הוא שאני יכול ליצור סקילים לפרויקט עבור משימות מסוימות למשל סקיל של פיתוח Front End עם כל הטכניקות איך לכתוב קוד פרונטאנד אצלי בפרויקט. סקיל של deployment שמסביר על מבנה השרתים וסקיל של אבטחה שמסביר על מה להסתכל כשעושים Security Review.
3. שמירת זכרונות בפרויקט עצמו
יש לי פרויקט ריילס שמכיל את שני הקבצים:
app.json
config/deploy.yml
קובץ app.json הוא קובץ הוראות להעלאה ל heroku וקובץ config/deploy.yml הוא קובץ הוראות להעלאה לשרת פרטי עם kamal. ברור שבמצב כזה הסוכן יתבלבל ולא ידע מה סביבת הפרודקשן שלי.
אני יכול לכתוב בקובץ AGENTS.md שסביבת הפרודקשן היא heroku.
אני יכול ליצור סקיל של deployment שמסביר איך להעלות גרסה להרוקו ושיש להתעלם מהקונפיגורציה של kamal.
או שאני יכול פשוט למחוק את config/deploy.yml.
או דוגמה נוספת - נניח שיש לכם קומפוננטת ריאקט שמציגה עמוד עם שלוש תיבות בחירה, אבל תיבת הבחירה לא בנויה בתור קומפוננטה נפרדת. כשתבקשו תיבת בחירה חדשה הסוכן ישכפל את הקוד הקיים וימשיך לא ליצור קומפוננטה. לעומת זאת אם באותו עמוד היתה לכם קומפוננטה של תיבת בחירה שהופיעה 3 פעמים ואתם מבקשים את הרביעית אז הסוכן שוב משכפל את הקוד אבל הפעם הוא משכפל את השימוש באותה קונפוננטה גנרית.
וכן קוד המערכת הוא המקום שהכי קשה לשמור בו זכרונות אבל כשמצליחים האפקט נשמר בצורה הטובה ביותר ולאורך זמן.
כל שלושת המנגנונים טובים יותר מהזכרונות האוטומטיים של סוכני הקידוד: בכולם אפשר לשתף את הזכרונות ולעבור בין סוכני קידוד ובין מכונות ועדיין הזכרונות שלנו יהיו שם. הזכרונות בעבודה על פרויקט חשובים מכדי להשאיר אותם בתור קלף בתחרות בין יצרניות הסוכנים.