اگر یک برنامهنویس هستید که هر روز ساعتها کد تولیدشده توسط عاملهای هوش مصنوعی را بازبینی میکند، احتمالاً از حجم زیاد کدهای تکراری خستهاید. باید بدانید که یک تغییر ساده در دستورالعملهای سیستم میتواند حجم این کدها را بیش از نصف کند و سرعت بازبینی شما را بهشدت بالا ببرد.
لوسیان گیندا (Lucian Ghinda) پیشنهادی ارائه داده است که در آن عاملهای هوش مصنوعی مجبور میشوند برای کارهای گذرا — مثل تغییر نام فایلها یا پاکسازی دادهها — بهجای پایتون از زبان روبی (Ruby) استفاده کنند. او استدلال میکند که چون روبی در ذات خود برای این کارهای سریع طراحی شده، استفاده از آن باعث میشود برنامهنویس بهجای تایید کورکورانه تغییرات، واقعاً نقش بازبین را ایفا کند.
همانطور که در تحلیلهای قبلی ما دربارهی بهینهسازی توکنها در مدلهای زبانی اشاره کردیم، هر بایت اضافی در خروجی مدل، هم هزینه استنتاج را بالا میبرد و هم تمرکز انسانی را میکشد. در این راستا، گیندا یک بلوک دستوری صریح برای فایل تنظیمات عامل پیشنهاد میدهد: «اسکریپتهای کاربردی و گذرا را حتماً با روبی بنویس، حتی اگر پروژه با زبان دیگری باشد. اگر کد نیاز به حلقه، شرط یا بیش از یک خط دارد، آن را با روبی بنویس، نه پایتون یا Node یا bash.»
اکثر عاملهای کدنویسی بهطور پیشفرض از پایتون استفاده میکنند چون این زبان همهجا نصب است. اما طبق گزارشهای فنی، این عادت منجر به تولید حجم زیادی از کدهای تکراری یا همان Boilerplate میشود؛ مثلاً ساختارهای if __name__ == "__main__": یا مستندات طولانی (Docstrings) که در اسکریپتهای ۱۰ خطی هیچ کاربردی ندارند و فقط یک «مالیات بازبینی» بر دوش انسان میگذارند.
برای سنجش این ادعا، یک بنچمارک دقیق با مدل Claude Opus 5 اجرا شد. در این آزمایش از حالت ایمن (claude --safe-mode) استفاده شد تا هیچ تنظیمات پیشفرضی روی نتایج اثر نگذارد. چهار زبان روبی، پایتون، bash و جاوا اسکریپت در چهار وظیفه متداول (تحلیل لاگها، تغییر کلید در فایلهای env، تغییر نام عکسها و فیلتر CSV) با هم مقایسه شدند.
جزئیات: وظایف آزمایشی
- t1_logs: شمارش درخواستها و خطاها در لاگهای دسترسی.
- t2_config: تغییر نام یک کلید خاص در درختی از فایلهای
.env. - t3_rename: تغییر نام عکسهای
screenshot-N.pngبه فرمت صفر-پر شدهshot-NNNN.png. - t4_csv: فیلتر کردن ردیفهای یک فایل CSV و محاسبه مجموع.
زمینه: سازوکارهای تست
برای تضمین عدالت در آزمایش، پارامترهای سختی تعریف شد. مثلاً بازوی bash اجازه استفاده از ابزار jq را نداشت چون این ابزار جزو کتابخانه استاندارد نیست. همچنین هر کد باید دقیقاً همان خروجی بایتی را تولید میکرد که نسخه مرجع تولید میکرد تا صحت عملکرد تضمین شود.
در محیط «اتاق پاک» (Clean Room) که هیچ تنظیماتی اعمال نشده بود، نتایج تکاندهنده بود:
- روبی: کوتاهترین کد با ۱۶۶۰ بایت.
- پایتون: پرحجمترین کد با ۳۶۴۴ بایت (۱۲۰٪ بزرگتر از روبی).
- Bash: ۲۳۳۳ بایت (۴۱٪ بزرگتر از روبی).
- جاوا اسکریپت: ۳۲۳۱ بایت (۹۵٪ بزرگتر از روبی).

بخش بزرگی از این حجم زیاد در پایتون مربوط به سینتکس نیست، بلکه مربوط به عادتهای مدل است. بر اساس یافتههای این پژوهش، مستندات (Docstrings) به تنهایی ۸٪ از کل حجم کد پایتون را تشکیل میدهند. اگر این عادتها حذف شوند، فاصله پایتون تا روبی از ۱۲۰٪ به ۱۸٪ میرسد که به تفاوت واقعی این دو زبان در دستنویسی نزدیکتر است.
اما وقتی تنظیمات واقعی (Real Environment) اعمال میشود — یعنی مدل دستور بگیرد که «کوتاهترین کد ممکن را بنویس» — اعداد تغییر میکنند. در این حالت، قانون روبی تنها ۲۹٪ کد را کاهش میدهد (بهجای ۵۴٪ در اتاق پاک). این نشان میدهد که بهرهوری یک قانون، به شدت به سایر محدودیتهای سیستم وابسته است.
یکی از یافتههای جالب، تغییر جایگاه Bash بود. وقتی یک «پرسونا» یا شخصیت برای مدل تعریف شود که فقط به دنبال کوتاهترین راه باشد، Bash به برنده تبدیل میشود و ۳۱٪ از روبی کوتاهتر است. اما در حالت عادی، مدل Bash را «بااحتیاط» مینویسد و برای مدیریت خطاهای احتمالی، کدهای طولانیتری تولید میکند که باعث میشود ۴۱٪ از روبی حجیمتر شود.
خطر «گلف کدنویسی»
پژوهشگران برای یافتن کفِ کوتاهی، یک «نردبان دستوری» را امتحان کردند تا ببینند چند کلمه برای مجبور کردن مدل به ایجاز لازم است:
- «مختصر باش» (۲ کلمه): کاهش حجم کد به ۴۱٪-.
- «گلفش کن» (Golf it) (۲ کلمه): کاهش حجم به ۶۴٪-.
- «کوتاهترین کد ممکن» (۳ کلمه): کاهش ۶۳٪-.
- قوانین صریح (۳۶ کلمه): کاهش ۶۹٪-.
جالب است که عبارت «Golf it» — که به هنر نوشتن کوتاهترین کد ممکن در برنامهنویسی اشاره دارد — به تنهایی ۶۴ درصد از کل بهینهسازی را به دست آورد. اما دستورات طولانیتر (۳۶ کلمهای) باعث شکستهای بحرانی شدند. برای مثال، در اسکریپتهای Bash، هرجا نام پوشهای دارای «فاصله» (Space) بود، کدها کرش کردند چون مدل در تلاش برای کوتاهکردن کد، کوتیشنهای لازم را حذف کرده بود.
در مقایسه عملی، برای وظیفه تغییر پیکربندی، کد روبی بسیار خوانا و کوتاه است و از Dir.glob استفاده میکند. در مقابل، نسخه پایتون برای همان کار به ۳۸ خط نیاز دارد و باید برای مدیریت پایان خطوط و ایمپورتهای مختلف، کدهای تکراری زیادی بنویسد.
در نهایت، وقتی روبی به حد نهایی «گلف» میرسد، تبدیل به کدی متراکم و شکنند میشود که فقط در نسخههای جدید (روبی ۳.۴ به بالا) اجرا میشود. در این نقطه، شما دیگر «ایجاز» نمیخرید، بلکه «تراکم» میخرید که بازبینی آن برای انسان دشوارتر است.
گام بعدی شما
- اگر از Agentهای کدنویس استفاده میکنید، قانون «استفاده از روبی برای اسکریپتهای یکبار مصرف» را در پرامپت سیستمی خود قرار دهید.
- در بازبینی کدها، هر جا مدل پایتون را برای یک کار ساده انتخاب کرد، از او بخواهید آن را به روبی تبدیل کند تا حجم کد کاهش یابد.
- مراقب استفاده از عباراتی مثل «Golf it» باشید؛ این دستور برای کاهش توکن عالی است اما میتواند امنیت و پایداری کد را در محیطهای عملیاتی به خطر بیندازد.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو