ایک خود مختار ایجنٹ (Autonomous Agent) کے لیے کوئی پل ریکویسٹ (Pull Request) نہیں ہوتی

روایتی سیکیورٹی ریویوز ایک 'diff' پر انحصار کرتے ہیں۔ کوئی پل ریکویسٹ کھولتا ہے۔ کوئی اسے پڑھتا ہے۔ پروڈکشن میں موجود کوڈ اس کوڈ سے مطابقت رکھتا ہے جس کا آپ نے ریویو کیا تھا۔

خود مختار ایجنٹس (Autonomous agents) اس ماڈل کو توڑ دیتے ہیں۔

ایک ایجنٹ رن ٹائم (runtime) پر منصوبہ بندی کرتا ہے اور ٹولز کو کال کرتا ہے۔ یہ ایک کمٹ (commit) میں ایکشنز نہیں بھیجتا۔ یہ چلتے وقت ایکشنز کا فیصلہ کرتا ہے۔ اگر آپ صرف ایپلی کیشن کوڈ کا ریویو کرتے ہیں، تو آپ اصل خطرے کو نظر انداز کر دیتے ہیں۔

ایک ایجنٹ محض کوڈ نہیں ہے۔ یہ ایک رن ٹائم کنفیگریشن (runtime configuration) ہے۔ اس کنفیگریشن میں شامل ہیں:

• سسٹم پرامپٹ (The system prompt) • ہارنس یا لوپ (The harness or loop) • ٹول سرفیس (The tool surface) • میموری اور شناخت (Memory and identity) • نیٹ ورک ایگریس پالیسیز (Network egress policies) • کنٹینر امیجز (Container images)

ایک ہی ماڈل استعمال کرنے والے دو ایجنٹس ان سیٹنگز کی بنیاد پر مختلف طریقے سے کام کر سکتے ہیں۔ ماڈل ساکن رہتا ہے۔ کنفیگریشن سب کچھ بدل دیتی ہے۔

بہت سی ٹیمیں سسٹم پرامپٹس کو محض ٹیکسٹ باکس سیٹنگز کے طور پر لیتی ہیں۔ وہ انہیں ڈیش بورڈ میں ایڈٹ کرتی ہیں۔ یہ ایک غلطی ہے۔ ایک لائن کی تبدیلی بھی گارڈ ریل (guardrail) کو ختم کر سکتی ہے۔ ایک قابلِ ترمیم (editable) پرامپٹ دراصل ایک غیر ریویو شدہ کوڈ پاتھ ہے۔

حقیقی واقعات اس کی تصدیق کرتے ہیں:

• ایک بوٹ نے ہفتوں تک مکان مالکان کو غیر قانونی مشورے دیے۔ • پرامپٹ اپ ڈیٹ کی وجہ سے ایک سپورٹ بوٹ نے صارفین کو گالیاں دینا شروع کر دیں۔ • بدنیتی پر مبنی فائلوں نے قوانین کو نظر انداز کرنے کے لیے غیر مرئی (invisible) حروف کا استعمال کیا۔

یہ ماڈل کی ناکامیاں نہیں تھیں۔ یہ کنفیگریشن میں ایسی تبدیلیاں تھیں جن کا کسی نے ریویو نہیں کیا تھا۔

آپ کو کنفیگریشن کے ساتھ کوڈ کی طرح پیش آنا چاہیے۔

اپنے سسٹم پرامپٹس اور ہارنس کنفیگز کو ورژن کنٹرول (version control) میں رکھیں۔ انہیں صرف پل ریکویسٹس کے ذریعے تبدیل کریں۔ یہ دیکھنے کے لیے کہ کیا بدلا ہے، 'diffs' کا استعمال کریں۔

اپنی ڈیپلائ شدہ کنفیگریشن کے لیے ایک 'content hash' کا استعمال کریں۔ اس ہیش (hash) میں پرامپٹ ورژن، ماڈل آئی ڈی، اور کنٹینر ڈائجسٹ شامل ہونا چاہیے۔ اگر آپ پرامپٹ تبدیل کرتے ہیں، تو ایجنٹ کی شناخت بدل جاتی ہے۔ آپ خاموشی سے پرامپٹ تبدیل نہیں کر سکتے۔

ایجنٹ سرفیس پر 'drift detection' لاگو کریں۔ صرف ہوسٹ (host) کی نگرانی نہ کریں۔ MCP سرور لسٹوں اور اس ایجنٹ کے لیے مخصوص ایگریس پالیسیز (egress policies) کی نگرانی کریں۔

لاگنگ (logging) کے دوران، ان دو چیزوں پر نظر رکھیں:

• فیصلہ سازی کے وقت سیاق و سباق کا سائز (Decision-time context size): جب ماڈل نے عمل کیا تو اس کے پاس کتنی معلومات تھیں؟ • پیرنٹ پرامپٹ (The parent prompt): ملٹی ایجنٹ سسٹمز میں، کال کرنے والے ایجنٹ نے کیا بھیجا تھا؟

آپ کو نئے ٹولز کی ضرورت نہیں ہے۔ اپنے موجودہ ورژن کنٹرول اور اسٹرکچرڈ لاگنگ کا استعمال کریں۔ آپ کو بس انہیں صحیح جگہ پر استعمال کرنے کی ضرورت ہے۔

کیا آپ اپنے سسٹم پرامپٹس کا ورژن رکھتے ہیں اور ان کا ریویو کرتے ہیں؟ یا کنسول تک رسائی رکھنے والا کوئی بھی شخص بغیر کسی نشان کے انہیں تبدیل کر سکتا ہے؟

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