تصور کنید دانشجویی هستید که تمام تکالیف برنامهنویسی خود را با یک کلیک دریافت میکنید و کدها بدون خطا اجرا میشوند؛ در لحظه احساس میکنید یک متخصص هستید، اما در واقع در حال سقوط در یک تلهٔ شناختی خطرناکید. در حالی که ChatGPT میتواند منطقهای پیچیده را در چند ثانیه تولید کند، دانش بهندرت از صفحه نمایش به ذهن توسعهدهنده منتقل میشود. کپی کردن یک تابع بینقص شبیه به پیشرفت به نظر میرسد، اما برای یک مبتدی، این روند توهمی خطرناک از شایستگی ایجاد میکند.
این توهمِ مهارت زمانی رخ میدهد که هوش مصنوعی زاینده (Generative AI) — شبیه به دستیاری که تمام جوابها را میداند اما اجازه نمیدهد شما فکر کنید — به نقطهٔ شروع یادگیری تبدیل شود. همانطور که در تحلیلهای قبلی ما دربارهی اینکه برخی مدلها چگونه میتوانند دادههای بنچمارک را جعل کنند اشاره کردیم، خطر اینجا دیگر تولید اطلاعات غلط نیست، بلکه نوع متفاوتی از فریب است: کاربر باور میکند در حال یادگیری است چون کد کار میکند، حتی اگر نتواند توضیح دهد چرا کار میکند. این دقیقاً معادل این است که تماشای وزنه زدن شخص دیگر را با قویتر شدن عضلات خودتان اشتباه بگیرید.
به گزارش dev.to در ۱۲ سپتامبر ۲۰۲۶، برای برنامهنویسان باسابقه، ChatGPT یک ابرقدرت برای رفع خطاها و تولید فوری توابع کامل است، اما برای مبتدیان، خطر در چرخهٔ «کپی-پیست» نهفته است. وقتی یک دانشجو برای مرتبسازی یک لیست در پایتون کد میگیرد، یک کد بینقص دریافت میکند. او آن را پیست میکند، کد اجرا میشود و او به سراغ مرحله بعد میرود.
در این سناریو، دانشجو یاد نگرفته است که چگونه کدنویسی کند؛ او فقط یاد گرفته است که چگونه پرامپت بنویسد. این وضعیت باعث ایجاد خلأیی در درک مفاهیم میشود. بسیاری از دانشجویان کدی را تحویل میدهند که بهخوبی کار میکند، اما وقتی از آنها یک سؤال ابتدایی پرسیده میشود، مانند اینکه «چرا اینجا از حلقه for استفاده کردی و نه list comprehension؟»، پاسخ صادقانه این است: «نمیدانم، ChatGPT اینطور نوشت».
مکانیسم پیشبینی و یادگیری فعال
طبق گزارش مذکور، مشکل اصلی حذف مرحله «پیشبینی» است. یادگیری سنتی مستلزم آن است که دانشجو پیش از اجرای کد، خروجی را حدس بزند؛ حذف این مرحله، دقیقاً همان لحظهای را از بین میبرد که یادگیری واقعی در آن اتفاق میافتد.
بیشتر آموزشهای سنتی مسیری غیرفعال دارند: کد را بخوان، اجرا کن و خروجی را ببین. برای مثال، اگر آموزشی نشان دهد که numbers = [1, 2, 3] و سپس numbers.append(4) آمده است، صرفاً به کاربر میگوید که عدد ۴ به لیست اضافه شده است و کاربر نتیجه را میپذیرد.
یک روش برتر این است که یادگیرنده را متوقف کند و از او بخواهد وضعیت لیست numbers را پس از خط دوم پیشبینی کرده و آن را یادداشت کند. اگر کاربر پیشبینی کند که خروجی [1, 2, 3, 4] است، یعنی مفهوم را فهمیده است. اما اگر پیشبینی او [1, 2, 3] یا [4] باشد، او یک شکاف در مدل ذهنی خود شناسایی کرده است. دقیقاً در همین نقطه است که یادگیری واقعی رخ میدهد.
بر اساس مستندات این گزارش، برای مقابله با این تله، یک چرخهٔ سه مرحلهای ساختاریافته پیشنهاد میشود:
- پیشبینی (Predict): مسئله را بخوانید و درباره منطق آن تصمیم بگیرید. برای تکلیفی مانند «فیلتر کردن یک لیست برای شامل کردن اعداد بزرگتر از ۵»، تصمیم بگیرید که آیا به یک حلقه for، یک list comprehension یا یک تابع filter نیاز دارید. پیش از نوشتن هر خطی، پیشبینی کنید که خروجی باید به چه شکل باشد.
- نوشتن (Write): راهکار را بر اساس پیشبینی خود بهصورت دستی پیادهسازی کنید.
- مقایسه (Compare): کد خود را اجرا کرده و با راهکار مرجع مقایسه کنید. اگر راهکار مرجع از list comprehension استفاده کرده در حالی که شما از حلقه for استفاده کردید، توضیح دهید که چرا روش اول تمیزتر یا اصولیتر (idiomatic) است. این توضیح است که باعث تثبیت مفهوم در ذهن میشود.
این تغییر رویکرد، نحوه تعامل با مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — را دگرگون میکند. این تحول در قابلیتها، بهویژه با تبدیل شدن ChatGPT به یک عامل (Agent) با حافظه دائمی و دسترسی به وب، مرز بین ابزار کمکی و جایگزین تفکر را باریکتر کرده است. استفادهٔ غیرفعال، مانند درخواست برای «نوشتن تابعی که X را انجام دهد»، «حل تکالیف من» یا «تولید یک برنامه کامل»، به عنوان عامل اصلی فرسایش مهارتها شناسایی شده است.
استفاده فعال در برابر استفاده غیرفعال
استفادهٔ فعال یعنی بهکارگیری ChatGPT برای «توضیح» کد به جای «تولید» آن. نمونههایی از پرامپتهای باارزش و سطح بالا عبارتاند از:
- «توضیح بده چرا در این کد از enumerate به جای range استفاده شده است؟»
- «تفاوت بین متدهای
.append()و.extend()در چیست؟» - «من این تابع را نوشتم اما سرعتش پایین است؛ چطور میتوان آن را بهینه کرد و دلیل این بهینهسازی چیست؟»
برای شما به عنوان توسعهدهنده، این یعنی ارزش شغلی شما از «توانایی تولید کد» به «توانایی بازرسی (Audit) و توضیح کد» تغییر میکند. کسانی که از هوش مصنوعی برای فرار از درک مفاهیم استفاده میکنند، در مواجهه با سیستمهای پیچیدهای که AI قادر به حل آنها نیست، فلج خواهند شد. مزیت رقابتی اکنون متعلق به کسانی است که از AI به عنوان یک معلم خصوصی استفاده میکنند، نه یک نویسندهٔ سایه (Ghostwriter).
گام بعدی شما
این تمرین را برای هفت روز امتحان کنید: هر بار که تکهای از کد را اجرا میکنید، متوقف شوید و پیشبینی خود را روی کاغذ، در یک کامنت یا هر جای دیگری بنویسید. سپس کد را اجرا کنید. اگر پیشبینی شما غلط بود، یک جمله بنویسید و توضیح دهید که چرا اشتباه کردید. تا روز هفتم، متوجه خواهید شد که میتوانید باگها را پیش از اجرای کد تشخیص دهید و دیگر برای فهمیدن اینکه کد چه میکند، به مرحله اجرا نیاز ندارید. این عادت ساده، هوش مصنوعی را از یک عصای زیر بغل به ابزاری برای تسلط واقعی تبدیل میکند. اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو