𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗦𝘆𝗻𝘁𝗵𝗲𝘁𝗶𝗰 𝗗𝗮𝘁𝗮
مصنوعی ڈیٹا (synthetic data) بنانے کے لیے LLMs کا استعمال QA ٹیموں کے لیے ایک مقبول حکمت عملی ہے۔ آپ سیکنڈوں میں سینکڑوں پیچیدہ ریکارڈز تیار کر سکتے ہیں۔
لیکن عام پرامپٹس (generic prompts) ایک جال کا باعث بنتے ہیں۔ اگر آپ کسی LLM سے "50 ٹیسٹ صارفین تیار کریں" کہیں گے، تو وہ آپ کو قابلِ پیش گوئی اور بار بار دہرائے جانے والے ڈیٹا فراہم کرے گا۔ یہ کوریج کا ایک غلط احساس پیدا کرتا ہے۔ آپ کو بہت سے ایسے ریکارڈز ملتے ہیں جو صرف "ہیپی پاتھ" (happy path) کو ٹیسٹ کرتے ہیں جبکہ اہم ایج کیسز (edge cases) اور بزنس لاجک رہ جاتی ہے۔
اسے درست کرنے کے لیے، آپ کو محض ایک درخواست گزار کے بجائے ایک آرکیسٹریٹر (orchestrator) بننا ہوگا۔ آپ کو اپنی پرامپٹ انجینئرنگ میں براہ راست ٹیسٹنگ کے اصولوں کو لاگو کرنے کی ضرورت ہے۔
ڈیٹا کے معیار کو بہتر بنانے کے لیے ان تین پیٹرنز کا استعمال کریں:
- Equivalence Partitioning اور Boundary Value Analysis ڈیٹا مانگنے کے بجائے، LLM کو پہلے ٹیسٹ کلاسز کا نقشہ تیار کرنے پر مجبور کریں۔ Chain-of-Thought پرامپٹنگ کا استعمال کریں۔
- اپنا کردار بطور سینئر QA انجینئر متعارف کروائیں۔
- مخصوص بزنس رولز فراہم کریں (مثلاً کوپن کی حد یا کم از کم خرچ)۔
- LLM کو ہدایت دیں کہ وہ تمام درست اور غلط equivalence classes کو ایک ٹیبل میں درج کرے۔
- ہر شناخت شدہ منظر نامے (scenario) کے لیے بالکل ایک JSON payload کا مطالبہ کریں۔
یہ اس بات کو یقینی بناتا ہے کہ آپ اضافی ریکارڈز پر جگہ ضائع کیے بغیر، بالکل درست ٹرانزیشن پوائنٹس (transition points) کو ٹیسٹ کریں، جیسے کہ $99.99 بمقابلہ $100.00۔
- State Transition Testing پیمنٹ فلو یا آرڈر مینجمنٹ جیسے سسٹمز کے لیے، ڈیٹا کو لائف سائیکل کے مختلف مراحل کی عکاسی کرنی چاہیے۔
- تمام ممکنہ اسٹیٹس کی فہرست فراہم کریں (مثلاً Created، Paid، Shipped، Delivered)۔
- LLM سے کہیں کہ وہ State Transition Matrix پر مشتمل ایک CSV تیار کرے۔
- تین قسم کے فلو کا مطالبہ کریں: Linear (درست)، Exception (انحراف)، اور Violation (غلط ٹرانزیشنز)۔
- ہر منفرد اسٹیٹ کمبینیشن کے لیے صرف ایک رو (row) تیار کرنے کا اصول مقرر کریں۔
یہ ڈپلیکیٹ ریکارڈز کو روکتا ہے اور نیگیٹو ٹیسٹ کیسز (negative test cases) کی تخلیق پر مجبور کرتا ہے۔
- Variance Control اور Negative Prompting LLMs اکثر ہم جنس (homogeneous) ڈیٹا پیدا کرتے ہیں، جیسے کہ ایک ہی علاقوں یا عمر کے گروہوں کا استعمال کرنا۔ اسے روکنے کے لیے Negative Prompting کا استعمال کریں۔
- تقسیم کے لیے واضح ضروریات مقرر کریں (مثلاً مخصوص عمر کی حد یا جغرافیائی علاقے)۔
- ایک "PROHIBITIONS" (ممانعت) کا سیکشن شامل کریں۔
- "John Doe" جیسے عام ناموں پر واضح طور پر پابندی لگائیں۔
- ویری ایبلز کے ایک ہی کمبینیشن کو دہرانے سے روکیں۔
- تسلسل وار یا ایک جیسے ID نمبروں پر پابندی لگائیں۔
یہ تعصب (bias) کو ختم کرتا ہے اور اس بات کو یقینی بناتا ہے کہ آپ کا بیک اینڈ متنوع اور حقیقت پسندانہ ڈیٹا کو سنبھال سکے۔
AI کی رفتار صرف اسی صورت میں اہمیت رکھتی ہے اگر آپ کا ڈیٹا با مقصد ہو۔ ایک QA پروفیشنل کے طور پر آپ کا کردار ان حدود کو کوڈ کرنا ہے جو ان جنریٹو ماڈلز کو کنٹرول کرتی ہیں۔
اختیاری لرننگ کمیونٹی: https://t.me/GyaanSetuAi