ایجنتها بلد نیستن تست بنویسن
خلاصهٔ کاملتر
نویسنده میخواست ببینه اگه کسی که تخصص تست نداره ولی اسم چند تکنیک به گوشش خورده همون اسم رو به ایجنت بده، درستی کد بهتر میشه یا نه. برای همین همون بنچمارک پیادهسازی Zstd با Rust رو برداشت و به پرامپت اصلی دنبالههای مختلف اضافه کرد: از TDD استفاده کن، از QuickCheck استفاده کن، Lean 4، تست مبتنی بر ویژگی و چیزهای دیگه. در مجموع ۲۶ شرط بهاضافهٔ ۴ اسکیل آماده، هر کدوم با میانگین ۸۰ اجرا.
جمعبندی کلی اینه که هیچ حالتی بهشکل چشمگیری از بقیه جلو نزد، ولی حالت Default یعنی بدون دستور اضافه بالاتر از میانگین ایستاد. تو سطح تلاش xhigh، شرطهای مربوط به fuzzing و property-based testing کمی بهتر از روشهای صوری بودن و تو سطح medium وضعیت خیلی درهمتر بود. اسکیلهای تستی که خود codex پیشنهاد داده بود ضعیف عمل کردن، ولی اسکیل دستساز خود نویسنده بد نبود.
دلیلش از نگاه نویسنده روشنه: ایجنتها بلد نیستن این ابزارها رو درست به کار ببرن. یا همون تستهای همیشگیشون رو داخل قالب یه تکنیک دیگه مینویسن، یا تکنیک رو سطحی اجرا میکنن. تو حالتهای صوری بیشتر گزارههای بیربط اثبات کردن و حتی اثباتهای توخالی از جنس اگر A آنگاه A نوشتن. تو property-based testing هم به ورودی کاملاً تصادفی تکیه کردن که برای Zstd بیشتر به مسیرهای رد شدن ورودی میخوره تا باگ واقعی.
شکست TDD جزئیات جالبی داره. پرامپت TDD رفتار ایجنت رو واقعاً عوض کرد: دو برابر تست تولید شد و حلقهٔ تست و کد خیلی پررنگتر شد، جوری که تو ۶۷ اجرا از ۱۶۰ اجرا پیش از پیادهسازی جدی حداقل یه تست شکستخورده وجود داشت، در برابر صفر از ۱۶۰ تو حالت پیشفرض. ولی همین ایجنتها بیشتر تستهایی نوشتن که حالتهای سخت رو پوشش نمیده، مثلاً برای jump table چهار استریم هافمن هر چهار استریم رو یکسان میذاشتن.
اسکیلها هم داستان خودشون رو دارن. اسکیل رسمی Hegel نهتنها درستی رو بهتر نکرد، هزینه رو ۲۶ درصد تو medium و ۴۱ درصد تو xhigh بالا برد. خودش ۳۴ هزار کاراکتره و یه مرجع ۴۵ هزار کاراکتری Rust رو هم بار میکنه که مجموعش از ۲۰ هزار توکن رد میشه و بارها دوباره خونده میشه. نویسنده تفاوت اسکیل خودش رو این میدونه که بهجای درس دادن، ایجنت رو از رفتار پیشفرضش دور میکنه.
نکات کلیدی:
- ۲۶ شرط پرامپت و ۴ اسکیل، همه با codex و مدل GPT-5.6 Sol، میانگین ۸۰ اجرا برای هر کدوم.
- حالت Default بدون هیچ دستور اضافه بالاتر از میانگین درستی ایستاد.
- TDD تو ۶۷ اجرا از ۱۶۰ پیش از پیادهسازی تست شکستخورده داشت، مقابل ۰ از ۱۶۰ در حالت پیشفرض.
- تو شرط QuickCheck، ۶۳ اجرا از ۱۶۰ فقط یک ویژگی رو چک کردن.
- اسکیل Hegel هزینه رو ۲۶ درصد در medium و ۴۱ درصد در xhigh بالا برد، بدون بهبود درستی.




