𝗣𝗿𝗼𝗺𝗽𝘁 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿𝗶𝗻𝗴 𝗳𝗼𝗿 𝗦𝘆𝗻𝘁𝗵𝗲𝘁𝗶𝗰 𝗗𝗮𝘁𝗮
QA টিমের জন্য সিন্থেটিক ডেটা তৈরি করতে LLM ব্যবহার করা একটি জনপ্রিয় কৌশল। আপনি কয়েক সেকেন্ডের মধ্যে শত শত জটিল রেকর্ড তৈরি করতে পারেন।
কিন্তু সাধারণ (generic) প্রম্পট একটি ফাঁদে ফেলে দিতে পারে। আপনি যদি একটি LLM-কে "৫০ জন টেস্ট ইউজার তৈরি করো" বলেন, তবে এটি আপনাকে অনুমানযোগ্য এবং পুনরাবৃত্তিমূলক ডেটা দেবে। এটি কভারেজের একটি মিথ্যা ধারণা তৈরি করে। আপনি এমন অনেক রেকর্ড পাবেন যা কেবল "happy path" পরীক্ষা করে, কিন্তু গুরুত্বপূর্ণ edge cases এবং বিজনেস লজিকগুলো বাদ দিয়ে যায়।
এটি ঠিক করতে হলে, আপনাকে কেবল একজন অনুরোধকারী (requester) থেকে একজন অর্কেস্ট্রেটর (orchestrator)-এ রূপান্তরিত হতে হবে। আপনাকে আপনার প্রম্পট ইঞ্জিনিয়ারিংয়ে সরাসরি টেস্টিং প্রিন্সিপাল বা নীতিগুলো প্রয়োগ করতে হবে।
আপনার ডেটার মান উন্নত করতে এই তিনটি প্যাটার্ন ব্যবহার করুন:
১. ইকুইভ্যালেন্স পার্টিশনিং এবং বাউন্ডারি ভ্যালু অ্যানালাইসিস (Equivalence Partitioning and Boundary Value Analysis) সরাসরি ডেটা না চেয়ে, LLM-কে প্রথমে টেস্ট ক্লাসগুলো ম্যাপ করতে বাধ্য করুন। Chain-of-Thought প্রম্পটিং ব্যবহার করুন।
- আপনার রোল একজন Senior QA Engineer হিসেবে নির্ধারণ করুন।
- নির্দিষ্ট বিজনেস রুলস প্রদান করুন (যেমন: কুপন লিমিট বা সর্বনিম্ন খরচ)।
- একটি টেবিলের মাধ্যমে সমস্ত বৈধ (valid) এবং অবৈধ (invalid) ইকুইভ্যালেন্স ক্লাস তালিকাভুক্ত করতে LLM-কে নির্দেশ দিন।
- প্রতিটি চিহ্নিত সিনারিওর জন্য ঠিক একটি করে JSON পেলোড দাবি করুন।
এটি নিশ্চিত করে যে আপনি অতিরিক্ত রেকর্ডের পেছনে সময় নষ্ট না করে, $৯৯.৯৯ বনাম $১০০.০০ এর মতো সঠিক ট্রানজিশন পয়েন্টগুলো পরীক্ষা করছেন।
২. স্টেট ট্রানজিশন টেস্টিং (State Transition Testing) পেমেন্ট ফ্লো বা অর্ডার ম্যানেজমেন্টের মতো সিস্টেমের জন্য, ডেটাকে অবশ্যই একটি লাইফসাইকেলের বিভিন্ন পর্যায় প্রতিফলিত করতে হবে।
- সমস্ত সম্ভাব্য স্টেটের একটি তালিকা প্রদান করুন (যেমন: Created, Paid, Shipped, Delivered)।
- একটি State Transition Matrix কভার করে এমন একটি CSV তৈরি করতে LLM-কে বলুন।
- তিন ধরনের ফ্লো দাবি করুন: Linear (বৈধ), Exception (বিচ্যুতি), এবং Violation (অবৈধ ট্রানজিশন)।
- প্রতিটি ইউনিক স্টেট কম্বিনেশনের জন্য কেবল একটি রো (row) তৈরি করার নিয়ম সেট করুন।
এটি ডুপ্লিকেট রেকর্ড প্রতিরোধ করে এবং নেগেটিভ টেস্ট কেস তৈরি করতে বাধ্য করে।
৩. ভ্যারিয়েন্স কন্ট্রোল এবং নেগেটিভ প্রম্পটিং (Variance Control and Negative Prompting) LLM প্রায়শই সমজাতীয় (homogeneous) ডেটা তৈরি করে, যেমন একই অঞ্চল বা একই বয়সের গ্রুপ ব্যবহার করা। এটি বন্ধ করতে Negative Prompting ব্যবহার করুন।
- ডিস্ট্রিবিউশনের জন্য স্পষ্ট প্রয়োজনীয়তা সেট করুন (যেমন: নির্দিষ্ট বয়সের সীমা বা ভৌগোলিক অঞ্চল)।
- একটি "PROHIBITIONS" (নিষেধাজ্ঞা) বিভাগ যোগ করুন।
- "John Doe"-এর মতো সাধারণ নামগুলো স্পষ্টভাবে নিষিদ্ধ করুন।
- ভেরিয়েবলগুলোর একই কম্বিনেশন বারবার ব্যবহার করা নিষিদ্ধ করুন।
- সিকোয়েন্সিয়াল বা একই রকম আইডি নম্বর ব্যবহার করা নিষিদ্ধ করুন।
এটি পক্ষপাতিত্ব (bias) দূর করে এবং নিশ্চিত করে যে আপনার ব্যাকএন্ড বৈচিত্র্যময় ও বাস্তবসম্মত ডেটা হ্যান্ডেল করতে সক্ষম।
AI-এর গতি তখনই প্রকৃত মূল্য প্রদান করে যখন আপনার ডেটা সুপরিকল্পিত হয়। একজন QA পেশাদার হিসেবে আপনার ভূমিকা হলো সেই সীমাবদ্ধতাগুলো (constraints) কোড করা যা এই জেনারেটিভ মডেলগুলোকে নিয়ন্ত্রণ করে।
ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi