గ్లోబల్ కాంటెక్స్ట్ (Global Context) APC వెలుపల ఉండాలి
APC అనేది పోర్టబుల్ కాంటెక్స్ట్ లేయర్ (portable context layer). APX అనేది లోకల్ రన్టైమ్ లేయర్ (local runtime layer).
వీటిని ఆరోగ్యంగా ఉంచడానికి, ఒక నియమాన్ని పాటించండి. ఏదైనా కొత్త క్లోన్ (fresh clone) చేసిన తర్వాత కూడా అలాగే ఉండాలి అనుకుంటే, దానిని APCలో ఉంచండి. అది ఏదైనా నిర్దిష్ట యూజర్, మెషిన్ లేదా ప్రాసెస్ మీద ఆధారపడి ఉంటే, దానిని APC వెలుపల ఉంచండి.
ప్రాజెక్టులు విస్తరిస్తున్న కొద్దీ, కొత్త మార్పులు చేయాలనే కోరిక కలగవచ్చు. మీరు ఇంకొక సెట్టింగ్ లేదా ఒక లోకల్ పాత్ (local path) జోడించాలనుకోవచ్చు. మీరు కఠినంగా లేకపోతే, మీ రిపో (repo) మెషిన్ డేటా యొక్క కుప్పగా మారిపోతుంది. ఇది రిపోను బలహీనపరుస్తుంది.
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 కీలు (API keys)
- ఎడిటర్ ప్రిఫరెన్సులు (Editor preferences)
- లోకల్ ఏలియాసెస్ (Local aliases)
- మెషిన్-స్పెసిఫిక్ టూల్ పాత్లు (Machine-specific tool paths)
- ప్రైవేట్ రన్టైమ్ మెమరీ (Private runtime memory)
- క్యాచెస్ (Caches)
- సెషన్ ట్రాన్స్క్రిప్ట్స్ (Session transcripts)
- మెసేజ్ లాగ్స్ (Message logs)
APX ఈ స్టేట్ను లోకల్గా ఉంచుతుంది. ఇది రన్టైమ్ స్టేట్ను ~/.apx/ కింద నిల్వ చేస్తుంది. ఇది ప్రాజెక్ట్ను షేర్ చేయదగినదిగా (shareable) ఉంచుతుంది.
ఈ లేయర్లను కలపడం వల్ల మూడు సమస్యలు తలెత్తుతాయి:
- పోర్టబిలిటీ దెబ్బతింటుంది. లోకల్ కాన్ఫిగరేషన్పై ఆధారపడే రిపోను నమ్మడం కష్టం.
- రివ్యూలు గందరగోళంగా మారుతాయి. పుల్ రిక్వెస్ట్లు (Pull requests) ప్రాజెక్ట్ నిర్ణయాలను చూపాలి, వర్క్స్టేషన్ డేటాను కాదు.
- సీక్రెట్స్ లీక్ అవుతాయి. లోకల్ వివరాలను నిల్వ చేయడం వల్ల తప్పుడు ఫైళ్లను కమిట్ చేయడం సులభమవుతుంది.
మీరు ఒక సెట్టింగ్ను జోడించే ముందు, ఇది అడగండి: క్లోనింగ్ చేసిన వెంటనే మరొక కంట్రిబ్యూటర్కు ఇది అవసరమవుతుందా?
అవును అయితే, APCని ఉపయోగించండి.
- ప్రతి క్లోన్ కోసం రివ్యూయర్ ఏజెంట్? APC.
- వ్యక్తిగత API కీ? APC కాదు.
- పర్మిషన్లపై ప్రాజెక్ట్ నిర్ణయం? APC.
- లోకల్ బ్రౌజర్ పాత్? APC కాదు.
- షేర్డ్ MCP హింట్? APC.
- రన్ క్యాచీ? APC కాదు.
ఈ నియమం ఆటోమేషన్ను స్థిరంగా (durable) ఉంచుతుంది. APC మీకు పోర్టబుల్ అర్థాన్ని ఇస్తుంది. APX మీకు లోకల్ స్టేట్ను ఇస్తుంది.
ఈ తేడాను స్పష్టంగా ఉంచండి. ఇది మీ స్టాక్ను డీబగ్ చేయడం, షేర్ చేయడం మరియు వివిధ టూల్స్ మధ్య మార్చడం సులభతరం చేస్తుంది.
రిపోతో పాటు ప్రయాణించే కాంటెక్స్ట్ కోసం APCని ఉపయోగించండి. అది వ్యక్తిగతమైనది లేదా తాత్కాలికమైనది అయితే, దానిని లోకల్గా ఉంచండి.
Source: https://dev.to/agentprojectcontext/global-context-belongs-outside-apc-4fg8
Optional learning community: https://t.me/GyaanSetuAi
