در دو سه سال گذشته هوش مصنوعی از یه تبوتاب تکنولوژیک به یه واقعیت ملموس توی زندگی همه ما تبدیل شده. توی حرفه من یعنی برنامهنویسی، حضور AI از بقیه تخصصها خیلی بیشتر حس میشه.
بر اساس تجربه من، AI اگه درست هدایت بشه، بیش از حد خوبه. به جرئت میتونم بگم توی یک سال گذشته حتی یه خط کد هم ننوشتم. میشه گفت از یه برنامهنویس تبدیل شدم به یه راهنما برای AI. معمولاً موقع کار با هوش مصنوعی، Claude Code یا GitHub Copilot رو توی پلنمد میذارم و اونقدر با agent حرف میزنم تا به یه نقطهنظر مشترک برسیم. وسط این گفتوگوها، AI هم پیشنهاد میده، هم از ایدههای من انتقاد میکنه، هم راههای مختلفی برای حل مسئله پیشنهاد میده. راههایی که شاید بهراحتی به ذهن من نمیرسیدن. چون AI agent به خاطر حجم عظیم دادهای که داره، تقریباً توی هر حوزهای زاویه دید بازتری داره؛ زاویهای که من لزوماً ندارم.
این روش خیلی کمک کرده که تسکها رو هم سریعتر انجام بدم هم دقیقتر. و خب منطقیه که آدم از ابزاری که کمک میکنه خروجی بهتری داشته باشه استفاده کنه. ولی یه اتفاقی وسط این ماجرا هست که ذهن منو درگیر کرده.
تسکهای روزمره کاری معمولاً چالش زیادی ندارن. یه سری کار مشخص و boring که بهتره AI انجامشون بده. ولی بعضی وقتا یه چالش پیش میاد که واقعاً نیاز به فکر کردن و تحلیل دقیق مسئله داره. بدون هوش مصنوعی، برنامهنویس معمولاً با چک کردن کد، خوندن مستندات و یه نیمنگاه به آینده، کمکم به یه راهحل میرسه. بعضی وقتا این راهحل دائمیه، بعضی وقتا هم خودش بعداً یه سری مشکل جدید درست میکنه که اون لحظه اصلاً دیده نمیشن. ولی دقیقاً همین پروسه حل مسئله و شکست خوردنه که باعث یادگیری میشه و عمق دانش آدم رو بیشتر میکنه.
اما وقتی هوش مصنوعی وظیفه فکر کردن و حل مسئله رو به عهده بگیره و منِ برنامهنویس فقط نقش راهنما رو بازی کنم، عملاً تبدیل میشیم به کسی که داره یه دستیار هوشمند رو هدایت میکنه. کنار اینکه چالش حل مسئله رو از دست میدیم، لذت حل کردنش هم کمکم از بین میره.
حالت ایدهآل شاید این باشه که مسئلههای سخت رو خودم حل کنم و کارهای boring رو بسپرم به AI. اینطوری هم توانایی حل مسئله بهروز میمونه، هم لازم نیست وقت بذاری برای کارهایی که AI میتونه انجامشون بده. ولی باز یه سؤال پیش میاد: وقتی AI میتونه مسئلههای پیچیدهتر رو هم سریعتر حل کنه هم بهتر، چرا آدم باید خودش وقت بذاره؟ مخصوصاً وقتی deadline نزدیکه.
در هر صورت، فکر میکنم باید یه تعادلی توی استفاده از AI وجود داشته باشه؛ تعادلی که توش هم یادگیری اتفاق بیفته، هم توانایی حل مسئله حفظ بشه. وگرنه برنامهنویسها احتمالاً توی آینده کمکم این توانایی رو از دست میدن.
یکی از بحثهای داغ این روزها درباره کدنویسی با هوش مصنوعی اینه که کدهای تولیدشده توسط AI اسپاگتیکدن و ناخوانا هستن.
ولی سؤال اینه که آیا اصلاً مهمه کد خوانا باشه وقتی تنها کسی که قراره روش کار کنه خود AI agentه؟ کل معماری نرمافزار، design patternها، OOP و خیلی چیزهای دیگه به وجود اومدن که کد خواناتر بشه و برای اعضای فعلی و آینده تیم maintainable بمونه. ولی الان که AI agent کد مینویسه، یه agent دیگه کد رو review میکنه، یکی دیگه تست میکنه و الی آخر، اصلاً چه لزومی داره آدمها بدونن داخل کد چه خبره؟
توی صنایع پزشکی و مالی حضور انسان برای review لازمه، چون خطا میتونه فاجعهبار باشه. ولی برای خیلی از نرمافزارهای معمولی، شاید دیگه این میزان از حساسیت روی خوانایی کد اهمیت سابق رو نداشته باشه.
اگه هوش مصنوعی همه کارهای پیشپاافتاده ما مثل آشپزی، تمیز کردن خونه، کارهای اداری، خرید و بقیه کارهایی که بخش بزرگی از زندگی روزمرهمون رو تشکیل میدن انجام بده، ما قراره چیکار کنیم؟
آیا انسانها از این وقت اضافه برای پیشرفت علم و هنر استفاده میکنن؟ یا غرق میشن توی سرگرمی و VR و یه جور پوچی دائمی؟
یه سؤال دیگه هم هست: آیا همین کارهای boring و بعضی وقتا اعصابخردکن، بخشی از هویت ما هستن یا نه؟
اگه بخشی از هویت ما هستن، چرا باید اجازه بدیم AI جاشون رو بگیره؟ و اگه نیستن، پس چرا هزاران ساله داریم انجامشون میدیم؟
چه بدبختیای گیر کردیم بخدا.