انتزاع بیش از حد، قبض ایجنت هوش مصنوعیتون رو ۳۰٪ بالا میبره
خلاصهٔ کاملتر
نویسنده تعریف میکنه که خودش هم یه زمانی عاشق ساختن انتزاع بود، ولی حالا فکر میکنه یه دولوپر واقعاً سنیور خیلی کمتر از چیزی که اکثر آدمها فکر میکنن انتزاع میسازه. حرف تازهاش اینه که این عادت حالا یه قبض هم داره: هوش مصنوعی از کد نوشتهشده به دست آدم یاد گرفته، پس همین الگو رو تکرار میکنه و شما بابتش پول میدین.
مشکل اصلی indirection هست، یعنی اینکه کد کنار هم نیست و جریان برنامه مدام بین فایلها بالا و پایین میپره. مثالش اینه: میخوای فقط بدونی رنگ دکمهی delete چیه، و باید از کامپوننت بری سراغ variant، بعد کلاس CSS، بعد متغیر رنگ. شش تا فایل برای یه سؤال پیشپاافتاده. ایجنت هم مجبوره همین شش فایل رو بکشه توی context؛ توکن بیشتر، کندتر، و هر بار گرونتر.
آزمایشش اینطوری بود: دو تا ماشینحساب علمی با قابلیتهای یکسان (Vite و React و Tailwind)، یکی جمعوجور و یکی با ۱۲ لایه انتزاع اضافه. با مدل Sonnet 5، تسک «رنگ دکمهی مساوی رو عوض کن» روی نسخهی پر از انتزاع ۵ برابر گرونتر و کندتر درومد، و ۱۰ بار تکرارش کرد تا مطمئن بشه تصادفی نیست. بعد شک کرد شاید تقصیر حجم کده، چون یکی ۲۰۰۰ خط بود و اون یکی ۳۵۰۰ خط؛ دو نسخهی هماندازهی دیگه ساخت و باز هم ۳ برابر اختلاف موند.
بعد ۷ تا تسک مختلف طراحی کرد و معلوم شد همهچی به نوع کار بستگی داره. عوض کردن یه مقدار ته زنجیره ۵ برابر گرونتر بود، رد کردن یه مقدار از لایهها ۲.۱ برابر، اضافه کردن یه کلید عملیات جدید ۱.۳ برابر، ولی پیدا کردن و رفع یه باگ ۰.۹ برابر و استایل دادن همزمان به ۱۲ کلید ۰.۸ برابر، یعنی اونجا انتزاع برنده شد. البته برای تسک آخر مجبور شد bash رو از ایجنت بگیره، وگرنه با sed دوازده فایل رو یهجا عوض میکرد و نسخهی جمعوجور دوباره جلو میزد.
از بین ۳۹۴ اجرا، نویسنده میگه خود بزرگ شدن فایلها تأثیر کمی داشت (احتمالاً به خاطر کش context) و سنگینترین عاملها تعداد فایلهای خوندهشده و رفتوبرگشتهای مدله. پس انتزاعی که توی همون فایل میمونه برای ایجنت تقریباً مجانیه و اونکه مرز فایل رو رد میکنه گرونه. خود عدد ۳۰٪ هم اندازهگیری مستقیم نیست: نویسنده از یه مدل خواست دادهها رو برای یه کدبیس واقعی تعمیم بده، جواب ۴۰٪ بود و خودش محافظهکارانه آوردش روی ۳۰٪. حرف آخرش هم این نیست که انتزاع نسازین، میگه فقط یاد بگیرین مرز رو کجا بذارین.
نکات کلیدی:
- برآورد نهایی ۳۰٪ افزایش هزینهی ایجنته، که از تعمیم ۴۰٪ محافظهکارانه پایین اومده
- دامنهی اندازهگیریشده بین ۰.۸ تا ۵ برابر بود، بسته به نوع تسک
- دو اپ هماندازه هم ۳ برابر اختلاف داشتن، پس تقصیر حجم کد نبود
- گرونترین عاملها تعداد فایلهای خوندهشده و round trip مدله، نه اندازهی فایل
- انتزاع خوشنام مثل ایندکس عمل میکنه و تو تسک پیدا کردن باگ ۱۰٪ هزینه رو کم کرد




