نویسنده: قاسم حسنزاده
ظهور هوش مصنوعی مولد شیوه ساخت نرمافزار را بهگونهای بنیادین تغییر داده است. ابزارهای امروزی میتوانند کد بنویسند، خطاها را پیدا کنند، آزمون طراحی کنند، مستندسازی کنند و حتا در برخی محیطها بخشی از فرآیند توسعه را بدون دخالت مستقیم انسان پیش ببرند. این پیشرفت پرسشی را در ذهن هر برنامهنویسی زنده کرده است: اگر ماشین بتواند کد بنویسد، سرنوشت این حرفه چه خواهد بود؟
پاسخ پیچیدهتر از آن است که در نگاه نخست به نظر میرسد. برنامهنویسی تنها نوشتن خطهای کد نیست؛ فهم مسأله، طراحی سیستم، تصمیمگیری دربارهی معماری و اطمینان از درستی و امنیت کار، بخشهایی هستند که همچنان به قضاوت انسانی نیاز دارند. شواهد تجربی هم همین را نشان میدهند: در حالی که یک آزمایش کنترلشدهی گیتهاب توانست سرعت انجام یک وظیفهی مشخص برنامهنویسی را بهطور چشمگیری افزایش دهد، پژوهش دقیقتر مؤسسه METR روی گروهی از برنامهنویسان باتجربه به نتیجهای کاملا متفاوت رسید. این دو یافته نشان میدهند که تأثیر هوش مصنوعی بر بهرهوری، به نوع کار، تجربهی فرد و شیوهی استفاده از ابزار بستگی دارد.
بر همین اساس، آیندهی برنامهنویسی را باید نه رقابتی میان انسان و ماشین، بلکه تحولی از تولید کد به سمت طراحی سیستم و هدایت عاملهای هوشمند دانست؛ مسیری که در آن برنامهنویس از نویسندهی کد به ناظر، ارزیاب و راهنمای ابزارهای هوشمند تبدیل میشود.
یک تحول در ادامهی یک مسیر تاریخی
بررسی تاریخی این حرفه نشان میدهد که برنامهنویسی همواره در حال تحول بوده است. برنامهنویسان نخست مستقیما با زبان ماشین کار میکردند؛ سپس زبانهای سطح بالا، کتابخانهها و ابزارهای آماده و در نهایت محیطهای توسعهای پیشرفته از راه رسیدند که بخش قابلتوجهی از کارهای تکراری را ساده کردند. در هر مرحله، برنامهنویسان بخشی از کارهای دستی را از دست دادند، اما در عوض توانستند بر مسائل بزرگتر و پیچیدهتر تمرکز کنند.
هوش مصنوعی مولد را میتوان ادامهی همین مسیر دانست، با این تفاوت مهم که ابزارهای پیشین تنها دستورهایی از پیش تعیینشده را اجرا میکردند، اما ابزارهای امروزی میتوانند بخشی از فرآیندهایی را انجام دهند که پیشتر تحلیل و تصمیمگیری انسانی میطلبید. طبیعی است که وقتی یک مدل زبانی میتواند از روی توضیح یک مسأله، راهحلی برای آن پیشنهاد دهد، نگرانی دربارهی آیندهی این حرفه شکل بگیرد. اما پرسش اصلی این نیست که آیا هوش مصنوعی میتواند کد بنویسد یا نه؛ پرسش این است که وقتی بخش قابلتوجهی از نوشتن کد به هوش مصنوعی سپرده میشود، کدام بخشهای این حرفه همچنان به قضاوت انسانی نیاز دارند؟
سه سطح همکاری انسان و ماشین
برای درک بهتر این تحول، میتوان کاربرد هوش مصنوعی در برنامهنویسی را در سه سطح دید.
سطح نخست همان چیزی است که اکثر برنامهنویسان با آن آشنایند: تکمیل خودکار کد، جایی که هوش مصنوعی مانند یک دستیار در محیط برنامهنویسی عمل میکند و براساس کد نوشتهشده، ادامهی آن را پیشنهاد میدهد. سطح دوم، تولید کد از روی توضیح متنی است؛ برنامهنویس مسأله را با زبان طبیعی شرح میدهد و هوش مصنوعی بخش عمدهی کد را مینویسد. مهارت اصلی در این سطح دیگر تایپ کردن نیست، بلکه توانایی توضیح دقیق مسأله و ارزیابی درستی خروجی است. سطح سوم، که هنوز در حال شکلگیری است، کار با عاملهای هوشمند نام دارد؛ در این سطح هوش مصنوعی تنها یک قطعه کد تولید نمیکند، بلکه یک وظیفه را از ابتدا تا انتها پیش میبرد: مسأله را تحلیل میکند، برنامهی کار میریزد، فایلها را تغییر میدهد، آزمون اجرا میکند، خطاها را پیدا میکند و تا رسیدن به نتیجه ادامه میدهد.
پژوهشهای مؤسسه METR نشان دادهاند که توانایی این عاملهای هوشمند در انجام وظایف طولانیتر، هر چند ماه یکبار بهشکل چشمگیری بهبود مییابد؛ بااینحال، پژوهشگران هشدار دادهاند که موفقیت در آزمایش کنترلشده لزوما به معنای آمادهبودن این ابزارها برای جایگزینی قابلاعتماد انسان در محیط کار واقعی نیست.
آیا برنامهنویسان جای خود را از دست میدهند؟
پاسخ قطعی و سادهای برای این پرسش وجود ندارد. برخی وظایف احتمالا بهطور کامل خودکار خواهند شد، اما این به معنای ازبینرفتن کل حرفه نیست. کارهایی با الگوی مشخص و تکراری، مانند نوشتن کدهای استاندارد، ساخت رابطهای ساده میان برنامهها، نوشتن آزمونهای اولیه یا تهیه مستندات پایه، به احتمال زیاد بیشتر و بیشتر به هوش مصنوعی سپرده میشوند. در مقابل، کارهایی مانند فهم نیاز واقعی مشتری، تصمیمگیری دربارهی ساختار کلی یک سیستم بزرگ، ارزیابی ریسک، توجه به امنیت و مسئولیتپذیری در برابر پیآمدهای تصمیمهای فنی، همچنان و احتمالا برای مدتی طولانی به قضاوت انسانی نیاز خواهند داشت.
بنابراین، پرسش درست این نیست که «آیا برنامهنویسان حذف میشوند؟» بلکه این است که «کدام نوع از کار برنامهنویسی ارزش خود را حفظ خواهد کرد؟»
چرا هوش مصنوعی همیشه سرعت نمیبخشد
یکی از باورهای رایج این است که استفاده از هوش مصنوعی همیشه کار را سریعتر میکند، اما شواهد تجربی این باور را زیر سؤال میبرند. در آزمایش کنترلشدهی گیتهاب در سال ۲۰۲۲، برنامهنویسانی که از Copilot برای نوشتن یک سرور HTTP استفاده میکردند، این وظیفه را نزدیک به ۵۶ درصد سریعتر از گروه کنترل انجام دادند. اما در آزمایش بسیار دقیقتر مؤسسه METR در سال ۲۰۲۵ روی ۱۶ برنامهنویس باتجربه که بهطور میانگین پنج سال سابقهی کار روی همان پروژههای متنباز داشتند، نتیجه کاملا معکوس شد: انجام ۲۴۶ وظیفهی واقعی با کمک ابزارهای هوش مصنوعی اوایل سال ۲۰۲۵، بهطور میانگین ۱۹ درصد بیشتر از حالت بدون کمک هوش مصنوعی زمان برد. لازم به یادآوری است که این رقم مشخصا نتیجهی همان آزمایش محدود METR روی گروهی کوچک از برنامهنویسان باتجربه با همان نسل از ابزارهای هوش مصنوعی است و نباید آن را بهطور کلی به همهی برنامهنویسان یا همهی شرایط کاری تعمیم داد.
نکته جالبتر اینجا است: همین برنامهنویسان پیش از شروع آزمایش پیشبینی کرده بودند هوش مصنوعی حدود ۲۴ درصد در زمان صرفهجویی میکند، و حتا پس از پایان کار نیز بر این باور ماندند که حدود ۲۰ درصد سریعتر شدهاند؛ در حالی که دادههای واقعی نشان میداد آنان کندتر شده بودند. این شکاف میان تصور و واقعیت، خود یکی از یافتههای مهم این پژوهش است.
این دو نتیجهی متضاد در واقع یک پیام مشترک دارند: تأثیر هوش مصنوعی بر بهرهوری به عوامل گوناگونی بستگی دارد- نوع مسأله، آشنایی پیشین برنامهنویس با آن بخش از کد، کیفیت ابزار و زمانی که باید صرف بررسی و اصلاح خروجی هوش مصنوعی شود. بنابراین، نمیتوان با اطمینان گفت هوش مصنوعی همیشه کار را سریعتر یا کندتر میکند؛ باید شرایط هر پروژه را جداگانه سنجید.
بحران اعتماد به خروجی هوش مصنوعی
یکی از چالشهای اساسی کار با هوش مصنوعی، اعتماد به درستی خروجی آن است. کدی که یک مدل زبانی تولید میکند ممکن است در نگاه نخست درست به نظر برسد و حتا در آزمونهای ساده هم جواب بدهد، اما در محیط واقعی با خطای منطقی، ضعف امنیتی یا ناسازگاری با سایر بخشهای سیستم روبهرو شود.
نظرسنجی سالانه ۲۰۲۵ Stack Overflow، که با بیش از ۴۹ هزار پاسخ از ۱۷۷ کشور انجام شده، همین موضوع را به روشنی نشان میدهد. با اینکه ۸۴ درصد از شرکتکنندگان اعلام کردهاند از ابزارهای هوش مصنوعی استفاده میکنند یا قصد استفاده دارند، تنها ۳۳ درصد به دقت خروجی این ابزارها اعتماد دارند و ۴۶ درصد صراحتا به آن بیاعتماد اند؛ تنها سه درصد گفتهاند اعتماد کامل دارند. به بیان دیگر، با وجود گسترش چشمگیر استفاده از این ابزارها، اعتماد برنامهنویسان به دقت خروجی آنها همچنان محدود مانده است. بزرگترین دلخوری این برنامهنویسان، بهگفتهی ۴۵ درصد آنان، مواجهه با راهحلهایی است که «تقریبا درست» به نظر میرسند، اما کاملا درست نیستند؛ و ۶۶ درصد گفتهاند به همین دلیل زمان بیشتری صرف رفع اشکال کدهای تولیدشده توسط هوش مصنوعی میکنند تا اگر خودشان از صفر مینوشتند.
نتیجهی مهمی که از این یافتهها به دست میآید این است: در آینده، تنها توانایی تولید کد کافی نیست؛ توانایی تشخیص کد درست از کد ظاهرا درست اهمیت بیشتری پیدا میکند.
برنامهنویس فردا: از نویسندهی کد تا طراح سیستم
اگر هوش مصنوعی بخش قابلتوجهی از نوشتن مستقیم کد را بر عهده بگیرد، ارزش کار برنامهنویس به سمت تصمیمگیریهای کلیدیتر جابهجا میشود. بخشی از این تحول، توانایی تعریف دقیق مسأله است؛ چون هوش مصنوعی بدون توضیح روشن نمیتواند خروجی قابل اعتماد بدهد. بخش دیگر، طراحی معماری کلی سیستم است؛ هوش مصنوعی میتواند چند گزینه پیشنهاد کند، اما انتخاب بهترین گزینه برای شرایط واقعی یک پروژه همچنان به قضاوت انسانی نیاز دارد. بخش سوم، ارزیابی نتیجه است، یعنی بررسی اینکه آیا کد تولیدشده درست، امن، قابلنگهداری و از نظر هزینهی اجرا منطقی است یا نه.
شاید در آینده برنامهنویسان به جای نوشتن مستقیم همهی کد، چند ابزار هوشمند مختلف را برای بخشهای گوناگون یک پروژه هدایت کنند؛ یکی برای تحلیل، یکی برای طراحی، یکی برای آزمون و یکی برای بررسی امنیت. در چنین شرایطی، نقش انسان بیشتر هدایتکننده و ناظر باشد تا نویسندهی مستقیم.
مهارتهایی که بیشتر میارزند
تغییر ابزار به معنای ازبینرفتن مهارت نیست، بلکه به معنای تغییر ترکیب مهارتها است. دانش پایه برنامهنویسی مانند ساختمان داده، الگوریتم، شبکه و پایگاه داده همچنان اهمیت دارد، چون بدون آن نمیتوان صحت خروجی هوش مصنوعی را سنجید. در کنار آن، توانایی توضیح دقیق مسأله برای هوش مصنوعی (که گاهی مهندسی درخواست نامیده میشود)، توانایی سازماندهی اطلاعات و زمینهی لازم برای دریافت پاسخ درست، مهارت ارزیابی و آزمایش خروجی هوش مصنوعی، طراحی گردش کار برای ابزارهای هوشمند، و توجه ویژه به امنیت، همگی اهمیت فزایندهای پیدا کردهاند. در کنار همهی اینها، مهارتهای انسانی مانند ارتباط مؤثر، کار تیمی و درک نیاز واقعی کسبوکار نیز جایگاه خود را حفظ میکنند.
آیا هنوز باید اصول برنامهنویسی را آموخت؟
پاسخ مثبت است، اما با یک شرط. اگر هدف تنها نوشتن چند نوع کد ساده باشد، هوش مصنوعی میتواند بخش زیادی از آن را انجام دهد؛ اما اگر هدف تبدیلشدن به یک مهندس نرمافزار حرفهای باشد، فهم عمیق از معماری، الگوریتم، امنیت و اصول طراحی همچنان ضروری است، چون بدون آن نمیتوان خروجی هوش مصنوعی را بهشکل مؤثر کنترل و هدایت کرد.
از این زاویه، هرچه هوش مصنوعی نوشتن کد را سادهتر کند، فهم عمیق مهندسی نرمافزار ارزشمندتر میشود؛ چون شمار کسانی که «میتوانند کد تولید کنند» افزایش مییابد، اما شمار کسانی که میدانند «چه کدی باید تولید شود و چرا»، به همان نسبت رشد نمیکند.
بازار کار: نه حذف کامل، بلکه تغییر نوع کار
نگرانی رایج دیگر این است که هوش مصنوعی باعث ازبینرفتن گستردهی مشاغل برنامهنویسی میشود؛ نگرانیای قابلدرک، اما بدون درنظرگرفتن تفاوت میان انواع کار، سادهسازی بیش از حد است. تجربهی فناوریهای پیشین نشان داده که وقتی ابزاری تازه انجام کاری را سادهتر و ارزانتر میکند، معمولا دو اتفاق همزمان رخ میدهد: از یکسو برخی کارهای قدیمی کمتر مورد نیاز میشوند، و از سوی دیگر تقاضای تازهای برای محصولات، خدمات و مهارتهای نوین شکل میگیرد. در نرمافزار نیز همین احتمال هست: اگر هزینهی ساخت نرمافزار پایین بیاید، ممکن است شمار پروژههایی که از نظر اقتصادی صرفه دارند افزایش یابد، نه کاهش.
آنچه بیشتر در معرض تغییر است، کارهای بسیار تکراری و استاندارد هستند؛ در مقابل، طراحی معماری سیستم، امنیت، تحلیل نیاز واقعی کاربران و مدیریت پروژههای پیچیده همچنان ارزش خود را حفظ میکنند یا حتا افزایش مییابند. پس موضوع اصلی، تعداد برنامهنویسان نیست، نوع مهارت و نقشی است که هر برنامهنویس ایفا میکند.
عاملهای هوشمند و مرزهای واقعیشان
یکی از تحولات مهم سالهای پیشرو، حرکت از دستیارهای ساده مانند Copilot به سمت سیستمهایی است که خود یک وظیفهی کامل را انجام میدهند؛ جایی که انسان هدف را تعیین میکند و مجموعهای از ابزارهای هوشمند، از تحلیل تا طراحی، نوشتن کد، آزمون و حتا بررسی امنیت را پیش میبرند. نقش انسان در این میان حذف نمیشود، بلکه از «کسی که همه چیز را دستی انجام میدهد» به «کسی که فرآیند را هدایت و نظارت میکند» تغییر مییابد.
بااینحال، نباید این آینده را بیش از حد قطعی یا نزدیک تصور کرد. پروژههای واقعی معمولا پیچیدگیهای پنهان، تصمیمهای تاریخی و دانشی دارند که تنها در ذهن افراد باتجربه است، نه در مستندات. وقتی چند ابزار هوشمند پیاپی کار میکنند، اشتباه یکی میتواند به دیگری منتقل شود و نتیجهای کاملا نادرست بسازد؛ و هرچه یک ابزار هوشمند به فایلها، اطلاعات و زیرساخت بیشتری دسترسی داشته باشد، خطر سوءاستفاده یا خطای امنیتی هم بالاتر میرود. در کارهای حساس، همیشه باید روشن باشد مسئولیت یک تصمیم یا خطا با چه کسی است؛ به همین دلیل، دستکم برای مدتی طولانی، حضور انسان در کنار این ابزارها همچنان ضروری خواهد بود.
آموزش برنامهنویسی در دوران جدید
هوش مصنوعی شیوهی آموزش برنامهنویسی را نیز تغییر خواهد داد. در گذشته، بخش زیادی از آموزش حول این پرسش بود که «آیا دانشجو میتواند این کد را بنویسد؟» اما از این پس این پرسش باید گستردهتر شود: آیا دانشجو مسأله را درست فهمیده؟ آیا میتواند طراحی مناسبی ارائه دهد؟ آیا خطای هوش مصنوعی را تشخیص میدهد؟ آیا امنیت یک سیستم را میفهمد؟
بر همین اساس، آموزش دانشگاهی برنامهنویسی باید بهتدریج از تمرکز صرف بر نحو زبان، به سمت تفکر سیستمی، حل مسأله، طراحی و ارزیابی نقادانهی خروجی هوش مصنوعی حرکت کند؛ استفاده از هوش مصنوعی در صنف درس نباید جای یادگیری اصولی را بگیرد، بلکه باید به دانشجو کمک کند در سطح بالاتری فکر کند.
افغانستان: میان آموزش سنتی و دوران هوش مصنوعی
این پرسشها برای افغانستان نیز اهمیت دارند. در بسیاری از مراکز آموزشی افغانستان، آموزش برنامهنویسی هنوز عمدتا بر پایه رویکردهای نظری و ساختارهای سنتی زبانهای برنامهنویسی استوار است و کمتر با ابزارهای نوین هوش مصنوعی و شیوههای همکاری انسان و ماشین که در این نوشتار توضیح داده شد، پیوند خورده است. این فاصله لزوما نشانهی ضعف نهادهای آموزشی نیست، بلکه تا حد زیادی بازتاب سرعت بسیار بالای تحولات جهانی در این حوزه است؛ روندی که در بسیاری از کشورهای دیگر نیز چالشهای مشابهی ایجاد کرده است. بااینحال، اگر برنامههای درسی بهتدریج فضایی برای آشنایی دانشجویان با این ابزارها و مهارتهای تازه باز کنند، دانشجویان رشتهی کامپیوتر در افغانستان میتوانند زودتر و آمادهتر با نیازهای بازار کار جهانی همراه شوند.
جمعبندی: حرفهای که شکل عوض میکند
آیندهی برنامهنویسی را نمیتوان با جملهای ساده مانند «هوش مصنوعی همهچیز را تغییر میدهد» یا «هوش مصنوعی تنها یک ابزار ساده است» توضیح داد، واقعیت جایی میان این دو قرار دارد. شواهد نشان میدهند هوش مصنوعی در برخی شرایط سرعت کار را چشمگیر بالا میبرد، اما در شرایط دیگر میتواند حتا کار را کندتر کند. برنامهنویسان در سراسر جهان روزبهروز بیشتر از این ابزارها استفاده میکنند، اما هنوز به دقت آنها اعتماد کامل ندارند.
آنچه محتمل به نظر میرسد این است که نوشتن کدهای تکراری، سادهتر و خودکارتر میشود؛ ابزارهای هوشمند بیشتری وارد کار روزمره میشوند؛ و بخش قابلتوجهی از اجرای کارها به این ابزارها سپرده میشود. بااینحال، نیاز به فهم مسألهی واقعی، طراحی درست، توجه به امنیت و مسئولیتپذیری انسانی همچنان باقی میماند. در چنین شرایطی، هوش مصنوعی لزوما برنامهنویسان را حذف نمیکند، بلکه نقش و نوع مهارتهای موردنیاز آنان را تغییر میدهد.
برنامهنویس آینده لزوما کسی نیست که بیشترین خط کد را در کمترین زمان بنویسد؛ کسی است که بتواند یک مسألهی پیچیده را به یک سیستم قابلاعتماد تبدیل کند، از ابزارهای هوش مصنوعی درست استفاده کند، خروجی آنها را با دقت بسنجد و مسیر یک پروژه را با قضاوت درست هدایت کند. شاید پرسش درست برای نسل تازهی برنامهنویسان این نباشد که «آیا هوش مصنوعی این حرفه را از بین میبرد؟» بلکه این باشد: «چگونه باید مهارتهایمان را طوری توسعه دهیم که در کنار هوش مصنوعی، همچنان ارزش خود را حفظ کنیم؟»
منابع:
۱. Becker, J., Rush, N., Barnes, E., Rein, D. Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity. METR, arXiv:2507.09089, ژوئیه ۲۰۲۵.
۲. GitHub Next Team. Research: Quantifying GitHub Copilot’s Impact on Developer Productivity and Happiness. GitHub Blog, سپتامبر ۲۰۲۲.
۳. Stack Overflow. 2025 Stack Overflow Developer Survey. survey.stackoverflow.co, ۲۰۲۵.
۴. خلیلاللهی، مریم. «آینده برنامهنویسی چگونه است؟ پیشبینی مسیر شغلی برنامهنویسان». وبلاگ فرادرس.
۵. Kwa, T., West, B., Becker, J., et al. Measuring AI Ability to Complete Long Software Tasks. METR, arXiv:2503.14499, مارس ۲۰۲۵.
۶. World Economic Forum. The Future of Jobs Report 2025. ژانویه ۲۰۲۵.