برنامهنویسی و یوتیوب | وقتی ai شکست میخوره!
یکی از چیزهایی که توی سال گذشته، به خصوص بعد از موج ai فعلی، باهاش برخوردم تعداد زیادی آدم و بچههایی هست که معتقدن یادگیری درسها دیگه فایدهای نداره و مهمترین ویژگی بازار کار جدید اینه که ai جای انسان رو میگیره و دیگه برنامهنویسها کاری ندارن و حتی مثلا وقتی میدیدم که بعضی بچهها که خودشون تمرین رو میزدن رو مسخره میکردن و میگفتن که کی دیگه میاد کد بزنه؟
جو دانشگاه تاحد زیادی اینطوری بود و هست هنوزم و خب منم مدتی تحتتاثیرش بودم واقعا و انقدر درباره این حرفها شنیدم که عملا ترم دوم تمرین زیادی انجام نمیدادم و دیگه کارم این شده بود: تمرین ریلیز شده رو میدادم کلاد یا دیپ سیک یا هر مدل دیگری که دم دست بود بزنه، خودم دو روز بخونمش، بعد برای ارائهاش برم و عملا اینطوری بودم که کلی کد رو حفظ میکردم. شاید باورتون نشه، ولی پروژه دو هزار خطی رو خط به خط حفظ کردم که موقع ارائه کد بتونم توضیح بدم که هر دستور چکار میکنه!
خب به لطف یک سری مسائل، من تقریبا از اواسط تابستون دیگه ارتباطم با بچهها قطع شد، اون جو دیگه اثری روم نمیذاشت و خب من اینطور بودم که چکار کنم؟ برم چی یاد بگیرم؟ چی خوبه چی بده؟ اصلا چقدر ai رشد میکنه؟ خب میدونیم که در طی یکی دوماه اخیر مدلهای هوش مصنوعی توسعه شدیدی پیدا کردن، یه سری گندههای به اصطلاح فناوری میان و اظهارنظراتی درباره اینکه هوش مصنوعی قراره مشاغل رو از بین ببره و اینها مطرح میکنن، شرکتهای بزرگ فناوری در تب و تاب اینن که از کدوم مدل استفاده کنیم، اینستاگرام رو باز میکنی میبینی یه سری بچه مثلا شاید پونزده شونزده ساله اومدن بازیهایی رو ساختن که قبلا یک شرکت بزرگ با دهها و شاید صدها کارمند میساخت و چیزهای این مدلی.
ماجرا اما این نیست.
مهمترین مسئله اینه که شاید با استفاده از ai، بهرهوری کارمندان و کارکنان شرکت x افزایش پیدا کنه و تسکها رو با سرعت بیشتری انجام بدن( مثلا فرض کنید که تیم x یک برنامه رو آماده کرده تا بارگزاری کنه؛ موقع تستها و بررسیهای نهایی ai کمک فراوانی به پیداکردن مشکلات، ثبت اطلاعات و فهم مسیری که بخشهای مختلف برنامه موقع اجرا طی میکنن، خواهد کرد)؛ اما برای دانشجوها چی؟ دانشجویی که باید مباحث رو یاد بگیره (شما بدون داشتن اطلاعات عمیق درباره مفاهیم اصلی نمیتونید از خود ai برای طراحی و مهندسی استفاده کنید) و مهمتر از اون مهارتهاش رو برای حل مسائل مختلف ارتقا بده، با استفاده از ai برای حل تمرینهای برنامهنویسیش، عملا مسیر فکر کردن، اشتباه کردن و تجربه کردن رو طی نمیکنه و در نتیجه یادگیری درستی هم نخواهد داشت.
برای همین هم، حداقل توی یکی دوماه اخیر دارم تلاش میکنم تا نحوه استفاده از هوش مصنوعی رو کمی تغییر بدم. آخرین مورد هم امروز بود که برای حل یک مسئلهای به کلود گفتم که میخوام فلان کار رو انجام بدم، فرض کن تو معلمی، میخوای راهنماییم کنی و یادم بدی که فلان کار رو چطور انجام بدم. خب مثل همیشه یه سری سوال پرسید، چهار یا پنجتا، خب فکر کردم و بعد مثلا چهار پنجتا رو جواب دادم تا اینکه رسیدیم به اینکه کد رو زدم و فرستادم.
ماجرای کد من این بود که درست کار میکرد و طبق راهنماییهای کلود هم بود و با وجود این بود که به طور دقیقی مسائل رو توضیح داده بودم که چطور باید باشه؛ اما مسئله این بود که طراحی انتخاب شده توسط کلود که منو به سمتش راهنمایی و هدایت میکرد طراحی نچسبی بود. خلاقانه نبود. خب مثلا یک آرایهای رو یه جا تعریف میکرد بعد مثلا یک سری عملیات روی آرایه انجام میداد، بعد توی یه تابع دیگه دوباره میرفت یه سری دوباره کاری و ... . خب پروژه من پروژه کوچیکیه و خب توی یک چنین پروژهای، شما احتمالا خیلی زود متوجه این عدم بهینگی میشی، احتمالا هم اگه به کلود یکم توضیح بدی و ازش بخوای، خیلی سریع میتونه بهترش کنه. حداقل این چیزیه که من امروز دیدم. با اینحال بعد از اینکه مشکل رو دیدم، یه سرچی توی یوتیوب انجام دادم تا ببینم که واقعا راهحل بهتری نیست و مثل همیشه، بود.
البته طبیعتا برای رسیدن به اون راه حل که از نظر تعداد خطی هم یک چهارم مسیر من بود، شما تجربه زیادی لازم داری و نمیتونی از روز اول بهش برسی؛ اما ماجرا همینه، تکیه بر کلود، حتی با وجود مسیری که من طی کردم و نقش دادم و عملا میخوام بهم کمک کنه که بهتر فکر کنم و مثلا بهش نمیگم جای من فکر کن، حتی در همینجا موقع یادگیری، شما رو از اینکه بری بگردی، بری سرچ کنی، بری ویدیوهای یوتیوبرها رو ببینی محروم میکنه و حقیقت اینه که درسته که بلاگرهای یوتیوبی حوزه برنامهنویسی خیلی زیادن( خودم امروز داشتم فکر میکردم یه دوره آموزشی CPPبرای مبتدی و درحد برنامهنویسی مقدماتی که توی دانشگاه بهمون درس دادن ضبط کنم)، اما آدمهایی هستن که شما میتونی بری و ویدیوهاشون رو ببینی و تجربهای که موقع این ویدیوها منتقل میکنن، به خاطر ماهیتی که ابزارهای زبانی دارن حداقل فعلا قابل دریافت از اون ابزارها نیستن.
برای همین هم دارم فکر میکنم که برای یادگیری دیگه کلا برگردم به همون مدلی که موقع یادگیری مباحث فرانتاند طی کردم: سرچ توی گوگل، دیدن ویدیوهای یوتیوب و تمرینهایی که توی سایتای مختلف بود و میشد به مقدار زیاد انجامشون داد و حس میکنم که این درست تره.
اول اینکه تیتری که زدم یکم گمراهکننده و مخاطب جلب کن بود. احتمالا بعدا تغییرش بدم ولی خب فعلا دوستش دارم میذارم همین بمونه.
دوم اینکه بحث درباره هوش مصنوعی، یک بحث طولانی، پیچیده و فراتر از منه. برای همین هم تصمیم گرفتم نصف چیزایی که میخواستم توی این پست بگم رو حذف کنم و به همون محدوده روزمره نویسی و متاثر از تجربههای روزانه اکتفا کنم. ولی خب میشه زیاد بحث کرد، مسائل مالیشون هست، مسائل فنیشون هست، مسائل سختافزاری و محدودیتهاشون هست، مباحث سیاسی پشتش هست. بحث زیاده و خبرها هم زیادن و چندان نمیشه درموردشون در یک وبلاگ اینطوری بحث کرد.
یه نکته که یادم رفت بگم اینه که تمام اینایی که میگم برای درسای تخصصیم و ساختمان داده و برنامه نویسی و ایناست. زبان تخصصی، نمیدونم دانش و خانواده و فیزیک 2 و این چرت و پرتا رو هم با AI تمریناش رو مینویسم و سوالاشون رو جواب میدم، هم اگه امتحان مجازی بشه زحمتش رو میکشن. اونا به من ربطی ندارن. به خصوص زبان تخصصی که تنها چیزی که نیست زبانه، تنها چیزی که نیست تخصصیه!