هوش مصنوعی رابط کاربری من را در ۲ ساعت ساخت. سپس ۳ هفته را صرف اصلاح آن کردم.
یک عامل هوش مصنوعی (AI agent) رابط کاربری من را در دو ساعت ساخت. ۴۷ فایل را تغییر داد. کامپوننتها، مسیرهای API و یک کتابخانه اعتبارسنجی (validation library) ایجاد کرد.
فکر کردم فوقالعاده است. فکر کردم یک هفته در کار صرفهجویی کردهام.
شش هفته بعد، من هنوز در حال اصلاح آن کد هستم. کامپوننتها کار میکنند، اما تیم من نمیتواند توضیح دهد که چرا کد کار میکند. هوش مصنوعی از الگوهای ما پیروی نکرد؛ بلکه الگوهای جدیدی اختراع کرد. حالا دو روش متفاوت برای انجام یک کار مشابه داریم و هیچ مستندسازی هم وجود ندارد.
این همان مشکل «پیادهسازی شبحوار» (Ghost Implementation) است.
شما کدی دریافت میکنید که تمام استخوانها را دارد اما هیچ گوشتی در آن نیست. کد کامپایل میشود و تستها هم پاس میشوند، اما هیچکس نمیداند چرا به آن شکل نوشته شده است. هوش مصنوعی فاقد زمینه (context) است و توسعهدهنده نیز فاقد درک عمیق.
من در کارهای مشاورهای خود سه مشکل اصلی میبینم:
- فراموشیِ پیادهسازی (Implementation Amnesia): توسعهدهندگان حتی قبل از اینکه به نیازمندیهای تابع فکر کنند، سراغ هوش مصنوعی میروند.
- کوریِ بازبین (Reviewer Blindness): مهندسان بدون خواندن پیشنهادات هوش مصنوعی، روی گزینه accept کلیک میکنند.
- آتروفیِ عیبیابی (Debugging Atrophy): توسعهدهندگان به جای جداسازی متغیرها، از هوش مصنوعی برای رفع باگها استفاده میکنند. این کار یک اصلاح ۱۵ دقیقهای را به یک سیاهچاله ۳ ساعته تبدیل میکند.
مردم میگویند هوش مصنوعی کدهای تکراری (boilerplate) را انجام میدهد و آنها معماری را مدیریت میکنند. این یک اشتباه است. کدهای boilerplate بافت پیونددهنده سیستم شما هستند. وقتی از نوشتن آنها خودداری میکنید، الگوهایی را که به معماری شما شکل میدهند، از دست میدهید.
ما زمان عرضه (time to ship) را اندازهگیری میکنیم، اما زمان نگهداری (time to maintain) را اندازه نمیگیریم.
ابزارهای هوش مصنوعی برای سرعت ساخته شدهاند، نه برای پایداری طولانیمدت. اگر فقط سرعت عرضه خود را بسنجید، بدهی فنی (technical debt) عظیمی ایجاد خواهید کرد.
چگونه هنگام استفاده از هوش مصنوعی، مهارت خود را حفظ کنیم:
- دو بار توضیح دهید: اگر نمیتوانید بدون نگاه کردن به مستندات توضیح دهید که یک ابزار چگونه کار میکند، یعنی شکافی در دانش شما وجود دارد.
- یک پروژه ساده (dumb project) بسازید: یک پروژه کوچک را بدون هوش مصنوعی کدنویسی کنید. مهارتهای دستی خود را زنده نگه دارید.
- یک گزارش معماری (architecture log) داشته باشید: برای هر تصمیم بزرگ، سه جمله بنویسید. بنویسید چه چیزی را انتخاب کردید، چه چیزی را رد کردید و چرا.
- وابستگی خود را ردیابی کنید: جلسات خود را از ۱ تا ۵ امتیاز دهید. اگر بیش از حد به هوش مصنوعی تکیه میکنید، در حال از دست دادن مهارتهای اصلی خود هستید.
فقط کسی نباشید که پیشنهادات هوش مصنوعی را تایید میکند؛ کسی باشید که سیستم را درک میکند.
به آخرین pull request هوش مصنوعی خود نگاه کنید. سعی کنید مدیریت وضعیت (state management) را با صدای بلند توضیح دهید. اگر نمیتوانید، دچار یک Ghost Implementation شدهاید.
هوش مصنوعی چگونه فرآیند عیبیابی شما را تغییر داده است؟ در کامنتها به من بگویید.
جامعه یادگیری اختیاری: https://t.me/GyaanSetuAi