مخصوص AI ایجنٹس بنانا
ایک بڑا AI ایجنٹ بنانا آسان لگتا ہے۔ آپ اسے کوڈ لکھنے، ٹیسٹ چلانے، سیکیورٹی کا جائزہ لینے اور دستاویزات کو اپ ڈیٹ کرنے کے لیے ایک ہی پرامپٹ دیتے ہیں۔
یہ ڈیمو کے لیے تو ٹھیک ہے، لیکن حقیقی انجینئرنگ میں ناکام ہو جاتا ہے۔
ایک واحد ایجنٹ اکثر کمزور ہو جاتا ہے کیونکہ سافٹ ویئر کے کام کے لیے سوچنے کے مختلف طریقوں کی ضرورت ہوتی ہے۔ کوڈ لکھنا، اسے ٹیسٹ کرنے کے برابر نہیں ہے۔ کوڈ کا جائزہ لینا، اسے دستاویز کرنے کے برابر نہیں ہے۔
حقیقی انجینئرنگ ٹیمیں ان کاموں کو الگ الگ کرتی ہیں۔ آپ کے AI آرکیٹیکچر کو بھی ایسا ہی کرنا چاہیے۔
مخصوص ایجنٹس بہتر کام کرتے ہیں کیونکہ ان کے کام محدود ہوتے ہیں۔ ایک محدود کام کی تعریف کرنا آسان ہے:
- وہ کیا پڑھ سکتے ہیں
- وہ کیا ایڈٹ کر سکتے ہیں
- وہ کون سے کمانڈز چلا سکتے ہیں
- انہیں کب رکنا چاہیے
یہاں ایک مخصوص ٹیم کو ترتیب دینے کا طریقہ دیا گیا ہے:
• ڈویلپر ایجنٹ (Developer Agent) اس کا کام چھوٹے اور محفوظ کوڈ کی تبدیلیاں کرنا ہے۔ یہ سخت قبولیت کے معیار (acceptance criteria) پر عمل کرتا ہے اور صرف اجازت شدہ فائلوں کو ہی چھوتا ہے۔
• ٹیسٹر ایجنٹ (Tester Agent) اس کا کام چیزوں کو خراب کرنا (break things) ہے۔ یہ کوڈ کو اچھا دکھانے کی کوشش نہیں کرتا، بلکہ یہ ثابت کرتا ہے کہ رویہ (behavior) درست کام کر رہا ہے۔ ایک اچھا ٹیسٹر اس چیز کی رپورٹ کرتا ہے جسے وہ تصدیق نہیں کر سکا۔
• ریویو ایجنٹ (Reviewer Agent) اس کا کام رکاوٹیں (friction) پیدا کرنا ہے۔ یہ چیک کرتا ہے کہ کیا نام واضح ہیں، کیا لاجک ڈپلیکیٹ ہے، یا کیا تبدیلی بہت بڑی ہے۔
• سیکیورٹی ایجنٹ (Security Agent) اس کا کام شک کرنا ہے۔ یہ اتھارائزیشن کے خلا، SQL injection، یا حساس ڈیٹا کے اخراج (leaks) کو تلاش کرتا ہے۔ خاموش اور غیر تصدیق شدہ تبدیلیوں کو روکنے کے لیے اسے صرف 'read-only' ہونا چاہیے۔
• ڈاکومنٹیشن ایجنٹ (Documentation Agent) اس کا کام کوڈ کی تبدیلیوں کو انسانی رہنمائی میں بدلنا ہے۔ یہ README فائلز، API مثالوں اور چینج لاگز کو اپ ڈیٹ کرتا ہے۔ یہ اکثر وہ پہلی چیز ہوتی ہے جسے انسان بھول جاتے ہیں۔
• آرکیسٹریٹر ایجنٹ (Orchestrator Agent) اس کا کام ورک فلو کو مینیج کرنا ہے۔ یہ کام کو تقسیم کرتا ہے، ایجنٹس کو تفویض کرتا ہے، سیاق و سباق (context) فراہم کرتا ہے، اور منظوری چیک کرتا ہے۔ یہ کام خود نہیں کرتا، بلکہ کام کی ہدایت کرتا ہے۔
جب ایجنٹس ایک دوسرے کو کام سونپتے ہیں، تو طویل پیراگراف کے بجائے منظم ڈیٹا (structured data) استعمال کریں۔ JSON یا ٹائپڈ آرٹی فیکٹس استعمال کریں۔ اس سے اگلے ایجنٹ کے لیے عمل کرنا اور آپ کے لیے کام کا معائنہ کرنا آسان ہو جاتا ہے۔
ایک بہت بڑے ماڈل کے مقابلے میں چھوٹے اور مرکوز (focused) ایجنٹس کو کنٹرول کرنا آسان ہوتا ہے۔ ماہرین کی ایک ٹیم پروڈکشن میں ثابت قدم رہتی ہے۔
Source: https://dev.to/nazar_boyko/creating-specialized-ai-agents-developer-tester-reviewer-documenter-4ac2
Optional learning community: https://t.me/GyaanSetuAi
