مشکل اصلی، بدهی پرامپته
خلاصهٔ کاملتر
نویسنده تو این مقاله میگه اگه پرامپتهای زبان طبیعی رو دستی تنظیم کنی، در واقع داری یه «بدهی پرامپت» جمع میکنی: همون چیزی که ساخت پروتوتایپ رو سریع میکنه، درازمدت جلوی ساخت سیستمهای قابلاتکا رو میگیره. مشکل یه پرامپت خاص نیست؛ مشکل اینه که زبان طبیعی اصلاً برای مشخصکردن رفتار مهندسی ساخته نشده.
به گفتهی نویسنده، اولین نشونهی بدهی پرامپت، کند شدن توسعهست: هر بار کاربر یه خطا یا edge caseای پیدا میکنه، یه دستور دیگه به پرامپت اضافه میشه و اگه رفتار ناخواسته ادامه پیدا کنه، همون دستور با لحن شدیدتر تکرار میشه. نویسنده مثال میزنه که سیستمپرامپت Fable یه قانون کپیرایت رو تو شیش تا بخش مختلف تکرار کرده، و Claude Code هفت بار به Opus گفته که چندتا فراخوانی ابزار رو تو یه پاسخ برگردونه.
دومین اثر این بدهی، فلج شدن تیمه: پرامپتی که پر از استثنا و هشدارهای حروفبزرگه، برای خود نویسنده هم بهسختی خونا میشه، چه برسه به بقیهی تیم. اثر سوم هم قفلشدن رو یه مدل خاصه: هاتفیکسهایی که رو GPT-4o جواب میدن، وقتی مدل عوض بشه از کار میفتن؛ طبق یه گزارش از Datadog، پرکاربردترین مدلی که تو ترافیک واقعی دیده شده هنوز همون GPT-4oـه.
دلیلش، به گفتهی نویسنده، ترکیب ابهام زبان طبیعی با احتمالاتیبودن مدله. تو یه پژوهش، وقتی یه سؤال بالینی یه بار با لحن بیمار و بار دیگه با لحن پزشک -با همون واقعیتها- پرسیده شد، Opus از رد کردن هر ده سؤال به پاسخ دادن به هر دهتا تغییر جهت داد. یه پژوهش دیگه تو هاروارد نشون داد حتی گفتن اینکه طرفدار کدوم تیم فوتبال آمریکایی هستی هم میتونه نرخ امتناع مدل از پاسخ به موضوعات حساس رو عوض کنه.
راهحلی که نویسنده پیشنهاد میده از دنیای ایجنتهای کدنویسی اومده. اصل اول اینه که رفتار سیستم رو با معیار و سنجش مشخص کنی، نه با نثر؛ یعنی ارزیابی، متریک و اسپکهای تایپشده که هم خودت و هم همکارات بتونین بخونین و روش کار کنین.
اصل دوم اینه که پرامپت رو دیگه دستی ننویسی. وقتی معیاری برای امتیازدهی به کاندیدها داری، پرامپت دیگه چیزی نیست که بسازیش، بلکه چیزیه که باید براش جستجو کنی؛ ابزارهایی مثل DSPy و GEPA این کار رو خودکار انجام میدن. به گفتهی نویسنده، وقتی رفتار برنامهت با معیار مشخص بشه، عوض کردن مدل هم دیگه چند هفته طول نمیکشه، فقط چند ساعت؛ چه مدل به دلایل قانونی جمع بشه (مثل Fable آنتروپیک) چه بهخاطر قدیمی شدن، دیگه یه چارهست نه یه بحران.
نکات کلیدی:
- بدهی پرامپت یعنی جمع شدن دستورهای تکراری و متناقض تو پرامپت که توسعه رو کند و تیم رو گیج میکنه
- زبان طبیعی و مدلهای احتمالاتی، پرامپت رو شکننده و وابسته به یه مدل خاص میکنن
- راهحل: مشخص کردن رفتار سیستم با ارزیابی و متریک بهجای نثر
- استفاده از ابزارهایی مثل DSPy و GEPA برای جستجوی خودکار پرامپت بهجای نوشتن دستی




