تصور کنید اپلیکیشنی ساختهاید که در دمو عالی کار میکند، اما با اولین تغییر کوچک، کل سیستم مانند یک جenga فرو میریزد. این همان تلهای است که بسیاری از توسعهدهندگان در عصر «کدنویسی بر اساس حس» (Vibe Coding) در آن گرفتار شدهاند.
به نقل از گی زیلبرفلد (Gil Zilberfeld) در یادداشتی مورخ ۱۳ اوت ۲۰۲۶، شکاف میان یک نمونه اولیه (Prototype) موفق و یک محصول قابل نگهداری، با کدهای ناخوانا و بدون مستنداتی پر شده است که در نهایت زیر وزن خود فرو میپاشند. این هشدار نشان میدهد که چگونه یک نمونه اولیه که با «وایب کدینگ» ساخته شده، اغلب فاجعهای قریبالوقوع را برای نرمافزارهای در مرحله تولید (Production) پنهان میکند. این وضعیت برای کسانی که از عاملهای هوش مصنوعی (AI Agents) — شبیه دستیارهای تازهکاری که سریع کد میزنند اما منطق کل پروژه را نمیفهمند — استفاده میکنند، یک هشدار جدی است.
همانطور که در تحلیلهای قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، سرعت در تولید نباید جایگزین استواری ساختاری شود. برای بسیاری از غیربرنامهنویسان، این عاملها مانند یک لایه ترجمه عمل میکنند که نیاز به یادگیری نحو (Syntax) زبانهای برنامهنویسی را از بین میبرد. این رویکرد برای دموهای اولیه عالی است، اما وقتی حجم کد زیاد میشود، این «تولهسگ» — یعنی کدهای تولیدشده توسط AI — نیازمند مراقبتی است که پرامپتها بهتنهایی نمیتوانند فراهم کنند.
طبق گزارش زیلبرفلد، وقتی یک نمونه اولیه کار میکند، مدیران بهاشتباه تصور میکنند محصول نهایی آماده است. اما به محض اینکه پروژه به سمت مرحله تولید حرکت میکند، واقعیتهای سخت نگهداری ظاهر میشود. بدون زیربنایی از کد تمیز (Clean Code)، افزودن هر ویژگی جدید اغلب منجر به بروز خطاهای بازگشتی (Regressions)، تغییرات هزینهبر در کد و افت شدید عملکرد میشود. برای کاهش این خطاها، برخی رویکردهای نوین مانند جایگزینی دستورالعملهای انتزاعی با مراجع واقعی پیشنهاد شدهاند تا کدها از همان ابتدا برای محیط تولید بهینه شوند.
یکی از ریشههای این مشکل، «تله دادههای آموزشی» است. زیلبرفلد استدلال میکند که عاملهای کدنویسی تنها به اندازه دادههایی که روی آنها آموزش دیدهاند موثر هستند؛ دادههایی که شامل حجم عظیمی از کدهای متوسط یا حتی بیکیفیت است. وقتی کاربر از یک عامل میخواهد ویژگی پیچیدهای را روی یک زیربنای نامنظم و کثیف بسازد، مدل صرفاً همان الگوهای ضعیف را تکرار و بازتولید میکند.
اگر همچنان «وایب زدن» (Vibing) را به عنوان کوتاهترین مسیر برای رسیدن به ویژگیهای بیشتر دنبال کنید، در واقع در حال انباشت بدهی فنی (Technical Debt) هستید. برای شکستن این چرخه، شما به یک پلتفرم پایدار نیاز دارید تا کدتان روی آن رشد کند، و این امر مستلزم بازگشت از دنیای پرامپتها به دنیای واقعی کدنویسی است.
برای بازپسگیری کنترل یک پروژه تولیدشده توسط AI، توسعهدهندگان باید مراحل زیر را دنبال کنند:
- ممیزی کد (Audit the Codebase): بخشهای حیاتی کد را با دقت بخوانید. از آنجایی که پرامپتها اغلب در چهل جلسه چت مختلف پراکنده شدهاند و هرگز مستنداتی نوشته نشده است، خودِ کد تنها منبع حقیقت است. اگرچه ممکن است بعد از خواندن ده فایل چشمهایتان خسته شود، اما باید بخشهای مهم را درک کنید.
- تولید مستندات: از خودِ عامل بخواهید مستندات را از روی کد موجود استخراج کند. این کار سریع است و از نداشتن هیچ مستنداتی بهتر است. با این حال، این مستندات را با دقت بررسی کنید؛ زیرا آنها توصیف میکنند کد «چه میکند»، نه اینکه «باید چه کند». بنابراین، هر باگ موجود در کد، در مستندات به عنوان یک «نیازمندی» ظاهر خواهد شد.
- بازسازی قصد (Reconstruct Intent): پرامپتهای اولیه را جمعآوری کنید تا رفتار موردنظر و هدف اصلی را بفهمید. هم پرامپتها و هم مستندات تولیدشده را بررسی کنید و هر چیزی را که با منطق پروژه همخوانی ندارد، حذف کنید.
- پیادهسازی تستها: تستها را بر اساس نیازمندیهای واقعی بنویسید. در حالی که ثبت رفتارهای فعلی برای اپلیکیشنهای قدیمی (Legacy) با ده سال دانش مستندنشده مفید است، در اپلیکیشنهای AI باید از ثبت رفتار فعلی اجتناب کنید. اگر این کار را بکنید، صرفاً هر اشتباه مدل را به یک نیازمندی تبدیل کردهاید.
این چرخش، نشاندهنده گذاری از «حسمحوری» به مهندسی است. با بهکارگیری اصول کد تمیز، توسعهدهندگان ساختاری خوانا و قابل نگهداری برای عامل AI ایجاد میکنند تا تغییرات آینده ایمنتر و پیشبینیپذیرتر باشد.
در نهایت، هدف این است که از برخورد با هوش مصنوعی به عنوان یک «غول چراغ جادو» دست برداریم و با آن به عنوان ابزاری رفتار کنیم که نیازمند نظارت انسانی است. کسانی که مرحله پاکسازی و بازسازی را نادیده میگیرند، متوجه خواهند شد که اپلیکیشنهایشان برای بهروزرسانی بیش از حد شکننده شدهاند.
برای اجتناب از این تله، همین امروز ممیزی حیاتیترین ماژول تولیدشده توسط AI در پروژه خود را آغاز کنید. بررسی کنید آیا تستهای فعلی شما آنچه را که اپلیکیشن «باید» انجام دهد تایید میکنند، یا صرفاً آنچه را که «در حال حاضر» انجام میدهد.
گام بعدی شما
- ممیزی سریعترین ماژول تولیدشده توسط AI در پروژه خود را انجام دهید.
- بررسی کنید آیا تستهای شما «رفتار درست» را تایید میکنند یا صرفاً «رفتار فعلی» را.
- مستندات فنی را از روی کد استخراج کرده و با قصد اولیه خود تطبیق دهید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو