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