وقتی یه ایجنت خودش الگوریتم فشردهسازی رو بهتر میکنه
خلاصهٔ کاملتر
این مطلب گزارشِ یه آزمایش شخصیه از الیوت اسمیت. نویسنده میگه به ادعاهایی که بدون شواهد از بهرهوریِ AI حرف میزنن مشکوکه، برای همین تصمیم گرفته خودش تست کنه. الهامش پروژهٔ «Autoresearch» بوده و عمداً یه مسئله انتخاب کرده که مثل کارهای واقعیِ محصول، یه معیارِ عینیِ موفقیت داره ولی مسیرش مثل یادگیری ماشین یه گرادیانِ تمیز نیست.
مسئلهٔ انتخابیش فشردهسازیِ فایل بوده، چون هم هدفش سادهست (فایلِ کوچیکتر بهتره) و هم قیدهاش. اسمیت دو قید گذاشته: فایلِ بازشده باید بینقص با اصل بخوره، و هیچکدوم از فشردهسازی یا بازگشایی نباید از ۳۰۰ ثانیه رد شه. اون عمداً سرعت رو بهینه نکرده و فقط زمان رو سقف گذاشته تا اگه حلقهٔ بینهایتی پیش اومد، تایماوت بگیرتش. یه مزیت دیگهٔ فشردهسازی هم اینه که کلی ابزار آماده هست که آخر کار باهاشون مقایسه کنه.
نویسنده اول یه اسکلت ساده به زبون Rust ساخته (چون سیستم تایپش قیدهایی مثل «امضای تابع رو عوض نکن» رو راحت اعمال میکنه)، چند تست واحد برای رفتوبرگشتِ بینقص گذاشته و یه اسکریپت بنچمارک نوشته که روی مخلوطی از فایلهای کمآنتروپی و پرآنتروپی کار میکنه. بعد از هر تکرار، فقط یه پرامپت ثابت داده: «کدِ فعلی رو بررسی کن و یه تکرار دیگه از بهبود رو امتحان کن»، و context رو هر بار پاک کرده تا آزمایش کنترلشده بمونه.
نتیجهش: ایجنت تو تکرار اول یه پیادهسازیِ LZSS (یه روش فشردهسازیِ کلاسیک) ساخته و نه تکرار بعدی همهش گسترشِ همون بوده، با اضافهکردن بررسی آنتروپی و روشهای کدگذاری. به گفتهٔ اسمیت، هر تکرار بهطور میانگین حدود ۴ دلار توکن خرج داشته و در نهایت الگوریتم خانگی رو صدا و ویدیو عالی بوده و جاهای دیگه کمابیش همتراز ابزارهای رایج.
ولی جانِ کلام تو درسهاشه. اول، اون حس کرده مدل مدام میخواد زودتر «تموم» بشه؛ فقط یه فرضیه میسازه، کد رو اضافه میکنه، بنچمارک میگیره و خودش رو کامل اعلام میکنه. برای همین میگه یه مکانیزم حلقهٔ صریح برای نسخهٔ واقعی لازمه. دوم و مهمتر، انتخاب تابع هدف تعیینکنندهست: قیدِ ۳۰۰ ثانیه خیلی شل بوده و مدل فقط برای فشردهسازی بهینه میکرده. به گفتهٔ نویسنده، اگه معیار رو مثلاً میانگین یا میانهٔ درصدِ فشردهسازی گذاشته بود، کل مسیر فرق میکرد.
نویسنده تأکید میکنه که تو دنیای واقعی معیارها به این تمیزی نیستن؛ فشردهسازی حلقهٔ بازخوردِ سریع داره ولی چیزی مثل «نرخ تبدیلِ چکاوت رو بهتر کن» پر از نویز و کنده. راهحل معمول اینه که یه معیارِ نیابتی (proxy) بهینه کنی، ولی اونوقت ریسکِ بیشبهینهکردنِ چیزی که فقط سست با هدف نهایی همبستهست پیش میاد. جمعبندیش اینه که این سبکِ auto-research وقتی منطقیه که بتونی یه معیارِ محکم، قابلاندازهگیری و خوشقید پیدا کنی، و پیداکردن همچین معیاری اغلب خودش سختیِ کاره.
نکات کلیدی:
- آزمایشی برای سنجش تاسکدادنِ مستقل به یه ایجنت، روی مسئلهٔ فشردهسازیِ فایل
- هدف کمّی (حجم کمتر) با دو قید: بازگشتِ بینقصِ فایل و سقف ۳۰۰ ثانیه
- ایجنت از یه LZSS شروع کرد و طی ده تکرار مرتب بهترش کرد، بهویژه روی صدا و ویدیو
- به گفتهٔ نویسنده مدلها عجله دارن زود «تموم» کنن، پس مکانیزم حلقهٔ صریح لازمه
- انتخاب تابع هدف تعیینکنندهست و تو دنیای واقعی معیارها پرنویز و سختترن




