הקשר גלובלי שייך מחוץ ל-APC

APC הוא שכבת ההקשר הניידת. APX הוא שכבת ה-runtime המקומית.

כדי לשמור על תקינותם, פעלו לפי כלל אחד. אם משהו חייב לשרוד שכפול (clone) חדש, שימו אותו ב-APC. אם הוא תלוי במשתמש, במכונה או בתהליך ספציפיים, השאירו אותו מחוץ ל-APC.

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

APC מכיל משמעות השייכת לפרויקט. זהו החוזה המשותף שהמאגר (repository) נושא עמו.

תוכן APC טוב כולל:

  • זהות הפרויקט
  • תפקידי סוכנים (Agent roles)
  • מיומנויות ניתנות לשימוש חוזר
  • זיכרון פרויקט מנוהל (Curated project memory)
  • רמזי MCP ברמת הפרויקט
  • הוראות לכל אורך ה-repo בקובץ AGENTS.md

בן צוות או מכונה חדשה צריכים לקרוא את העובדות הללו מיד לאחר checkout.

הקשר גלובלי הוא שונה. הוא שייך למשתמש או לתחנת עבודה.

דוגמאות להקשר גלובלי:

  • מפתחות API
  • העדפות עורך (Editor preferences)
  • כינויים (Aliases) מקומיים
  • נתיבי כלים ספציפיים למכונה
  • זיכרון runtime פרטי
  • מטמנים (Caches)
  • תמלילי סשנים (Session transcripts)
  • לוגים של הודעות

APX שומר על המצב הזה מקומי. הוא מאחסן את מצב ה-runtime תחת ~/.apx/. זה שומר על הפרויקט ניתן לשיתוף.

ערבוב השכבות הללו גורם לשלוש בעיות:

  1. הניידות נשברת. קשה לסמוך על repo שתלוי בהגדרות מקומיות.
  2. סקירות (Reviews) הופכות לרועשות. Pull requests צריכים להציג החלטות פרויקט, לא "מטען" של תחנת עבודה.
  3. דליפת סודות. אחסון פרטים מקומיים מקל על ביצוע commit של הקבצים הלא נכונים.

לפני שאתם מוסיפים הגדרה, שאלו את עצמכם: האם תורם אחר יזדקק לכך מיד לאחר ה-cloning?

אם כן, השתמשו ב-APC.

  • סוכן סוקר (Reviewer agent) לכל clone? APC.
  • מפתח API אישי? לא APC.
  • החלטת פרויקט לגבי הרשאות? APC.
  • נתיב דפדפן מקומי? לא APC.
  • רמז MCP משותף? APC.
  • מטמון הרצה (run cache)? לא APC.

הכלל הזה הופך את האוטומציה לעמידה. APC נותן לכם משמעות ניידת. APX נותן לכם מצב (state) מקומי.

שמרו על הפרדה ברורה. זה הופך את ה-stack שלכם לקל יותר לניפוי שגיאות (debug), לשיתוף ולהעברה בין כלים.

השתמשו ב-APC עבור הקשר שמלווה את ה-repo. אם הוא אישי או זמני, שמרו אותו מקומי.

Source: https://dev.to/agentprojectcontext/global-context-belongs-outside-apc-4fg8

Optional learning community: https://t.me/GyaanSetuAi