مهندسی پرامپت برای داده‌های مصنوعی (Synthetic Data)

استفاده از LLMها برای ایجاد داده‌های مصنوعی یک استراتژی محبوب برای تیم‌های QA است. شما می‌توانید صدها رکورد پیچیده را در عرض چند ثانیه تولید کنید.

اما پرامپت‌های عمومی منجر به یک تله می‌شوند. اگر از یک LLM بخواهید «۵۰ کاربر تست تولید کن»، داده‌های قابل پیش‌بینی و تکراری به شما می‌دهد. این امر باعث ایجاد حس کاذب از پوشش تست می‌شود. شما رکورد‌های زیادی دریافت می‌کنید که فقط «مسیر خوش‌بینانه» (happy path) را تست می‌کنند، در حالی که موارد مرزی (edge cases) حیاتی و منطق تجاری را نادیده می‌گیرند.

برای رفع این مشکل، باید از یک درخواست‌کننده به یک هماهنگ‌کننده (orchestrator) تبدیل شوید. شما باید اصول تست را مستقیماً در مهندسی پرامپت خود اعمال کنید.

از این سه الگو برای بهبود کیفیت داده‌های خود استفاده کنید:

۱. تقسیم‌بندی معادل (Equivalence Partitioning) و تحلیل مقدار مرزی (Boundary Value Analysis)

به جای درخواست مستقیم داده، LLM را مجبور کنید ابتدا کلاس‌های تست را ترسیم کند. از پرامپت‌نویسی زنجیره تفکر (Chain-of-Thought) استفاده کنید.

این کار تضمین می‌کند که نقاط انتقال دقیق، مانند ۹۹.۹۹ دلار در مقابل ۱۰۰.۰۰ دلار را بدون هدر دادن فضا برای رکوردهای تکراری، تست می‌کنید.

۲. تست انتقال حالت (State Transition Testing)

برای سیستم‌هایی مانند جریان‌های پرداخت یا مدیریت سفارش، داده‌ها باید مراحل مختلف یک چرخه حیات را منعکس کنند.

این کار از ایجاد رکوردهای تکراری جلوگیری کرده و باعث ایجاد موارد تست منفی (negative test cases) می‌شود.

۳. کنترل واریانس و پرامپت‌نویسی منفی (Negative Prompting)

LLMها اغلب داده‌های همگن تولید می‌کنند، مثلاً استفاده از مناطق یا گروه‌های سنی یکسان. از پرامپت‌نویسی منفی برای جلوگیری از این اتفاق استفاده کنید.

این کار سوگیری را از بین می‌برد و تضمین می‌کند که بک‌اند (backend) شما داده‌های متنوع و واقع‌گرایانه را مدیریت می‌کند.

سرعت هوش مصنوعی تنها زمانی ارزش‌آفرین است که داده‌های شما هدفمند باشند. نقش شما به عنوان یک متخصص QA، کدنویسی محدودیت‌هایی است که بر این مدل‌های مولد حاکم هستند.

منبع: https://dev.to/lopesdoamaral/engenharia-de-prompts-para-massa-de-dados-escalando-testes-com-cobertura-e-sem-duplicidade-oba

انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi