Skip to content

Tutorial 3 Your First Agent Task ur

James Morris edited this page Jul 29, 2026 · 1 revision

ٹیوٹوریل ۳ · آپ کا پہلا ایجنٹ ٹاسک

🌎 زبان: اردوتمام ۳۳ زبانیں دیکھیں

مقصد: اپنے ایجنٹ کو ہدایت دے کر CLI میں ایک بالکل نئی کمانڈ شامل کرنا — مکمل طور پر۔ ہم lockedin endorse شامل کریں گے: یہ اجنبیوں کی ایسی مہارتوں کے لیے توثیق کرتا ہے جو تقریباً یقیناً ان کے پاس نہیں۔ عین برانڈ کے مطابق۔

یہ ٹیوٹوریل کا دل ہے۔ آپ اصل لوپ کی مشق کریں گے: اسپیک → ٹیسٹ → نفاذ → سبز گیٹ → جائزہ۔

← پچھلا: ٹیوٹوریل ۲ کوڈ کیسے کام کرتا ہے · اگلا: ٹیوٹوریل ۴ پرامپٹنگ اور جائزہ


قدم ۰ — طے کریں کہ "مکمل" کیسا لگتا ہے

کچھ بھی پرامپٹ کرنے سے پہلے، سادہ زبان میں خود اسپیک لکھیں۔ مبہم درخواستیں مبہم کوڈ دیتی ہیں — چاہے کسی انسان سے ہوں یا کسی ایجنٹ سے۔

endorse ۵–۷ لائنیں پرنٹ کرتا ہے، ہر ایک بے ترتیب طور پر منتخب شخص (موجودہ NAMES پول دوبارہ استعمال کریں) کی کسی بے ترتیب منتخب بز ورڈ مہارت (ایک نیا پول) کے لیے توثیق کرتی ہے۔ یہ ایک طنزیہ ایک-لائنر پر ختم ہوتا ہے۔ اسے lockedin endorse کے طور پر، سیشن کے اندر /endorse کے طور پر، اور help میں نظر آنا چاہیے۔ تمام بے ترتیبی کو سیڈ شدہ pick/shuffle مددگاروں کا استعمال کرنا چاہیے تاکہ آؤٹ پٹ قابلِ تعیّن رہے۔ npm test سبز رہنا چاہیے، اور کم از کم ایک ناقابلِ تغیر شرط کو طے کرنے والا ایک نیا ٹیسٹ ہونا چاہیے۔

وہ پیراگراف وہی چیز ہے جو آپ ایجنٹ کو سونپیں گے۔ غور کریں کہ یہ باب ۲ کی پابندیوں کا نام لیتا ہے (سیڈ شدہ RNG، ٹیسٹ گیٹ، ناقابلِ تغیر شرائط کی عادت)۔

قدم ۱ — ایجنٹ سے منصوبہ مانگیں، کوڈ نہیں

منصوبہ مانگ کر شروع کریں۔ یہ آپ کا موقع ہے کہ کسی فائل کے بدلنے سے پہلے کسی برے طریقے کو پکڑ لیں۔

"میں LockedIn CLI میں ایک endorse کمانڈ شامل کرنا چاہتا ہوں۔ یہ رہی اسپیک: [paste your spec]۔ کوڈ لکھنے سے پہلے، مجھے بتاؤ کہ تم کون سی فائلیں بدلو گے اور تمہارا طریقہ کیا ہے، تاکہ میں اسے منظور کر سکوں۔ connect جیسی کمانڈ کے موجودہ نمونوں کی پیروی کرو۔"

ایک اچھا منصوبہ ان کا ذکر کرتا ہے: src/lockedin.js میں ایک نیا SKILLS پول + ایک renderEndorse()، اسے dispatch() اور handleSlash() میں جوڑنا، renderHelp() میں ایک قطار شامل کرنا، نئے فنکشن/پول کو ایکسپورٹ کرنا، اور دونوں ٹیسٹ فائلوں میں ٹیسٹ شامل کرنا۔ اگر منصوبہ سیڈ شدہ-RNG اصول یا ٹیسٹ سے چوک جائے، تو ابھی کہہ دیں۔

قدم ۲ — ٹیسٹ-پہلے

ایجنٹ سے کہیں کہ نفاذ سے پہلے ٹیسٹ لکھے۔ ٹیسٹ-پہلے آپ کی اسپیک کو کسی قابلِ عمل چیز میں بدل دیتا ہے، اور یہ ایجنٹ کو ایماندار رکھتا ہے۔

"زبردست۔ پہلے، صرف ناکام ہونے والے ٹیسٹ شامل کرو: ایک یونٹ ٹیسٹ کہ renderEndorse() ایسا متن واپس کرے جو ایک معلوم مہارت اور کم از کم ۵ توثیقات کا ذکر کرے، اور ایک cli.test.js ٹیسٹ کہ lockedin endorse 0 پر ختم ہو اور ایک توثیق پرنٹ کرے۔ ایک مقررہ سیڈ استعمال کرو۔ ابھی renderEndorse نافذ مت کرو — پہلے ٹیسٹ ناکام ہوتے دیکھیں۔"

انہیں چلائیں اور درست وجہ سے ناکام ہوتے دیکھیں (فنکشن ابھی موجود نہیں):

npm test

قدم ۳ — ایجنٹ کو نافذ کرنے دیں

اب نفاذ کو سبز جھنڈی دکھائیں:

"اب اسے نافذ کرو تاکہ وہ ٹیسٹ پاس ہو جائیں، connect نمونے کی پیروی کرتے ہوئے۔ ~۲۵ بز ورڈ مہارتوں کا ایک SKILLS پول شامل کرو، ایک renderEndorse() جو ایک اسٹرنگ واپس کرے، dispatch اور handleSlash جوڑو، ایک help قطار شامل کرو، اور جو کچھ تم نے شامل کیا اسے ایکسپورٹ کرو۔ بے ترتیبی کے لیے صرف pick/shuffle استعمال کرو۔"

ایجنٹ جو پیدا کرے وہ باقی فائل جیسا ہی لگنا چاہیے۔ مثال کے طور پر، ایک SKILLS پول اور ایک رینڈرر:

const SKILLS = [
  'فکری قیادت', 'ہم آہنگی', 'کہانی گوئی', 'وائبز',
  'اسٹریٹجک نیند', 'اسٹیک ہولڈر ہم آہنگی', 'انتہائی بے باکی', /* ...~25 total... */
];

function renderEndorse() {
  const people = shuffle(NAMES).slice(0, 5 + Math.floor(rand() * 3)); // 5–7
  const skills = shuffle(SKILLS);
  const out = [''];
  people.forEach((n, i) =>
    out.push('  ✔ ' + n + ' کی ' + skills[i % skills.length] + ' کے لیے توثیق کی'));
  out.push('', '  آپ نے 6 اجنبیوں کی ایسی مہارتوں کی توثیق کی جن کی آپ تصدیق نہیں کر سکتے۔ وہ ایک گھنٹے کے اندر آپ کی توثیق واپس کریں گے۔');
  return out.join('\n');
}

…نیز dispatch() اور handleSlash() میں ایک-ایک لائن، renderHelp() میں ایک قطار، اور module.exports میں SKILLS, renderEndorse شامل۔

قدم ۴ — گیٹ

npm test

سبز؟ آپ نے ابھی ایک ایجنٹ کے ساتھ، ٹیسٹ-پہلے، ایک فیچر شپ کیا۔ سبز نہیں؟ یہ معمول ہے — باب ۴ کے دہرائی لوپ میں جائیں اور ایجنٹ کو بالکل بتائیں کہ کیا ناکام ہوا۔

پھر اصل چیز کو خود آنکھوں سے دیکھیں (ٹیسٹ متن چیک کرتے ہیں، مگر آپ کو پھر بھی دیکھنا چاہیے):

node bin/lockedin.js endorse
LOCKEDIN_SEED=1 node bin/lockedin.js endorse   # reproducible

قدم ۵ — قبول کرنے سے پہلے جائزہ

کبھی ایسا diff قبول نہ کریں جو آپ نے نہ پڑھا ہو۔ خاص طور پر ان چیزوں کے لیے سرسری نظر ڈالیں:

  • کیا اس نے نمونے کی پیروی کی؟ نئی کمانڈ کو connect کی عکاسی کرنی چاہیے — کوئی نئے انحصار نہیں، src/ کے اندر کوئی console.log نہیں۔
  • صرف سیڈ شدہ RNG؟ diff میں Math.random تلاش کریں۔ کوئی نہیں ہونی چاہیے۔
  • کیا اس نے کسی ایسی چیز کو چھوا جسے نہیں چھونا چاہیے تھا؟ تبدیلی اضافی ہونی چاہیے؛ غیر متعلقہ لائنوں کو ہلنا نہیں چاہیے۔
  • کیا نیا ٹیسٹ بامعنی ہے؟ اگر بعد میں کوئی فیچر توڑے تو اسے ناکام ہونا چاہیے — محض true کا دعویٰ نہیں کرنا چاہیے۔

اگر کچھ گڑبڑ ہو، تو درستی مانگیں (باب ۴)۔ اگر یہ اچھا ہے، تو آپ کا کام مکمل ہے۔


✅ اپنے ایجنٹ کے ساتھ آزمائیں

اوپر کا پورا لوپ حقیقتاً کریں۔ پھر، اضافی نمبروں کے لیے، ایجنٹ سے کہیں کہ اسے بڑھائے:

  • "endorse کو ایک اختیاری نام قبول کرنے دو: lockedin endorse Ada کو خاص طور پر Ada کی توثیق کرنی چاہیے۔ ایک ٹیسٹ شامل کرو، گیٹ سبز رکھو۔"

اب آپ نے ایک فیچر مکمل طور پر بنا لیا ہے۔ آخری باب اسے سلاست سے کرنے کے بارے میں ہے — ایک لیڈ انجینئر کی طرح پرامپٹنگ اور جائزہ۔

اگلا: ٹیوٹوریل ۴ پرامپٹنگ اور جائزہ

📘 LockedIn CLI wiki

Tutorial

Reference


Satire · Sátira · 風刺. Not affiliated with LinkedIn. GPL-3.0-or-later.

Clone this wiki locally