رفتن به محتوا
بایت

00001010

پایان برنامه‌نویس؟

از دستیارهای سادۀ کدنویسی تا مهندسان تمام‌عیار

۳ دقیقه مطالعه

در ژانویهٔ ۲۰۲۶، داریو آمودی، مدیرعامل شرکت Anthropic، پیش‌بینی‌ای کرد که موجی از واکنش‌ها در بخش فناوری ایجاد کرد: جهان ممکن است فقط شش تا دوازده ماه با مدل‌های هوش مصنوعی‌ای فاصله داشته باشد که قادرند همهٔ وظایف مهندسی نرم‌افزار را به صورت سرتاسری انجام دهند. این جدول زمانی بسیار جسورانه بود اما شواهدی از آن نیز نمایان بود. به‌عنوان مثال بوریس چرنی، رئیس بخش Claude Code در Anthropic، اعتراف کرد که ۱۰۰٪ کد خودش اکنون توسط هوش مصنوعی تولید می‌شود.

برای چندین دهه، توسعه‌دهندهٔ نرم‌افزار با توانایی ترجمهٔ نیازهای انسانی به نحو دقیق و قابل خواندن برای ماشین تعریف می‌شد. اما انتشار پیاپی و سریع ابزارهای هوش مصنوعی در اوایل ۲۰۲۶، این تعریف را به نقطهٔ شکست رسانده است.

مت شومر، هم‌بنیان‌گذار Otherside AI، در مقاله‌ای که در اوایل ۲۰۲۶ در X ویروسی شد، گفت: «من دیگر برای کار فنی واقعی شغلم لازم نیستم. من با زبان ساده توصیف می‌کنم که چه می‌خواهم ساخته شود، و بعد فقط... ظاهر می‌شود. نه یک پیش‌نویس خام که نیاز به اصلاح داشته باشد؛ خود محصول نهایی. به هوش مصنوعی می‌گویم چه می‌خواهم، چهار ساعت از کامپیوترم دور می‌شوم، و برمی‌گردم و می‌بینم کار انجام شده؛ خوب انجام شده، بهتر از آنچه خودم می‌توانستم انجام دهم، بدون نیاز به هیچ اصلاحی.»

حالا مردم می‌پرسند اگر هوش مصنوعی اکنون می‌تواند نرم‌افزار را با هزینهٔ کمتر بنویسد، اشکال‌زدایی کند و مستقر کند، تأثیر آن بر متخصصان انسانی توسعهٔ نرم‌افزار چیست؟

از پیاده‌سازی به نظارت راهبردی

اجماع میان صاحب‌نظران این است که هرچند «کدنویس» ممکن است در معرض خطر باشد، اما «مهندس» همچنان ضروری می‌ماند، هرچند این نقش در حال بازتعریف شدن به‌عنوان ترکیبی از مدیر محصول، بازبین و هماهنگ‌کنندهٔ هوش مصنوعی است.

جیمز آیورز، سرپرست گروه گردش‌های کاری هوش مصنوعی و نوسازی معماری در مؤسسهٔ مهندسی نرم‌افزار دانشگاه کارنگی ملون، استدلال می‌کند که ارزش پیشنهادی یک مهندس حرفه‌ای همیشه بسیار فراتر از نحو زبان بوده است.

آیورز گفت: «کدنویسی اغلب بخش آسان ماجراست. مهندسان نرم‌افزار بزرگ بر بخش‌های بسیار بیشتری از چرخه حیات توسعه نرم‌افزار تأثیر می‌گذارند تا فقط نوشتن کد. تحلیل نیازمندی‌ها، معماری و طراحی، استراتژی‌های آزمون مؤثر، برنامه‌ریزی و مدیریت ذی‌نفعان، همه اینها فعالیت‌هایی حیاتی برای موفقیت پروژه هستند.»

آیورز یک مدل ذهنی پیشنهاد کرد که بین «کدنویس‌ها» و «مهندسان نرم‌افزار» تمایز قائل می‌شود. در این دیدگاه، کدنویس‌ها متخصصان زبان هستند که در محدوده‌هایی تعریف‌شده توسط دیگران فعالیت می‌کنند، مانند تیکت‌های Jira یا طراحی‌های مشخص. در مقابل، مهندسان نرم‌افزار در فضاهای مبهم عمل می‌کنند تا آن محدوده‌ها را کشف و ایجاد کنند، با ذی‌نفعان تعامل می‌کنند تا نیازمندی‌ها و اولویت‌ها را تعیین کنند.

گلوگاه کیفیت و امنیت

هرچند هوش مصنوعی می‌تواند کد را با مقیاسی فراتر از توان انسان تولید کند، اما همچنان کنشگری ناقص است.

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

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

کو می‌گوید بدون این نظارت، پایگاه‌های کد تولید‌شده توسط در معرض خطر تبدیل شدن به لجن غیرقابل نگهداری قرار دارند.

منبع

مطالب مرتبط