آیا دوران برنامه نویسی پایان یافته است؟

کدنویسی در حال تغییر است؛ از این به بعد AI می‌نویسد و برنامه‌نویس تصمیم می‌گیرد

گیزمکس
نویسنده: فوائد مبینی
چهارشنبه 18 شهریور 1405
تأثیر هوش مصنوعی و GitHub Copilot بر آینده برنامه‌نویسی
ایجنت‌های هوش مصنوعی در حال تغییر شیوه کدنویسی و توسعه نرم‌افزار هستند.

«دیوید فاولر»، مهندس ارشد و شناخته‌شده مایکروسافت، اخیراً جمله‌ای منتشر کرده که توجه زیادی در جامعه برنامه‌نویسان به خود جلب کرده است: «تایپ کردن کد کاملاً تمام شده است.» منظور او اما پایان کار برنامه‌نویسان نیست؛ بلکه تغییری است که در حال رخ دادن در خود فرایند توسعه نرم‌افزار است.

در مدل قدیمی توسعه نرم‌افزار، برنامه‌نویس بخش زیادی از زمان خود را پشت ویرایشگر کد می‌گذراند؛ کد می‌نوشت، خطاها را پیدا می‌کرد، تست می‌گرفت و دوباره تغییر می‌داد. حالا ایجنت‌های هوش مصنوعی می‌توانند بخش قابل‌توجهی از این چرخه را خودشان انجام دهند. برای نمونه، GitHub Copilot قادر است تغییرات موردنیاز را در یک مخزن اعمال کند، تست‌ها و بررسی‌های لازم را اجرا کند و در نهایت یک Pull Request برای بررسی برنامه‌نویس آماده کند.

این یعنی مسئله اصلی برای یک توسعه‌دهنده در حال تغییر است. به‌جای اینکه همیشه از خودش بپرسد «این کد را چطور بنویسم؟»، باید بیشتر بداند «دقیقاً چه چیزی باید ساخته شود؟»، «ساختار درست این سیستم چیست؟» و «چطور مطمئن شوم خروجی AI واقعاً درست و امن است؟». مایکروسافت نیز در پژوهش‌های خود درباره آینده ابزارهای برنامه‌نویسی به همین تغییر اشاره کرده و نشان داده است که توسعه‌دهندگان می‌خواهند AI بخش بیشتری از کارهای اجرایی را بر عهده بگیرد، اما کنترل و تصمیم‌گیری مهم همچنان در اختیار انسان باقی بماند.

تبلیغات

نمونه عملی این تغییر را می‌توان در محصولات خود مایکروسافت دید. GitHub Copilot دیگر صرفاً ابزاری برای پیشنهاد دادن خط بعدی کد نیست و ایجنت‌های آن می‌توانند وظایف چندمرحله‌ای توسعه را انجام دهند. مایکروسافت در رویداد Build نیز اعلام کرده بود که این ایجنت‌ها می‌توانند از ایده یا Issue شروع کنند، تغییرات را ایجاد کنند و آن را وارد فرایند بررسی، تست و ادغام کنند؛ در حالی که برنامه‌نویس همچنان کنترل نهایی را در دست دارد.

حتی محیط توسعه نیز در حال تغییر است. مایکروسافت در پروژه‌هایی مانند Aspire تلاش کرده ابزارهای خود را برای همکاری با ایجنت‌های هوش مصنوعی آماده‌تر کند. در چنین شرایطی، AI دیگر فقط یک پنجره چت کنار محیط برنامه‌نویسی نیست؛ بلکه می‌تواند با مخزن کد، ابزارهای توسعه، تست و بخش‌های مختلف پروژه تعامل داشته باشد.

اما این تغییر یک مشکل جدی هم دارد: هر کدی که AI تولید می‌کند، الزاماً کد خوبی نیست. هرچه وظیفه پیچیده‌تر و طولانی‌تر شود، احتمال خطا و نیاز به بررسی انسانی بیشتر می‌شود. به همین دلیل، برنامه‌نویسی در آینده احتمالاً کمتر به معنی تایپ کردن خط‌به‌خط کد و بیشتر به معنی طراحی، بررسی، تست، امنیت، معماری و هدایت سیستم‌های هوش مصنوعی خواهد بود. پژوهش‌های مایکروسافت نیز نشان می‌دهند توسعه‌دهندگان در واگذاری کامل تصمیم‌گیری به AI محتاط هستند.

این تغییر البته الزاماً به معنی کاهش نیاز به برنامه‌نویس نیست. گزارش تحقیقاتی مایکروسافت درباره روند استفاده از AI نشان می‌دهد افزایش توانایی ابزارهای کدنویسی هم‌زمان با افزایش تولید نرم‌افزار همراه شده است؛ حتی اشتغال توسعه‌دهندگان نرم‌افزار در آمریکا در سال ۲۰۲۵ به حدود ۲.۲ میلیون نفر رسید و نسبت به سال قبل ۸.۵ درصد افزایش داشت. یکی از توضیح‌های احتمالی این است که وقتی تولید نرم‌افزار ارزان‌تر و سریع‌تر می‌شود، شرکت‌ها پروژه‌هایی را اجرا می‌کنند که پیش از این هزینه یا زمان لازم برای ساخت آنها را نداشتند.

برای برنامه‌نویسان، پیام این تغییر شاید ساده باشد: یادگیری زبان برنامه‌نویسی همچنان مهم است، اما دیگر کافی نیست. در دنیایی که AI می‌تواند بخش بزرگی از کد را تولید کند، ارزش یک توسعه‌دهنده بیشتر به توانایی او در فهم مسئله، طراحی معماری، تشخیص خطا، بررسی امنیت و کنترل خروجی ماشین وابسته خواهد بود.

در نتیجه، جمله «تایپ کردن کد تمام شده» را نباید به معنی «پایان برنامه‌نویسی» تفسیر کرد. اتفاقی که در حال رخ دادن است، بیشتر شبیه تغییر جایگاه کیبورد در فرایند توسعه نرم‌افزار است؛ AI بیشتر کد را می‌نویسد، اما هنوز این برنامه‌نویس است که باید بداند چه چیزی ساخته شود، چرا باید ساخته شود و آیا چیزی که ساخته شده واقعاً ارزش استفاده دارد یا نه.

نظرات کاربرانکپی متنکپی لینک