تصور کنید میخواهید یک شخصیت را طراحی کنید، اما هوش مصنوعی بهجای گوش دادن به شما، بر اساس پیشفرضهای خودش تصمیم میگیرد. اگر در پرامپت خود کلمه «جادوگر» را به کار ببرید اما درباره کلاه چیزی نگویید، مدل بهطور خودکار یک کلاه نوکتیز به سر او میگذارد، حتی اگر صراحتاً نوشته باشید «بدون کلاه».
این اتفاق به این دلیل رخ میدهد که هوش مصنوعی زاینده (Generative AI) — شبیه به آشپزی است که دستور پخت کلی را میداند و هر جا چیزی کم باشد، از روی عادت خودش اضافه میکند — در مدل Tsubaki.3 دارای مجموعهای از مقادیر پیشفرض است که گاهی بر دستورات صریح کاربر غلبه میکند. همانطور که در تحلیلهای قبلی ما دربارهی امنیت و رفتار مدلهای انتشار اشاره کردیم، درک لایههای پنهان مدل برای کنترل خروجی ضروری است.
به گزارش بررسیهای فنی روی پلتفرم PixAI، برای جلوگیری از این تداخل، باید با پرامپت مانند یک «فراخوانی تابع» (Function Call) در برنامهنویسی برخورد کرد که دارای آرگومانهای پیشفرض است. تصور کنید در حال کدنویسی یک شخصیت هستید؛ اگر «جادوگر» را تعریف کنید اما مشخص کردن کلاه را فراموش کنید، هوش مصنوعی سر شخصیت را خالی نمیگذارد، بلکه یک کلاه نوکتیز «پیشفرض» را تزریق میکند. این مکانیسم اغلب دستورات صریح را نادیده میگیرد، زیرا قالب داخلی «جادوگر» در مدل، قویتر از اصلاحکنندههای خاص در پرامپت است. این چالش با استراتژیهای طبقهبندی قصد کاربر برای بهینهسازی توکنها مرتبط است که نشان میدهد چرا پرامپتهای کلی در مقیاس تولید شکست میخورند.

کالبدشکافی یک آزمایش
برای تست این فرضیه، شخصیتی به نام «کازانه» طراحی شد: جادوگری که با جارو بین جزایر شناور مسابقه میدهد. هدف این بود که با تغییر لایهبهلایه دستورات و ثبت نتایج، از یک مشخصات سه-جملهای ساده به یک طراحی نهایی برسیم و نقطه شکست مدل پیدا شود. این رویکرد مشابه بررسی نقاط شکست در مدلهای تولید تصویر انیمه است که برای شناسایی محدودیتهای فنی مدلها به کار میرود.
در تمام مراحل از مدل Tsubaki.3 و ابزار Prompt Helper استفاده شد. این ابزار پرامپت کاربر را پیش از تولید تصویر بازنویسی میکند و نتیجهی این «پرامپت بازنویسی شده» (Rewritten Prompt) در صفحه جزئیات تصویر قابل مشاهده است. برای اجرای تست، در مراحل متنی از دستههای ۴ تایی تصویر استفاده شد و برای مراحل ارجاعی، تصاویر تکبهتک تولید شدند. همچنین برای تمرکز دقیق روی قطعات لباس، از LoRAها صرفنظر شد.
تلهی پیشفرضها
در اولین تلاش (Run 1)، بیشتر آرگومانها تنظیمنشده و خالی گذاشته شدند. پرامپت توصیف میکرد: «یک جادوگر پرسرصدا و رقابتجو که بدون کلاه پرواز میکند و لباسش برای سرعت است، نه برای قصهها».
نتیجه تکاندهنده بود: از ۴ تصویر تولید شده، تنها یکی واقعاً بدون کلاه بود. در ۷۵٪ موارد، مدل پیشفرضهای آشنای نقش جادوگر را جایگزین کرد: کلاههای نوکتیز، رداهای تیره، یونیفرمهای مدرسه و روبانهای قرمز. در واقع، پیشفرضهای داخلی مدل برای نقش «جادوگر»، دستور صریح «بدون کلاه» را در اکثریت دسته تصاویر لغو کرد.
برای حل این مشکل، روش «تفاضل» (Diff) به کار گرفته شد. بهجای بازنویسی کلی پرامپت از ابتدا، توسعهدهنده مشخصات اولیه سه-جملهای را عیناً حفظ کرد و مقادیر صریح و جدیدی را برای تکتک ویژگیها به انتهای آن افزود. این کار تضمین میکرد که هیچ آرگومانی «تنظیمنشده» باقی نماند تا مدل فرصتی برای توهم (Hallucination) داشته باشد. این دقت در تعریف جزئیات، یکی از شرایط اساسی برای تولید شخصیتهای باکیفیت در محیطهای هوش مصنوعی است.
گردش کار دقیق
طبق مستندات این آزمایش، مؤثرترین راه برای تثبیت طراحی، پاس دادن مقادیر مثبت است، نه استفاده از پرامپت منفی (Negative Prompt). برای مثال، بهجای نوشتن «بدون کلاه»، عبارت «بخش بالای سر و مدل مو بهطور کامل قابل مشاهده باشد» جایگزین شد.
در اجرای دوم (Run 2)، مقادیر زیر بهطور صریح تعریف و ارسال شدند:
- مو: ارغوانی تیره، دماسبی بلند تک
- چشمها: زرد طلایی
- لباس: تاپ جذب سرمهای تیره (Midnight-navy) با زیپ
- شنل: کوتاه، سبزآبی (Teal)، فقط روی شانه راست
- پاها: شلوار مشکی که داخل چکمههای سفید تا زانو قرار گرفته است
- جارو: دقیقاً سه نوار سبزآبی
نتیجه این بود که در ۴ از ۴ تصویر، شخصیت بدون کلاه و با رنگهای دقیق ظاهر شد. با این حال، هنوز ناپایداریهایی وجود داشت؛ برای مثال، پارچههای دنبالهدار بین رنگ سرمهای و سبزآبی تغییر میکردند و با وجود درخواست برای «پیچ در مسیر» (Banked turn)، ژست شخصیت همچنان معلق روی یک لبه صخره باقی مانده بود.
کنترلهای پیشرفته و باگهای توکن
در مرحله سوم (Run 3)، از تصاویر مرجع با استفاده از @image1 (شخصیت اصلاحشده) و @image2 (یک پروانه مونارک) برای تست محدوده (Scope) استفاده شد.
- باگ محدوده: وقتی محدوده روی کلمه کلی «لباس» (Outfit) تنظیم شد، پرامپت بازنویسی شده به «یک لباس مسابقه پوشاننده با طرح پروانه» تبدیل شد. این باعث شد طرح پروانه به تمام بخشها از جمله تاپ، شنل، شلوار و چکمهها سرایت کند. برای حل این مشکل، محدوده به «شنل و پارچه دنبالهدار آن» محدود شد و سایر بخشها مانند تاپ سرمهای و چکمههای سفید در لیست
keepقرار گرفتند تا حفظ شوند. - ابهام توکن: کلماتی مثل «دم» (Tail)، «بال» (Wing) یا «شاخ» (Horn) اغلب توسط مدل به عنوان اعضای بیولوژیکی تفسیر میشوند. برای مثال، تلاش برای توصیف یک «دم جاری» (Streaming tail) برای شنل، باعث شد مدل یک دم حیوانی خزدار بکشد. راهکار این است که این قطعات صراحتاً به عنوان «پارچه» (Fabric) توصیف شوند.
- تست رگرسیون: استفاده از دستورالعملهای رسمی PixAI (مانند Holographic Recipe) میتواند به عنوان یک تست رگرسیون عمل کند. در اجرای چهارم (Run 4)، در حالی که چهره و موها پایدار ماندند، اما محدوده لباس و فاصله دوربین تغییر کرد. این نشان داد که این ویژگیها هنوز «قفل» نشدهاند و به اصلاحات بیشتری نیاز دارند.


این تغییر استراتژی، هنر دیجیتال را از یک «قمار» یا شانس (Slot-machine gambling) به یک فرآیند مهندسی قطعی (Deterministic engineering process) تبدیل میکند. برای سازندگان، ابزار Rewritten Prompt در PixAI مهمترین ابزار عیبیابی است. با خواندن نحوه بازنویسی درخواست توسط Prompt Helper، میتوانید دقیقاً ببینید مدل کجا یک محدوده کوچک را به یک مفهوم کلی گسترش داده است.

در نهایت، تجربه Tsubaki.3 ثابت میکند که دانش مدل از یک نقش (Role)، مانند مجموعهای از ثابتهای پیشفرض (Pre-defined constants) است. اگر هر ثابت را صراحتاً بازنویسی نکنید، مدل بدون توجه به قصد شما، به سراغ کلیشهایترین نسخه آن شخصیت میرود.
گام بعدی شما
- با یک مشخصات ساده سه-جملهای شروع کنید و دستههای ۴ تایی تصویر بسازید تا بفهمید مدل چه «پیشفرضهایی» را به شخصیت شما تحمیل میکند.
- بهجای استفاده از پرامپت منفی برای حذف اشیا، از توصیفات مثبت برای جایگزینی آنها (مثلاً «نمای کامل مو» بهجای «بدون کلاه») استفاده کنید.
- در توصیف لباسها، حتماً کلمه «پارچه» یا «متریال» را به کار ببرید تا مدل آنها را با اعضای بدن اشتباه نگیرد.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو