ساخت کامپایلر C با کمک عاملهای هوش مصنوعی؛ آزمایش جسورانه Anthropic از آینده توسعه نرمافزار
پژوهشگران Anthropic موفق شدند با استفاده از «تیم عاملهای هوش مصنوعی» (Agent Teams)، یک کامپایلر C مبتنی بر Rust را تقریباً بهصورت کاملاً خودکار توسعه دهند؛ کامپایلری که قادر است کرنل لینوکس را بر روی معماریهای x86، ARM و RISC-V کامپایل کند.
به گزارش پایگاه خبری هوش مصنوعی سیمرغ، نیکلاس کارلینی (Nicholas Carlini)، پژوهشگر تیم Safeguards در Anthropic، در گزارشی که ۵ فوریه ۲۰۲۶ منتشر شد، جزئیات یک آزمایش کمسابقه را شرح داده است که مرزهای فعلی توسعه خودکار نرمافزار با مدلهای زبانی بزرگ را به چالش میکشد.
ساخت کامپایلر C با کمک تیمهای عامل؛ گامی فراتر از برنامهنویسی تعاملی
در این پروژه، بهجای استفاده از یک مدل زبانی منفرد، ۱۶ نمونه از Claude Opus 4.6 بهصورت موازی روی یک پایگاه کد مشترک کار کردند؛ بدون نظارت مستمر انسان. این معماری که «Agent Teams» نام دارد، امکان تقسیم وظایف، تخصصگرایی و پیشرفت همزمان روی بخشهای مختلف پروژه را فراهم میکند.
هدف آزمایش، ساخت یک کامپایلر C از صفر بود؛ کامپایلری که بتواند پروژههای واقعی و بسیار بزرگ، از جمله Linux Kernel 6.9 را با موفقیت کامپایل کند.
نتیجهای فراتر از انتظار
پس از حدود ۲ هزار نشست اجرایی Claude Code در بازهای نزدیک به دو هفته و با هزینهای در حدود ۲۰ هزار دلار API، تیم عاملها موفق به تولید کامپایلری با بیش از ۱۰۰ هزار خط کد شد که ویژگیهای زیر را دارد:
- کامپایل موفق کرنل لینوکس روی x86، ARM و RISC-V
- کامپایل پروژههایی مانند QEMU، FFmpeg، SQLite، Redis و PostgreSQL
- نرخ موفقیت حدود ۹۹٪ در تستهای استاندارد کامپایلر (از جمله GCC torture tests)
- توانایی کامپایل و اجرای بازی Doom بهعنوان آزمون نهایی توسعهدهندگان
نکته قابلتوجه اینکه این پروژه بهصورت Clean-room انجام شده و Claude در طول توسعه هیچ دسترسی به اینترنت نداشته است.
چالش اصلی: خودمختاری بلندمدت
به گفته کارلینی، سختترین بخش پروژه نه نوشتن کد، بلکه طراحی زیرساخت آزمون و بازخورد بوده است؛ بهگونهای که عاملها بدون دخالت انسان بتوانند مسیر درست را تشخیص دهند.
برخی از مهمترین درسهای این آزمایش عبارتاند از:
- اهمیت تستهای بسیار دقیق: عاملها دقیقاً همان چیزی را بهینه میکنند که تستها اندازهگیری میکنند.
- طراحی تستها برای مدل زبانی، نه انسان: خروجی کمحجم، خطاهای قابل جستوجو و لاگهای ساختیافته.
- مدیریت محدودیتهای ذاتی مدلها مانند ناتوانی در درک زمان یا حساسیت به آلودگی کانتکست.
وقتی مقیاس پروژه، موازیسازی را سخت میکند
در مراحل ابتدایی، موازیسازی عاملها بهخوبی جواب میداد؛ اما هنگام کامپایل کرنل لینوکس، همه عاملها به یک باگ مشترک برخورد میکردند. راهحل تیم، استفاده از GCC بهعنوان مرجع صحیح (Oracle) بود تا عاملها بتوانند فایلها را بهصورت تفکیکشده دیباگ کنند و دوباره به موازیسازی مؤثر برسند.
محدودیتها و واقعبینی
با وجود موفقیت چشمگیر، این کامپایلر هنوز جایگزین GCC یا Clang نیست. از جمله محدودیتهای آن:
- نبود پشتیبانی کامل از ۱۶-bit x86 برای بوت لینوکس
- استفاده از اسمبلر و لینکِر GCC در برخی مراحل
- کارایی پایینتر کد تولیدی نسبت به کامپایلرهای بالغ
- کیفیت کد Rust پایینتر از استاندارد یک توسعهدهنده خبره
کارلینی تأکید میکند که این پروژه عملاً به مرز توانایی Opus 4.6 رسیده و افزودن قابلیتهای جدید اغلب باعث شکستن عملکردهای قبلی میشود.
آینده توسعه نرمافزار؛ هیجان همراه با نگرانی
Anthropic این پروژه را نه یک محصول، بلکه بنچمارکی برای سنجش توانایی مدلهای زبانی میداند. به باور کارلینی، تیمهای عامل میتوانند مسیر توسعه نرمافزار را دگرگون کنند، اما خطرات واقعی نیز وجود دارد؛ بهویژه زمانی که کدی بدون بررسی انسانی مستقیم وارد محیطهای حساس شود.
او در پایان مینویسد:
«این پروژه هم هیجانانگیز بود و هم نگرانکننده. اینکه در ابتدای ۲۰۲۶ چنین چیزی ممکن شده، واقعاً غیرمنتظره است.»
جمعبندی
آزمایش Anthropic نشان میدهد که توسعه خودکار پروژههای پیچیده نرمافزاری دیگر یک ایده علمی–تخیلی نیست، اما هنوز به بلوغ صنعتی نرسیده است. آنچه امروز ممکن شده، بیش از هر چیز نیازمند چارچوبهای نظارتی، تستهای هوشمند و استراتژیهای ایمنسازی جدید است.
منبع کد این کامپایلر منتشر شده و پژوهشگران میتوانند آن را بررسی کرده و روی پروژههای C خود آزمایش کنند؛ مسیری که بهاحتمال زیاد، آینده مهندسی نرمافزار را بازتعریف خواهد کرد.
