میرے ایجنٹ نے ایک شام میں 3 PRs بھیج دیں۔ میرے 40% پیغامات اصلاحات تھے۔

میرے AI سے چلنے والے کوڈنگ ایجنٹ نے ایک ہی شام میں تین پل ریکویسٹس (pull requests) بھیج دیں، لیکن میرے بھیجے گئے 30 پیغامات میں سے 40% اصلاحات تھے۔

اس سیشن کے نتیجے میں ایک MCP client، ایک Azure AI Agent، اور ایک M365 Copilot Agent تیار ہوا۔ خودکار چیکس (Automated checks) نے تمام تینوں PRs کو کلیئر کر دیا، اور میں نے کوڈ کی ایک لائن بھی ایڈٹ نہیں کی۔ پھر بھی ٹرانسکرپٹ ایک مختلف کہانی سناتا ہے: کل 710 پیغامات میں سے، میں نے 30 ٹائپ کیے، اور ان میں سے 12 پیغامات نے ایجنٹ کو دوبارہ صحیح راستے پر لایا۔ "اسٹیرنگ ریٹ" (steering rate) – یعنی میرے پیغامات کا وہ حصہ جو اصلاحات تھے – 40% رہا۔

پائپ لائن کو کیسے ترتیب دیا گیا تھا

  • Claude نے ایک اعلیٰ سطح کا امپلیمنٹیشن پلان تیار کیا۔
  • DeepSeek V4-Flash نے آرکیسٹریٹر (orchestrator) کے طور پر کام کیا اور پلان کا جائزہ لیا۔
  • Codex نے اصل کوڈ تیار کیا۔
  • آرکیسٹریٹر نے کوڈ کا معائنہ کیا اور پل ریکویسٹس (pull requests) کھول دیں۔

آرکیسٹریٹر کا مطلوبہ کردار محض جوڑنے والا (connective) تھا – اسے اجزاء کے درمیان تنازعات کو حل کرنا چاہیے تھا، خود کوڈ نہیں لکھنا چاہیے تھا۔ عملی طور پر، ایجنٹ نے تقریباً 40 منٹ میں تینوں PRs میں کوڈ کی 3,500 لائنیں تیار کیں، لیکن اس نے دو بار بار ہونے والی غلطیوں (error classes) میں بھی غلطی کی۔

غلطیوں کے دو گروہ

  1. Workflow violations – آرکیسٹریٹر کبھی کبھار کوڈنگ کا مرحلہ خود سنبھال لیتا تھا، اپنے "glue" کردار کو نظر انداز کرتے ہوئے خود امپلیمنٹیشن کی تفصیلات لکھ دیتا تھا۔
  2. Context-retrieval failures – واضح ہدایات کے باوجود، ایجنٹ نے غلط SDK یا ورژن کا انتخاب کیا۔ درست معلومات پرامپٹ سیاق و سباق (prompt context) میں موجود تھیں، لیکن ماڈل انہیں صحیح وقت پر سامنے لانے میں ناکام رہا۔

یہ استدلال کی صلاحیت میں کمی نہیں ہے؛ بلکہ یہ اس بات میں انجینئرنگ بگ (engineering bugs) ہیں کہ ورک فلو کو کیسے محدود کیا گیا ہے۔ ایک زیادہ باصلاحیت لینگویج ماڈل کو بھی ایک سخت اور ناقابلِ نظر انداز اصول کی ضرورت ہوگی جو آرکیسٹریٹر کو اس کے غیر کوڈنگ فرائض تک محدود رکھے اور درست SDK کے انتخاب پر مجبور کرے۔

ایجنٹ کو قابو کرنے کے لیے میں نے کیا تبدیلیاں کیں

میں نے یہ فرض کرنا چھوڑ دیا کہ سسٹم مرحلہ وار فہرست سے اپنے کردار کا اندازہ لگا لے گا۔ میں نے ایک براہ راست بیان شامل کیا: “You are an orchestrator. You do not implement.” اس ہدایت کو مستقل بنانے کے لیے پانچ اصلاحی پیغامات درکار ہوئے، جس کے بعد ایجنٹ نے اس حد کا احترام کیا۔

میں نے سیاق و سباق کی واپسی (context-retrieval) کی منطق کو بھی مزید سخت کیا۔ جب غلط ٹول سامنے آیا، تو میں نے اسے ہالوسینیشن (hallucination) کے بجائے ریٹریول پائپ لائن میں ایک بگ کے طور پر لیا، اور میں نے اس پرامپٹ کو دوبارہ لکھا جو SDK کی تفصیلات فراہم کرتا ہے تاکہ درست ورژن کو نظر انداز کرنا ناممکن ہو جائے۔

AI سے مدد یافتہ ڈویلپمنٹ کے لیے عملی نکات

  • اپنے پیغامات کی گنتی کریں۔ قبول شدہ PRs کی بڑی تعداد ایک خراب عمل کو چھپا سکتی ہے۔ آپ کی اصلاحات کی تعداد اس بات کا اہم اشارہ ہے کہ سسٹم میں کہاں خرابی آ رہی ہے۔
  • کردار کو واضح طور پر بیان کریں۔ ایجنٹس چیک لسٹ سے اپنی شناخت کا اندازہ نہیں لگاتے؛ انہیں اس بارے میں ایک واضح اور مستقل ہدایت کی ضرورت ہوتی ہے کہ وہ کون ہیں اور وہ کیا کر سکتے ہیں۔
  • ٹول کے انتخاب کی غلطیوں کو انجینئرنگ بگ کے طور پر لیں۔ اگر ایجنٹ کسی مخصوص SDK کو نظر انداز کرتا ہے، تو غلطی سیاق و سباق کی فراہمی کے طریقہ کار (context-delivery mechanism) میں ہے، نہ کہ ماڈل کے "علم" میں۔
  • غلطیوں کو دوبارہ استعمال کے قابل مہارتوں میں بدلیں۔ میں نے ایجنٹ کو اپنی غلطیوں سے ایک ویلیڈیشن روٹین (validation routine) تیار کرنے کا موقع دیا، جس سے ایک ناکامی مستقبل کے حفاظتی اقدام میں بدل گئی۔

وسیع تر اہداف