𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀 𝗔𝗻𝗱 𝗕𝗿𝗮𝗻𝗰𝗵 𝗦𝘁𝗿𝗮𝘁𝗲𝗴𝘆: 𝗦𝗮𝗳𝗲 𝗔𝘂𝘁𝗼𝗺𝗮𝘁𝗶𝗼𝗻 𝗪𝗶𝘁𝗵 𝗚𝗶𝘁
AI ایجنٹس خراب نہیں ہیں، لیکن وہ غیر متوقع ہیں۔
حال ہی میں ایک GitHub ایشو (issue) میں دیکھا گیا کہ ایک ایجنٹ نے مین برانچ (main branch) پر کمٹ (commit) کرنے سے بچنے کی واضح ہدایات کو نظر انداز کر دیا۔ اس نے قواعد پڑھے، ان سے اتفاق کیا، اور پھر بھی مین پر پش (push) کر دیا۔
اگر آپ کا سیفٹی ماڈل کسی ایجنٹ کو یہ کہنے پر منحصر ہے کہ "ایسا نہ کریں،" تو آپ کے پاس کوئی سیفٹی ماڈل نہیں ہے۔ آپ کے پاس صرف امید ہے۔
آپ سسٹم پرامپٹ (system prompt) پر چلا کر اسے خاموش نہیں کر سکتے۔ اس کے بجائے، آپ کو ایک ایسا سسٹم بنانا چاہیے جہاں ایجنٹ جسمانی طور پر غلط کام کرنے سے قاصر ہو۔
ایک محفوظ آٹومیشن اسٹریٹجی ترتیب دینے کا طریقہ یہ ہے:
علیحدگی (isolation) کے لیے Git Worktrees کا استعمال کریں ایجنٹس کو اپنی مین ڈائریکٹری میں کام نہ کرنے دیں۔ ہر ایجنٹ کو اس کی اپنی ڈائریکٹری اور برانچ دینے کے لیے
git worktree addکا استعمال کریں۔ اگر مین برانچ اس کے ورک اسپیس میں چیک آؤٹ (checked out) ہی نہیں ہے، تو ایجنٹ مین پر کمٹ نہیں کر سکتا۔برانچ کے نام رکھنے کا ایک سخت طریقہ (naming convention) اپنائیں ایجنٹس بہت سی برانچز بناتے ہیں۔ اگر آپ انہیں صحیح طریقے سے نام نہیں دیں گے، تو آپ ان کا سراغ کھو دیں گے۔ تین حصوں والے پری فکس (prefix) کا استعمال کریں: • agent/feat/checkout-coupon-stacking • agent/fix/flaky-payment-test • agent/chore/bump-eslint اس سے آپ خودکار برانچز کو آسانی سے فلٹر اور صاف کر سکتے ہیں۔
مرج (merge) کے وقت اسکوایش (squash) کریں ایجنٹس کام میں بے ترتیبی پیدا کر سکتے ہیں۔ وہ بہت زیادہ کمٹ کر سکتے ہیں یا ایک بہت بڑا، ناقابل فہم کمٹ بنا سکتے ہیں۔ ان کی کمٹ ہائیجین (commit hygiene) کی فکر نہ کریں۔ جب آپ ان کی PR کو مرج کریں تو squash-merging کا استعمال کریں۔ یہ آپ کی مین ہسٹری کو صاف رکھتا ہے جبکہ ایجنٹ کو اپنی برانچ کو ایک اسکریچ پیڈ (scratchpad) کے طور پر استعمال کرنے کی اجازت دیتا ہے۔
تہوں پر مشتمل دفاع (layered defense) نافذ کریں صرف ایک واحد گارڈ ریل (guardrail) پر بھروسہ نہ کریں۔
- پرامپٹ ہدایات: دفاع کی پہلی لائن۔
- لوکل پری-کمٹ ہکس (pre-commit hooks): پروٹیکٹڈ برانچز پر حادثاتی کمٹس کو روکتے ہیں۔
- سرور سائیڈ برانچ پروٹیکشن: سب سے اہم تہہ۔ اپنی ریموٹ ریپوزٹری پر پل ریکوسٹ (pull request) لازمی بنائیں۔ اس سے ایجنٹ کے لیے انسانی منظوری کے بغیر مین پر پش کرنا ناممکن ہو جاتا ہے۔
مقصد یہ ہے کہ ایجنٹ کو خود مختار طریقے سے کام کرنے دیا جائے جبکہ انسان صرف پل ریکوسٹ (pull request) کے وقت عمل میں شامل ہو۔
ہر ایڈیٹ کی نگرانی (babysitting) کرنا بند کریں۔ ایک ایسا ڈھانچہ بنائیں جہاں ایک لاپرواہ ایجنٹ بھی محفوظ نتیجہ فراہم کرے۔
Source: https://dev.to/nazar_boyko/ai-agents-and-branch-strategy-safe-automation-with-git-57ja
Optional learning community: https://t.me/GyaanSetuAi