అటానమస్ ఏజెంట్ (Autonomous Agent) కోసం ఎలాంటి పుల్ రిక్వెస్ట్ ఉండదు

సాంప్రదాయ సెక్యూరిటీ రివ్యూలు ఒక diff పై ఆధారపడతాయి. ఎవరైనా ఒక పుల్ రిక్వెస్ట్ ఓపెన్ చేస్తారు. ఎవరైనా దానిని చదువుతారు. ప్రొడక్షన్‌లో ఉన్న కోడ్ మీరు రివ్యూ చేసిన కోడ్‌తో సరిపోలుతుంది.

అటానమస్ ఏజెంట్లు ఈ మోడల్‌ను దెబ్బతీస్తాయి.

ఒక ఏజెంట్ రన్‌టైమ్‌లో ప్లాన్ చేస్తుంది మరియు టూల్స్‌ను పిలుస్తుంది (calls tools). ఇది ఒక కమిట్‌లో చర్యలను (actions) పంపదు. ఇది రన్ అవుతున్న సమయంలోనే చర్యలను నిర్ణయిస్తుంది. మీరు కేవలం అప్లికేషన్ కోడ్‌ను మాత్రమే రివ్యూ చేస్తే, అసలు రిస్క్‌ను మీరు గుర్తించలేరు.

ఒక ఏజెంట్ కేవలం కోడ్ మాత్రమే కాదు. అది ఒక రన్‌టైమ్ కాన్ఫిగరేషన్. ఈ కాన్ఫిగరేషన్‌లో ఇవి ఉంటాయి:

• సిస్టమ్ ప్రాంప్ట్ (The system prompt) • హార్నెస్ లేదా లూప్ (The harness or loop) • టూల్ సర్ఫేస్ (The tool surface) • మెమరీ మరియు ఐడెంటిటీ (Memory and identity) • నెట్‌వర్క్ ఎగ్రెస్‌ పాలసీలు (Network egress policies) • కంటైనర్ ఇమేజెస్ (Container images)

ఒకే మోడల్‌ను ఉపయోగించే రెండు ఏజెంట్లు ఈ సెట్టింగ్‌ల ఆధారంగా భిన్నంగా పనిచేయవచ్చు. మోడల్ స్థిరంగా ఉంటుంది. కానీ కాన్ఫిగరేషన్ అంతా మార్చేస్తుంది.

చాలా టీమ్‌లు సిస్టమ్ ప్రాంప్ట్‌లను కేవలం టెక్స్ట్ బాక్స్ సెట్టింగ్‌లుగా భావిస్తాయి. వారు వాటిని ఒక డాష్‌బోర్డ్‌లో ఎడిట్ చేస్తారు. ఇది ఒక పొరపాటు. ఒకే ఒక్క లైన్ మార్పు కూడా గార్డ్‌రైల్‌ను (guardrail) తొలగించగలదు. ఎడిట్ చేయగలిగే ప్రాంప్ట్ అనేది రివ్యూ చేయని కోడ్ పాత్ (unreviewed code path) వంటిది.

నిజ జీవిత సంఘటనలు దీనిని నిరూపిస్తున్నాయి:

• ఒక బాట్ వారాల తరబడి ల్యాండ్‌లార్డ్‌లకు చట్టవిరుద్ధమైన సలహాలను ఇచ్చింది. • ప్రాంప్ట్ అప్‌డేట్ కారణంగా ఒక సపోర్ట్ బాట్ కస్టమర్లపై బూతులు తిట్టడం ప్రారంభించింది. • మాలీషియస్ ఫైల్స్ నిబంధనలను దాటవేయడానికి అదృశ్య క్యారెక్టర్లను (invisible characters) ఉపయోగించాయి.

ఇవి మోడల్ వైఫల్యాలు కావు. ఇవి ఎవరూ రివ్యూ చేయని కాన్ఫిగరేషన్ మార్పులు.

మీరు కాన్ఫిగరేషన్‌ను కోడ్ లాగే పరిగణించాలి.

మీ సిస్టమ్ ప్రాంప్ట్‌లు మరియు హార్నెస్ కాన్ఫిగరేషన్‌లను వెర్షన్ కంట్రోల్‌లో ఉంచండి. వాటిని కేవలం పుల్ రిక్వెస్ట్‌ల ద్వారా మాత్రమే మార్చండి. ఏమి మారిందో చూడటానికి diffలను ఉపయోగించండి.

మీరు డిప్లాయ్ చేసిన కాన్ఫిగరేషన్ కోసం ఒక కంటెంట్ హ్యాష్ (content hash) ఉపయోగించండి. ఈ హ్యాష్‌లో ప్రాంప్ట్ వెర్షన్, మోడల్ ID మరియు కంటైనర్ డైజెస్ట్ ఉండాలి. మీరు ప్రాంప్ట్‌ను మారిస్తే, ఏజెంట్ యొక్క ఐడెంటిటీ మారుతుంది. మీరు ప్రాంప్ట్‌ను నిశ్శబ్దంగా (silently) మార్చలేరు.

ఏజెంట్ సర్ఫేస్‌కు డ్రిఫ్ట్ డిటెక్షన్ (drift detection) వర్తింపజేయండి. కేవలం హోస్ట్‌ను మాత్రమే పర్యవేక్షించకండి. MCP సర్వర్ లిస్ట్‌లను మరియు ఆ ఏజెంట్ కోసం నిర్దిష్ట ఎగ్రెస్‌ పాలసీలను పర్యవేక్షించండి.

లాగింగ్ చేసేటప్పుడు, ఈ రెండు విషయాలను ట్రాక్ చేయండి:

• డిసిషన్-టైమ్ కాంటెక్స్ట్ సైజ్ (Decision-time context size): ఏజెంట్ పనిచేస్తున్నప్పుడు మోడల్‌కు ఎంత సమాచారం అందుబాటులో ఉంది? • పేరెంట్ ప్రాంప్ట్ (The parent prompt): మల్టీ-ఏజెంట్ సిస్టమ్స్‌లో, పిలిచే ఏజెంట్ (calling agent) ఏమి పంపింది?

మీకు కొత్త టూల్స్ అవసరం లేదు. మీ వద్ద ఉన్న వెర్షన్ కంట్రోల్ మరియు స్ట్రక్చర్డ్ లాగింగ్‌ను ఉపయోగించండి. వాటిని సరైన చోట ఉపయోగించడం మాత్రమే మీరు చేయాల్సి ఉంది.

మీరు మీ సిస్టమ్ ప్రాంప్ట్‌లను వెర్షన్ మరియు రివ్యూ చేస్తారా? లేదా కన్సోల్ యాక్సెస్ ఉన్న ఎవరైనా ఎటువంటి ఆధారాలు లేకుండా వాటిని మార్చగలరా?

Source: https://dev.to/brennhill/theres-no-pull-request-to-review-for-an-autonomous-agent-so-what-do-you-review-355m

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