همیشه دادهٔ واقعی در دسترس نیست؛ گاهی هنوز کاربری نداری، گاهی حق نداری دادهٔ واقعی افراد را جابهجا کنی و گاهی فقط میخواهی یک ایده را سریع امتحان کنی. اینجاست که «تولید دادهٔ مصنوعی» با هوش مصنوعی به کمک میآید: با یک پرامپت درست، در چند ثانیه دهها ردیف دادهٔ ساختگیِ واقعنما میگیری که برای تست، دمو، آموزش و تحلیل آماده است. در این درس از سری آموزشهای پرامپتنویسی، گامبهگام یاد میگیری چطور این دادهها را دقیق، متنوع و قابلاعتماد بسازی.

لیست مطالب
گام ۱ — چرا و کجا دادهٔ مصنوعی میسازیم؟
پیش از نوشتن هر پرامپتی باید بدانی این داده به چه دردت میخورد، چون هدف، شکل خروجی را تعیین میکند. چهار کاربرد رایج وجود دارد: تست نرمافزار (وقتی میخواهی مطمئن شوی برنامه با ورودیهای گوناگون درست کار میکند)، ساخت دمو و نمونهٔ اولیه (وقتی محصولی داری ولی هنوز کاربر واقعی نداری)، آموزش و تمرین (برای یادگیری اکسل، SQL یا تحلیل داده بدون دسترسی به دیتاست واقعی) و پرکردن قالبها (مثل جدول قیمت یا فهرست نمونه در یک صفحهٔ وب).
مزیت اصلی این است که کنترل کامل داری: میتوانی دقیقاً همانقدر رکورد، با همان ویژگیهایی که لازم داری، بسازی. برخلاف دادهٔ واقعی، اینجا هیچ نگرانیای بابت حریم خصوصی وجود ندارد؛ بهشرطی که دادهٔ واقعی کسی را وارد ماجرا نکنی.
مثال: «میخواهم فرم ثبتنام یک وبسایت را تست کنم. یک فهرست از ۸ کاربر ساختگی بساز که هرکدام نام، ایمیل ساختگی، شمارهٔ موبایل ایرانی نمونه (با فرمت ۰۹xxxxxxxxx) و تاریخ عضویت داشته باشند. همه چیز باید کاملاً ساختگی و بدون ارتباط با افراد واقعی باشد.»
گام ۲ — ساختار را دقیق تعریف کن
مهمترین تفاوت میان یک پرامپت خوب و یک پرامپت بیمصرف در همین گام است. اگر فقط بگویی «چند تا داده بساز»، مدل چیزی مبهم و غیرقابلاستفاده تحویل میدهد. باید مثل طراحی یک جدول فکر کنی: چه ستونهایی لازم داری، هر ستون چه نوعی دارد (متن، عدد، تاریخ، بله/خیر) و هر مقدار در چه بازهای قرار میگیرد. این همان دقتی است که در درس اصول پرامپتنویسی برای مبتدیها هم بر آن تأکید میشود.
هرچه قیدها روشنتر باشند، خروجی تمیزتر است. مشخص کن اعداد در چه بازهای باشند، متنها به چه زبانی نوشته شوند و تاریخها شمسی باشند یا میلادی. این کار جلوی حدسزدن مدل را میگیرد.
مثال: «۱۵ ردیف دادهٔ ساختگی سفارش فروشگاه بساز با این ستونها: شناسهٔ سفارش (عدد ۵ رقمی)، نام مشتری (فارسی)، شهر، تاریخ شمسی، تعداد کالا (عدد ۱ تا ۵) و مبلغ کل (به تومان). خروجی را بهصورت جدول با سرستون فارسی بده.»
گام ۳ — واقعنمایی را با روابط منطقی بالا ببر
دادهای که بهظاهر واقعی است ولی از درون بیمنطق باشد، بهدرد تستهای جدی نمیخورد. مثلاً اگر «تعداد کالا» زیاد باشد اما «مبلغ کل» ناچیز، داده غیرواقعی به نظر میرسد. راهحل این است که رابطهٔ میان ستونها را صریح برای مدل توضیح دهی تا مقدارها با هم همخوان بمانند.
همچنین میتوانی از مدل بخواهی توزیع مقدارها را طبیعی نگه دارد؛ یعنی همهٔ رکوردها شبیه هم و در وسط بازه نباشند، بلکه مثل دنیای واقعی پخش شوند. این نکته وقتی داده را برای تحلیل یا نمودار میخواهی اهمیت دوچندان پیدا میکند.
مثال: «در همان جدول سفارشها، این قیدها را رعایت کن: مبلغ کل باید تقریباً با تعداد کالا تناسب داشته باشد (هر کالا بین ۵۰ تا ۳۰۰ هزار تومان)، شهرها از میان ده شهر بزرگ ایران انتخاب شوند و تاریخها در بازهٔ سه ماه اخیر پخش باشند، نه همه در یک روز.»

گام ۴ — تنوع را صریح بخواه
یکی از عادتهای آزاردهندهٔ مدلهای زبانی، تکرار است؛ بهویژه در نامها و مقدارهای متنی. اگر چیزی نگویی، ممکن است نصف مشتریها «علی محمدی» و «زهرا احمدی» شوند. برای همین باید تنوع را مثل یک قید مستقل مطرح کنی و حتی بگویی چه چیزهایی نباید تکرار شوند. این رویکرد شبیه همان منطقی است که در آشنایی با مدلهای هوش مصنوعی دربارهٔ رفتار پیشفرض مدلها توضیح دادهایم.
یک ترفند خوب این است که بازهٔ تنوع را کمّی کنی: «حداقل ۸ شهر متفاوت»، «هیچ نام کاملاً تکراری» یا «هر رکورد دستکم در دو ستون با بقیه فرق داشته باشد».
مثال: «همان ۱۵ ردیف را دوباره بساز، اما این بار تنوع را جدی بگیر: نامها نباید تکراری باشند، از دستکم ۸ شهر مختلف استفاده کن و مبلغها یکنواخت نباشند. اگر داری خروجی را تکراری میسازی، عمداً آن را متنوعتر کن.»
گام ۵ — حالتهای لبهای را عمداً بساز
اینجا نقطهٔ قوت واقعی تولید دادهٔ مصنوعی است. «حالت لبهای» یعنی همان دادهٔ نادر و عجیبی که برنامهها معمولاً روی آن میشکنند و در دنیای واقعی بهسختی بهدستشان میآوری: فیلد خالی، عدد منفی، رشتهٔ بسیار بلند، تاریخ نامعتبر، کاراکتر خاص یا مقدار صفر. اگر برنامهات را فقط با دادهٔ «تمیز» تست کنی، خطاهای پنهان بعداً در محیط واقعی خودشان را نشان میدهند.
پس از مدل بخواه علاوه بر رکوردهای عادی، چند رکورد مرزی هم اضافه کند و مشخص کند کدامها لبهایاند تا در تست بتوانی رفتار برنامه را بررسی کنی. این کار دقیقاً همان چیزی است که کیفیت تست را از سطح ابتدایی به سطح حرفهای میرساند.
مثال: «به جدول کاربران، ۵ رکورد لبهای اضافه کن: یکی با ایمیل بدون علامت @، یکی با نام خیلی بلند (بیش از ۵۰ حرف)، یکی با فیلد شهر خالی، یکی با سن منفی و یکی با کاراکترهای خاص در نام. جلوی هر رکورد لبهای در یک ستون توضیح بنویس چه چیزی را قرار است تست کند.»
گام ۶ — قالب خروجی را با مقصد هماهنگ کن
دادهٔ خوب اگر در قالب اشتباه بیاید، باز هم وقتگیر میشود. پیش از تولید، تصمیم بگیر خروجی کجا میرود و همان قالب را بخواه. سه قالب پرکاربرد وجود دارد: CSV برای اکسل و گوگلشیت، JSON برای برنامهنویسی و اپلیکیشن، و دستور INSERT برای واردکردن مستقیم به پایگاهداده. تعیین قالب درست، یکی از پایهایترین مهارتهایی است که در بحث کاربرد هوش مصنوعی در کسبوکار هم بارها به آن برمیخوریم.
اگر خروجی را برای کد میخواهی، حتماً بگو فقط خودِ داده را بدهد، بدون توضیح اضافه؛ چون یک جملهٔ توضیحی در ابتدای JSON میتواند کل فایل را خراب کند.
مثال: «همان دادهٔ کاربران را این بار بهصورت JSON معتبر بده؛ هر کاربر یک شیء با کلیدهای انگلیسی (name، email، city، age). فقط آرایهٔ JSON را چاپ کن، بدون هیچ متن توضیحی قبل یا بعد از آن.»

گام ۷ — تولید انبوه و ادامهدادن بدون افت کیفیت
وقتی به تعداد زیادی رکورد نیاز داری، نمیتوانی همه را در یک درخواست بگیری؛ خروجی طولانی معمولاً ناقص یا تکراری میشود. راهحل، تولید مرحلهای است: دستهدسته بساز و در هر دسته تأکید کن که رکوردها نباید با دستههای قبلی تکراری باشند. این همان منطق زنجیرهٔ پرامپت است که کار بزرگ را به قدمهای کوچک میشکند.
یک روش تمیز این است که به مدل شماره بدهی: «این دستهٔ دوم است، از شناسهٔ ۱۰۱ شروع کن.» اینطور شناسهها پشتسرهم میمانند و دادهها بههم نمیریزند. در پایان هم میتوانی بخواهی موارد تکراری احتمالی را حذف کند.
مثال: «این دستهٔ سوم از دادهٔ سفارشهاست. ۲۰ ردیف جدید بساز که شناسههایشان از ۰۴۱ تا ۰۶۰ باشد و هیچکدام نباید نام مشتری یا ترکیب شهر و تاریخِ ردیفهای قبلی را تکرار کنند.»
گام ۸ — اعتبارسنجی و مرزهای اخلاقی
دادهٔ مصنوعی هرچقدر هم واقعنما باشد، باز ساختهٔ یک مدل است و ممکن است خطا یا سوگیری داشته باشد؛ مثلاً کدپستیای که وجود ندارد یا توزیعی که واقعی به نظر نمیرسد. پس همیشه خروجی را یک بار مرور کن و برای دادههای حساس، صحت قالب را با یک ابزار یا کد کوتاه بررسی کن. میتوانی حتی از خود مدل بخواهی دادهاش را نقد کند؛ روشی که در درس توانها و محدودیتهای هوش مصنوعی بیشتر توضیح دادهایم.
مرز اخلاقی هم ساده اما مهم است: هرگز دادهٔ شخصی واقعیِ کسی را به مدل نده تا «نمونههای مشابه» بسازد، و دادهای که تولید میکنی را بهعنوان داده واقعی جا نزن. برای آگاهی از خبرهای تازهٔ این حوزه هم میتوانی بخش اخبار هوش مصنوعی را دنبال کنی.
مثال: «دادهای که ساختی را بازبینی کن: آیا شهری اشتباه نوشته شده؟ آیا مبلغی غیرمنطقی است؟ آیا رکورد تکراری داری؟ فهرست کوتاهی از ایرادها بده و نسخهٔ اصلاحشده را دوباره چاپ کن.»
پرسشهای پرتکرار
آیا دادهٔ مصنوعی جای دادهٔ واقعی را میگیرد؟ نه بهطور کامل. برای تست، دمو و آموزش عالی است، اما برای تصمیمهای نهاییِ کسبوکار باید در نهایت با دادهٔ واقعی اعتبارسنجی شود؛ چون مدل الگوهای پنهان دنیای واقعی را کامل نمیشناسد.
چند رکورد را میتوانم یکجا بگیرم؟ بستگی به مدل دارد، اما برای حفظ کیفیت بهتر است هر دسته را زیر ۳۰ تا ۵۰ ردیف نگه داری و برای تعداد بیشتر، تولید مرحلهای (گام ۷) را بهکار ببری.
چطور مطمئن شوم دادهها تکراری نیستند؟ تنوع را صریح بخواه، به هر دسته شماره بده و در پایان از مدل بخواه رکوردهای تکراری را پیدا و حذف کند؛ برای اطمینان بیشتر میتوانی خروجی نهایی را در اکسل هم مرتب و بازبینی کنی.
کدام قید بیشترین تأثیر را در واقعنما شدن دادهٔ مصنوعی دارد؟
این تمرین ویژهٔ اعضاست
برای دیدن این بخش باید عضو ویژه (VIP) باشی. با شمارهٔ موبایلت وارد شو تا ۱۴ روز دسترسی رایگان فعال شود.
🎁 ورود / ثبتنام و شروع ۱۴ روز رایگاننسخهٔ فوری این مطلب در تلگرام: اینجا بخوانید
