ناتاسان

توهم کدنویسی با هوش مصنوعی: باگ‌ها، انحراف از مسیر و تردید

دستیارهای کدنویسی هوش مصنوعی فوق‌العاده به نظر می‌رسند، تا زمانی که مجبور می‌شوند برای تست کد پر از باگ خود، سرور نصب کنند! چرا هوش مصنوعی آن‌قدر که فکر می‌کنیم پیشرفته نیست؟

اخبار

همه ما دموهای جذاب و خیره‌کننده هوش مصنوعی را دیده‌ایم، یک پرامپت ساده می‌نویسید و مدل در عرض چند ثانیه صدها خط کد تحویلتان می‌دهد. در نگاه اول همه چیز شبیه به معجزه است. اما به محض اینکه هوش مصنوعی را از محیط‌های کنترل‌شده دمو خارج می‌کنید و وارد پروژه‌های واقعی برنامه‌نویسی می‌شوید، این جادو خیلی سریع رنگ می‌بازد.

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

۱. ماشین باگ‌سازی در پشت ظاهر زیبای سنتکس

هوش مصنوعی به این دلیل کد نمی‌نویسد که معماری سیستم را درک می‌کند؛ بلکه فقط کلمه یا کاراکتر بعدی را بر اساس احتمالات حدس می‌زند. به همین دلیل، می‌تواند کدهایی به زبان‌های PHP، Python یا JavaScript با سنتکس کاملاً درست تحویلتان دهد که منطق زیرین آن‌ها کاملاً خراب است.

این مدل‌ها با اعتماد به نفس کامل از کتابخانه‌های منسوخ‌شده استفاده می‌کنند، تنظیمات دیتابیس را اشتباه می‌نویسند یا موارد بحرانی مثل Race Conditionها و امنیت ورودی‌ها را نادیده می‌گیرند. شما با تولید اولیه کد ۳۰ ثانیه زمان صرفه‌جویی می‌کنید، اما بعد باید ۴۵ دقیقه وقت بگذارید تا حفره‌های امنیتی یا خطاهای خاموشی را عیب‌یابی کنید که یک برنامه‌نویس باتجربه هرگز مرتکب آن‌ها نمی‌شد.

۲. توهم خودمختاری: «صبر کن، آیا هوش مصنوعی به کد خودش شک دارد؟»

تصور کنید از یک دستیار هوش مصنوعی می‌خواهید یک بک‌اند ساده با PHP برای فرم تماس با ما بنویسد.

هوش مصنوعی کد را می‌نویسد. سپس به‌طور کاملاً خودکار تصمیم می‌گیرد یک محیط محلی بسازد، PHP را روی سرور شما نصب کند، Apache را راه بیدازد و یک مرورگر بدون رابط گرافیکی (Headless) باز کند تا فقط یک درخواست POST بفرستد و تست کند که آیا فرم کار می‌کند یا نه!

در نگاه اول شاید بگویید: «واو! این فوق‌العاده است. هوش مصنوعی نه تنها کد می‌نویسد، بلکه خودش آن را اجرا و تست می‌کند!»

اما یک لحظه دست نگه دارید و فکر کنید. چرا هوش مصنوعی باید دست به چنین کار عجیبی بزند؟

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

۳. انحراف از مسیر و حلقه از دست رفتن پرامپت‌ها

یکی از رویاسوزترین بخش‌های کار با هوش مصنوعی، تمایل شدید آن به خارج شدن از موضوع اصلی است. هرچه مکالمه یا پروژه طولانی‌تر می‌شود، حافظه کوتاه‌مدت (Context Window) هوش مصنوعی افت می‌کند و خطاهای عجیبی رخ می‌دهد:

  • زیاده‌روی در تغییرات (Scope Creep): شما فقط می‌خواهید یک باگ ساده لایسنس یا لاگین را برطرف کند، اما هوش مصنوعی ناگهان کل سیستم روتینگ پروژه را بازنویسی می‌کند و پیشنهاد می‌دهد ساختار دیتابیس را هم تغییر دهید!

  • حلقه تکرار بی‌انتها: شما به یک خطا در کد اشار می‌کنید. هوش مصنوعی عذرخواهی می‌کند، کد را دوباره می‌نویسد و دقیقاً همان باگ ۳ پیام قبل را تکرار می‌کند.

  • گم کردن هدف اصلی: بعد از ۱۰ پرامپت، هوش مصنوعی چارچوب‌ها و محدودیت‌های اولیه شما را به کلی فراموش می‌کند و شما مجبور می‌شوید نقش پرستاری را بازی کنید که مدام باید او را به مسیر درست برگرداند.

در نهایت، کار شما از کدنویسی تغییر می‌کند به مدیریت یک برنامه‌نویس جونیور و بیش‌از‌حد حواس‌پرت که مدام درگیر حواشی می‌شود.

نتیجه‌گیری

ابزارهای هوش مصنوعی بدون شک برای تولید کدهای تکراری (Boilerplate)، پیدا کردن سنتکس‌های فراموش‌شده یا سرعت بخشیدن به کارهای روزمره مفید هستند. اما بیاپید این تظاهر را کنار بگذاریم که آن‌ها آماده‌اند جای برنامه‌نویسان را بگیرند یا سیستم‌های پیچیده و آماده تولید را به صورت مستقل خلق کنند.

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

هوش مصنوعی
اشتراک‌گذاری:

دیدگاه‌ها

۰ دیدگاه

هنوز دیدگاهی ثبت نشده است؛ اولین دیدگاه را شما بنویسید.

دیدگاه خود را ثبت کنید