
کدنویسی یا عدم کدنویسی مسئله این است!
«داریو آمودی» (Dario Amodei)، مدیرعامل Anthropic اخیراً اعلام کرده که در کمتر از شش ماه، هوش مصنوعی ۹۰٪ فرآیند کدنویسی را انجام خواهد داد. اگر شما یک توسعهدهنده هستید، چنین اظهاراتی ممکن است شما را نگران کند و به این فکر بیفتید که هوش مصنوعی در چند سال آینده چه تأثیری بر حرفه و مهارتهای شما خواهد داشت.
آمودی بیراه نمیگوید. با ابزارهای مبتنی بر هوش مصنوعی مانند Cursor، Windsurf و GitHub Copilot، فرایند کدنویسی برای توسعهدهندگان آسانتر از همیشه شده است.
هوشمصنوعی وارد میشود
در یکی از پادکستهای اخیر Y Combinator، «جرد فریدمن» (Jared Friedman) یکی از سازندگان این مجموعه، اعلام کرد که یکچهارم از بنیانگذاران استارتاپهای تحت حمایت YC اعتراف کردهاند که بیش از ۹۵٪ از کدهایشان توسط هوش مصنوعی تولید شده است. او اشاره کرد که این افراد، بنیانگذاران بسیار ماهری هستند که تا یک سال پیش محصولات خود را کاملاً مستقل توسعه میدادند، اما اکنون هوش مصنوعی کارهای سنگین را انجام میدهد.
«دیانو هو» (Dianu Hu)، یکی دیگر از شرکای YC افزود که «همانطور که نسل Z در عصر اینترنت رشد کرد، نسل فعلی نیز با ابزارهای هوش مصنوعی بزرگ خواهد شد.» او گفت: «آنها دیگر آموزشهای کلاسیک مهندسی نرمافزار را طی نخواهند کرد، بلکه صرفاً بر اساس حس و شهود خود عمل میکنند. البته درعینحال، از نظر فنی بسیار باهوش هستند، مثلاً بسیاری از آنها در رشتههای ریاضی و فیزیک تحصیل کردهاند.»
بااینحال، یک مشکل اساسی این است که توسعهدهندگان جوان اغلب درک عمیقی از عملکرد کدهای خود ندارند و زمانی که از آنها در مورد نحوه عملکرد کدشان سؤال میشود، گیج میشوند.
«نامانیای گوئل» (Namanyay Goel) بنیانگذار Giga AI، در یک پست وبلاگی نوشت: «توسعهدهندگان تازهکار امروزی کارشان بسیار راحت است. کافی است به chat.com بروند و خطاهایی که میبینند را کپی – پیست کنند. حتی بعضی از آنها آنقدر تنبل هستند که حاضر نیستند ۳۰ ثانیه وقت بگذارند و در یک تب مرورگر، مشکلشان را جستجو کنند. فقط از ابزاری استفاده میکنند که همه چیز را یکجا برایشان انجام دهد.»
او همچنین به توسعهدهندگان جوان توصیه کرد که با ذهنیتی یادگیرنده به سراغ هوش مصنوعی بروند. او گفت: «جوابهای هوش مصنوعی را بیچونوچرا نپذیرید. آنها را زیر سؤال ببرید. بپرسید چرا؟ ممکن است زمان بیشتری ببرد، اما همین موضوع مهم است.»
جالب اینجاست که اخیراً، Cursor در یک اتفاق غیرمنتظره از تولید کد امتناع کرد و بهجای آن، توسعهدهنده را به یادگیری بیشتر تشویق نمود.
کدنویسی بر اساس حس و حال
از تمام این تغییرات ناشی از هوش مصنوعی، ترند جدیدی به نام «کدنویسی بر اساس حس و حال (Vibe Coding)» پدید آمده که اخیراً بسیاری از توسعهدهندگان به آن روی آوردهاند. این اصطلاح توسط آندری کارپاتی (Andrej Karpathy)، یکی از بنیانگذاران OpenAI، ابداع شده است.
در کدنویسی بر اساس حس و حال، ابزارهای هوش مصنوعی بیشتر کارهای کدنویسی را انجام میدهند و توسعهدهندگان بهجای جزئیات پیادهسازی، بیشتر بر هدف کلی پروژه تمرکز میکنند. در این روش، توسعهدهندگان نتایج موردنظر خود را به زبان ساده توصیف میکنند و هوش مصنوعی بهطور خودکار کد مربوطه را تولید، بهینهسازی و آزمایش میکند.
اخیراً، «ناوین تیواری» (Naveen Tiwari) مدیرعامل InMobi، اعلام کرد که این شرکت در مسیر دستیابی به ۸۰٪ خودکارسازی فرایند کدنویسی تا پایان سال قرار دارد. او گفت: «ما در حال حاضر به ۵۰٪ خودکارسازی رسیدهایم. کدهایی که توسط ماشین تولید میشوند، سریعتر و بهتر هستند و خودشان مشکلاتشان را برطرف میکنند.»
کدنویسی و انتشار کد برای توسعهدهندگان، هیچگاه آسانتر از امروز نبوده است. «سانتوش اچ. اس» (Santhosh HS)، مهندس هوش مصنوعی در TCS، در گفتوگو با AIM گفته: «پلتفرمهایی مانند GitHub Copilot، Microsoft Copilot و سرویسهای هوش مصنوعی Azure به تیمها اجازه میدهند تا روی تفکر انتقادی و جنبههای خلاقانه پروژههای خود تمرکز کنند و زمان صرفشده برای کارهای تکراری را کاهش دهند.»
AIM با چندین شرکت و استارتاپ صحبت کرد و متوجه شد که بسیاری از آنها قبلاً از ابزارهای هوش مصنوعی استفاده کردهاند. «ابیشک آپروال» (Abhishek Upperwal)، بنیانگذار Soket AI، گفت: «ما مدتی است که در سازمان خود از Cursor استفاده میکنیم و بدون شک بهرهوری را افزایش داده است.»
بااینحال، او هشدار داد که تکیه کورکورانه به این ابزارها میتواند باعث اتلاف زمان شود، زیرا ممکن است دچار خطا شوند. او افزود: «این ابزارها برای کارهای معمولی مثل توسعه وب عالی عمل میکنند، اما در چالشهای پیچیدهتر، مانند ساخت یا بهینهسازی کرنلهای CUDA در Triton، عملکرد ضعیفی دارند، زیرا هوش مصنوعی به اندازه کافی روی نمونههای این حوزه آموزش ندیده است.»
همچنین AIM با «هیمنشو گهلات» (Himanshu Gahlot) معاون مهندسی و «ساراوانا کومار» (Saravana Kumar) مدیر یادگیری ماشین در Apollo.io گفتگو کرد. آنها برای استفاده از ابزار Cursor ابراز رضایت کردند. گهلات گفت: «ما بالای ۹۰٪ از این ابزار رضایت داریم. تقریباً تمام مهندسان ما از این که میتوانند کل پایگاه کد را درک کنند و موارد درست را تولید کنند، ابراز رضایت کردهاند.»
بااینحال، او یک هشدار مهم را نیز مطرح کرد: «شما همیشه میشنوید که مردم این ابزارها را بیش از حد بزرگ جلوه میدهند و ادعا میکنند که بهرهوری را ۲۵ برابر یا ۵۰ برابر افزایش میدهند، اما واقعیت این است که این مسئله بسیار پیچیدهتر از این حرفها است.»
آیا واقعاً «کدنویسی بر اساس حس و حال» (Vibe Coding) واقعی است؟
«آرویند کریشنا» (Arvind Krishna) مدیرعامل IBM، اعتقاد دارد که هوش مصنوعی به این زودیها جایگزین کدنویسی نمیشود. او ادعای آمودی (Amodei) مبنی بر این که ۹۰٪ کدها در سه تا شش ماه آینده توسط هوش مصنوعی تولید خواهند شد را رد کرد.
کریشنا گفت: «من فکر میکنم که ۹۰٪ عدد اشتباهی است و این عدد بیشتر در حدود ۲۰ تا ۳۰٪ خواهد بود. بله، برخی از موارد استفاده بسیار ساده وجود دارند که AI میتواند آنها را انجام دهد، اما در موارد پیچیدهتر، میزان مشارکت هوش مصنوعی تقریباً صفر خواهد بود.»
«لیناس بلیوناس» (Linas Beliūnas) مدیر درآمد در Zero Hash دیدگاه مشابهی دارد و به این نکته اشاره میکند که هوش مصنوعی در پردازش کدهای پیچیده دچار مشکل میشود. «لیناس بلیوناس» میگوید: «هوش مصنوعی در انجام وظایف روتین عالی عمل میکند، اما وقتی پای خلاقیت، ظرافت و راهحلهای وابسته به زمینه خاص در میان باشد، عملکرد آن ضعیف میشود.»
او تأکید کرد که کدنویسی فقط نوشتن کد نیست، بلکه شامل حل مسئله، اخلاق، امنیت، تطابق با مقررات و طراحی خلاقانه است، همه اینها ماهیتاً انسانی هستند.
«آندری بورکوف» (Andriy Burkov) رهبر یادگیری ماشین در TalentNeuron، معتقد است که مدلهای زبانی تنها میتوانند ۷۰٪ از کار را انجام دهند، اما قادر به انجام ۳۰٪ نهایی نخواهند بود. او توضیح داد:
«فرقی نمیکند چقدر مسئله خود را برای AI توضیح دهید، چند بار از آن بخواهید که کدهای خراب را اصلاح کند یا چقدر آن را با یادگیری تقویتی بهینهسازی کنید، در هر حال هوش مصنوعی هرگز قادر نخواهد بود کدهای جدیدی را که مخصوص یک کسبوکار یا اپلیکیشن خاص است، از صفر بنویسد.»
برخی متخصصان نگران هستند که استفاده بیش از حد از ابزارهای کدنویسی مبتنی بر هوش مصنوعی میتواند منجر به افزایش بدهی فنی (Technical Debt) شود. «پرادیپ سانیا» (Pradeep Sanyal)، رهبر هوش مصنوعی و داده در یک شرکت مشاوره فناوری جهانی، هشدار داد: «هوش مصنوعی فرایند تولید کد را سرعت میبخشد، اما بدون مدیریت صحیح، سازمانها با کدهای غیر قابل نگهداری، ساختار نامناسب و بدون مستندسازی مواجه خواهند شد. اصلاح این مشکلات در آینده، بسیار دشوارتر خواهد بود.»
«کاران ام. وی» (Karan MV)، مدیر روابط بینالملل در GitHub، در گفتوگو با AIM اظهار داشت که اگرچه فرآیندهای خودکار مانند تست، مانیتورینگ و ارسال هشدارها میتوانند در مدیریت توسعه نرمافزار کمک کنند، اما همچنان مداخله انسانی حتی با وجود ابزارهای AI، در مراحل مختلف چرخه توسعه نرمافزار ضروری است.
درحالیکه هوش مصنوعی با سرعتی بیسابقه در حال تغییر دنیای کدنویسی است، قضاوت انسانی همچنان غیرقابل جایگزینی باقی میماند. آینده توسعه نرمافزار، انتخاب بین هوش مصنوعی و تخصص انسانی نخواهد بود، بلکه یافتن تعادل صحیح بین این دو گزینه است.