تصور کنید در وضعیتی هستید که هیچ منطق برنامهنویسی را با دست نمینویسید و فقط مدیریت میکنید. این دقیقاً واقعیت زندگی حرفهای آندری کارپاتی (Andrej Karpathy) است که در مارس ۲۰۲۶ اعتراف کرد از دسامبر ۲۰۲۵ حتی یک خط کد هم تایپ نکرده است.
این تغییر مسیر، آغاز دوران برنامهنویسی بر اساس حس (Vibe Coding) است؛ فرآیندی که در آن توسعهدهندگان تقریباً بهطور کامل به عاملهای هوش مصنوعی (AI Agents) — سیستمهای خودکاری که مثل دستیارهای هوشمند، هدف شما را میگیرند و آن را به کد تبدیل میکنند — تکیه میکنند تا نیات سطحبالا را به سیستمهای کاربردی تبدیل کنند. این رویکرد در پروژههای کوچکتر نیز نتایج ملموسی داشته است، بهطوری که میتوانست بازیهای مرورگر پیچیدهای را تنها با دستورات متنی و بدون کدنویسی دستی خلق کند.
این گذار در حالی رخ میدهد که صنعت وارد سومین عصر طلایی مهندسی نرمافزار شده است. طبق گفتهی گری بوچ (Grady Booch)، یکی از خالقان UML، اگر عصر اول بر الگوریتمها و عصر دوم بر انتزاعهای شیگرا متمرکز بود، عصر فعلی خودِ کد را انتزاع میکند. همانطور که در تحلیل قبلی ما دربارهی امنیت مدلهای بازمتن اشاره کردیم، سرعت بالای تولید کد لزوماً به معنای کیفیت آن نیست. اکنون برای نخستین بار در تاریخ، توسعهدهندگان میتوانند نرمافزار را مستقیماً از «نیت» تولید کنند.
اما این راحتی هزینهی سنگینی دارد: «اثر جعبه سیاه». وقتی نوشتن کد را متوقف میکنید، درک شما از کل ساختار پروژه از بین میرود. مدل ذهنی شما از سیستم مبهم میشود و بهجای واقعیتِ فعلی، به تجربیات گذشته تکیه میکنید. در نتیجه، کدهای تکراری را ردیابی نمیکنید و نمیتوانید معماری زیربنایی را برای دیگران توضیح دهید.
به نقل از وبسایت alexklos.ca، بیشتر تلاشهای فعلی برای پر کردن این شکاف اعتمادی، صرفاً «مهندسی پرامپت در یک بستر عاملمحور» هستند. تفاوت بنیادین میان این دو در تضاد میان سرعت توسعه و امنیت سیستم است؛ چرا که در Vibe Coding، کنترل دقیق بر خروجی کاهش مییابد. بسیاری از برنامهنویسان ادعا میکنند از مشخصات Markdown برای حفظ منبع حقیقت استفاده میکنند، اما این روشها مکانیسم اجباری ندارند. بدون یک نحو (Syntax) مشترک، هوش مصنوعی صرفاً تفسیر میکند که آیا کد با مشخصات همخوانی دارد یا خیر؛ یعنی در واقع دارد تکالیف خودش را تصحیح میکند.
سایر تلاشها برای سیستماتیک کردن این روند نیز شکست خوردهاند:
- Skills: تزریقهای شرطی زمینه که غیرقابل اعتماد هستند، چون به میل و رغبت عامل برای پیروی از دستورات بستگی دارند.
- Spec Kit و OpenSpec: ابزارهایی که خطلولههای سختگیرانه (مشخص کردن $\rightarrow$ شفافسازی $\rightarrow$ برنامهریزی $\rightarrow$ اجرا) را پیاده میکنند. با این حال، توسعهدهنده همچنان بدون خواندن کد نمیتواند خروجی را حسابرسی کند.
- Kiro: پروژهای که سعی میکند از استاندارد EARS برای ساختاردهی به نیازمندیها استفاده کند. اگرچه EARS به بررسی نیت کمک میکند، اما سیستم نمیتواند نیازمندیها را با کد تحویلدادهشده تطبیق دهد.
در اینجا پارادوکس توسعه مدلمحور یا TDD (Test-Driven Development) — روشی که در آن ابتدا تست نوشته میشود و سپس کد برای پاس کردن آن تست تولید میشود — ظاهر میشود. اگر عامل هوش مصنوعی تستها را بنویسد، همان مشکل اعتماد تکرار میشود. اما اگر انسان تستها را بنویسد، باید دوباره به سطح جزئیات پیادهسازی بازگردد و هدف اصلی یعنی «دور شدن از جزئیات کد» شکست میخورد.
برای حل این مشکل، دو پروژه جدید سعی دارند «نیت» را به عنوان یک اثر مستقل و معتبر تلقی کنند. CodeSpeak که توسط اندرئی برسلاو (Andrey Breslav)، خالق کاتلین، آغاز شده، با مشخصات (Specs) به گونهای برخورد میکند که گویی قابل کامپایل هستند. این ابزار پیش از تبدیل نیت به زبانهای پایتون، گو یا تایپاسکریپت، سازگاری آنها را بررسی میکند.
در مقابل، Scryer با پذیرش این واقعیت که اعتماد به عاملها هرگز کامل نمیشود، از سلسلهمراتب مدل C4 استفاده میکند. در اینجا توسعهدهنده بهجای خواندن کد، صفحات ویکی و نمودارها را مرور میکند. این کار اجازه میدهد «شعاع تخریب» یا اثر یک تغییر برنامهریزیشده بر کل مدل سیستم را بهصورت یک Diff (تفاوت) شبیه به گیت مشاهده کند.
برای برنامهنویس مدرن، عصر نوشتن کدهای تکراری و Boilerplate به پایان رسیده است. مدلهای زبانی بزرگ (LLM) — مثل کتابخانهداری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب میدهد — در پیادهسازی الگوهای استاندارد فوقالعادهاند و مقاومت در برابر این روند فقط منجر به فرسودگی شغلی میشود. با این حال، برخی جریانها همچنان بر بازگشت به «هنر کدنویسی» برای مقابله با آشغالهای تولیدشده توسط هوش مصنوعی تأکید دارند تا کیفیت مهندسی حفظ شود. چالش امروز دیگر این نیست که چگونه سریعتر کد بزنیم، بلکه این است که چگونه پلی مستحکم بین نیت انسان و اجرای ماشین بسازیم.
اگر شما هم در حال حاضر در «کازینوی Vibe Coding» دست به اهرم میکشید، هدف باید حرکت به سوی ابزارهایی باشد که مشاهدهپذیری قطعی (Deterministic Observability) فراهم میکنند. آینده متعلق به بازگشت به کدنویسی دستی نیست، بلکه متعلق به ایجاد لایهای تاییدپذیر از نیتهاست که با پیادهسازی فاصله نگیرد.
گام بعدی شما
- ابزارهای مدیریت نیت (Intent-driven) مانند CodeSpeak را دنبال کنید تا از اتکای محض به پرامپتها摆رید.
- سعی کنید تستهای پذیرش (Acceptance Tests) را بهصورت دستی بنویسید تا لایهای از نظارت بر خروجی عاملها داشته باشید.
- مدلهای بصریسازی معماری (مانند Scryer) را جایگزین مرور دستی کدهای تولیدشده توسط AI کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است؛ برای درک اینکه این حجم از استنتاج چگونه ممکن شده، به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو