ग्लोबल कॉन्टेक्स्ट APC के बाहर होना चाहिए

APC पोर्टेबल कॉन्टेक्स्ट लेयर है। APX लोकल रनटाइम लेयर है।

इन्हें बेहतर बनाए रखने के लिए, एक नियम का पालन करें। यदि किसी चीज़ को नए क्लोन (fresh clone) के बाद भी सुरक्षित रहना चाहिए, तो उसे APC में रखें। यदि वह किसी विशिष्ट उपयोगकर्ता, मशीन या प्रक्रिया पर निर्भर है, तो उसे APC के बाहर रखें।

प्रोजेक्ट्स बढ़ते हैं और उनके साथ प्रलोभन भी आता है। आप एक और सेटिंग या एक लोकल पाथ जोड़ना चाह सकते हैं। यदि आप सख्त नहीं हैं, तो आपका रेपो मशीन डेटा का ढेर बन जाएगा। इससे रेपो कमज़ोर हो जाता है।

APC प्रोजेक्ट के स्वामित्व वाले अर्थ (meaning) को रखता है। यह वह साझा अनुबंध (shared contract) है जिसे एक रिपॉजिटरी अपने साथ रखती है।

अच्छे APC कंटेंट में शामिल हैं:

  • प्रोजेक्ट की पहचान (Project identity)
  • एजेंट की भूमिकाएँ (Agent roles)
  • पुन: प्रयोज्य कौशल (Reusable skills)
  • क्यूरेटेड प्रोजेक्ट मेमोरी (Curated project memory)
  • प्रोजेक्ट-लेवल MCP हिंट्स (Project-level MCP hints)
  • AGENTS.md में रेपो-व्यापी निर्देश (Repo-wide instructions)

एक टीममेट या नई मशीन को चेकआउट (checkout) के तुरंत बाद इन तथ्यों को पढ़ना चाहिए।

ग्लोबल कॉन्टेक्स्ट अलग है। यह किसी उपयोगकर्ता या वर्कस्टेशन का होता है।

ग्लोबल कॉन्टेक्स्ट के उदाहरण:

  • API keys
  • एडिटर प्राथमिकताएं (Editor preferences)
  • लोकल एलियास (Local aliases)
  • मशीन-विशिष्ट टूल पाथ (Machine-specific tool paths)
  • प्राइवेट रनटाइम मेमोरी (Private runtime memory)
  • कैशे (Caches)
  • सेशन ट्रांसक्रिप्ट्स (Session transcripts)
  • मैसेज लॉग्स (Message logs)

APX इस स्टेट (state) को लोकल रखता है। यह रनटाइम स्टेट को ~/.apx/ के तहत स्टोर करता है। इससे प्रोजेक्ट शेयर करने योग्य बना रहता है।

इन लेयर्स को मिलाने से तीन समस्याएं होती हैं:

  1. पोर्टेबिलिटी टूट जाती है। जो रेपो लोकल कॉन्फ़िगरेशन पर निर्भर है, उस पर भरोसा करना कठिन होता है।
  2. रिव्यूज में शोर (noise) बढ़ जाता है। पुल रिक्वेस्ट (Pull requests) में प्रोजेक्ट के निर्णय दिखने चाहिए, वर्कस्टेशन का बोझ नहीं।
  3. सीक्रेट्स लीक हो जाते हैं। लोकल विवरण स्टोर करने से गलत फाइलें कमिट (commit) करना आसान हो जाता है।

कोई सेटिंग जोड़ने से पहले, खुद से यह पूछें: क्या किसी अन्य योगदानकर्ता को क्लोनिंग के तुरंत बाद इसकी आवश्यकता होगी?

यदि हाँ, तो APC का उपयोग करें।

  • हर क्लोन के लिए एक रिव्यूअर एजेंट? APC.
  • एक पर्सनल API key? APC नहीं।
  • परमिशन पर प्रोजेक्ट का निर्णय? APC.
  • एक लोकल ब्राउज़र पाथ? APC नहीं।
  • एक साझा MCP हिंट? APC.
  • एक रन कैश (run cache)? APC नहीं।

यह नियम ऑटोमेशन को टिकाऊ बनाता है। APC आपको पोर्टेबल अर्थ देता है। APX आपको लोकल स्टेट देता है।

इस सीमा को स्पष्ट रखें। यह आपके स्टैक को डिबग करने, साझा करने और विभिन्न टूल्स के बीच ले जाने में आसान बनाता है।

उस कॉन्टेक्स्ट के लिए APC का उपयोग करें जो रेपो के साथ चलता है। यदि यह व्यक्तिगत या क्षणिक (transient) है, तो इसे लोकल रखें।

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

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