تست موقت: کتابخونهتو با کدی که بعدش دور میریزی بسنج
خلاصهٔ کاملتر
دنیل لمیر تو این پست یه روش تست جدید معرفی میکنه که به گفتهٔ خودش قبلاً اصلاً شدنی نبود: ephemeral testing، یعنی تستی که خروجیش موقتیه و آخر کار دور ریخته میشه. ما کلی روش برای کنترل کیفیت داریم، مثل unit test، fuzz test و integration test. این یکی یه جور دیگهست.
روش اینطوریه: کدت رو مینویسی یا یه کامپوننت میسازی (فرقی نداره خودت نوشته باشی یا ایجنت). بعد از یه ایجنت هوش مصنوعی میخوای روی اون یه اپلیکیشن یا یه لایهٔ دیگه، یا حتی چند لایه بسازه و چیزی که ساخته رو تست کنه. تو کار اصلی رو مستقیم بررسی نمیکنی. به جاش نگاه میکنی نرمافزاری که روش ساخته شده چقدر خوب از آب دراومده.
نویسنده میگه این در اصل یه جور integration test هست، با این فرق که لایهٔ بالایی کاملاً موقتیه و بعدش پاکش میکنی. منطقش سادهست: کتابخونهای که API تمیز، invariantهای ثابت (یعنی قانونهایی که همیشه درست میمونن) و پیغام خطای بهدردبخور داره، به ایجنت کمک میکنه سریع یه چیز درست بسازه. ولی کتابخونهای با state پنهان، پیشفرضهای غافلگیرکننده یا مستندات ناقص، آخرش یه عالمه وصله و شکست تحویل میده. به گفتهٔ لمیر، این شکستها مدرکی علیه کد توئه، نه علیه ایجنت.
این کار رو میشه تکرار کرد: ایجنتهای مختلف، تسکهای مختلف، روی همون پایه. نویسنده معتقده به جای اینکه موقع ساختن هسته حدس بزنی لایههای بالاتر چی لازم دارن، خیلی راحت اون لایهها رو واقعاً میسازی و شبیهسازی میکنی. البته میگه اینکه بگیم با AI هر وقت خواستیم همهچی رو از نو میسازیم عملی نیست، چون به یه حدی از ثبات نیاز داریم. خودش تو پروژههاش وقتی به یه فیچر جدید فکر میکنه، از AI میخواد سریع چیزی که بعداً قراره روش ساخته بشه رو نمونهسازی کنه، و تا الان براش جواب داده.
نکات کلیدی:
- ephemeral testing یعنی ساختن یه لایهٔ موقت با ایجنت روی کدت و دور ریختنش بعد از تست
- کیفیت کد پایه از روی موفقیت یا شکست ایجنت در ساختن لایهٔ بالایی سنجیده میشه
- API تمیز و خطاهای واضح کار ایجنت رو راحت میکنه؛ state پنهان و مستندات ناقص باعث وصلهکاری میشه
- قابل تکرار با ایجنتها و تسکهای مختلف روی یه پایهٔ ثابت
- جایگزین حدس زدن نیازهای لایههای بالاتر موقع طراحی هسته




