وقتی vibe-coding به دیوار میخوره: درسهای یک ریست کامل
خلاصهٔ کاملتر
یه توسعهدهنده ابزار متنمحور مدیریت کوبرنتیز خودش به اسم k10s رو با ۲۳۴ کامیت و حدود ۳۰ آخر هفته بر پایهی vibe-coding با Claude ساخته بود. k10s اصلاً برای مدیریت کلاسترهای GPU طراحی شده بود — داشبوردی که مصرف GPU، دمای کارتها، توان مصرفی و گرههای بیکار رو نشون میده. پروژه کار میکرد، ولی نه برای همیشه.
هفتههای اول کاملاً جادویی بود. با چند پرامپت ساده، Claude فیچرهایی مثل نمای پادها، فیلتر namespace، استریم لاگ و ناوبری با کلیدهای Vim رو یکییکی تحویل میداد. پروژهی کوچیک بود و هوش مصنوعی میتونست کل کانتکست رو توی ذهن نگه داره. سرعت ساخت حدوداً ۱۰ برابر حالت عادی بود.
مشکل وقتی شروع شد که فیچر اصلی پروژه، یعنی fleet view برای GPU، اضافه شد. Claude یهضرب کل ساختار رو نوشت، جدول رنگبندیشده، فیلتر تبها، نمایش allocation. قشنگ به نظر میرسید — تا اینکه نویسنده خواست به نمای pods برگرده. جدول خالی بود. آپدیتهای زنده قطع شده بود. دادههای stale از fleet view توی بقیهی نماها نشت کرده بود.
وقتی نویسنده برای اولین بار نشست و model.go رو — همون ۱۶۹۰ خط کد — خوند، با یه god object روبهرو شد. god object یعنی یه struct واحد که مسئولیت همه چیز رو داره: کامپوننتهای UI، اتصال به کلاستر، وضعیت لاگها، تاریخچهی ناوبری، پلاگینها و... همه با هم. هر فیچر جدید که Claude اضافه میکرد، یه فیلد دیگه به این struct میچسبید:
type Model struct {
table table.Model
paginator paginator.Model
commandInput textinput.Model
k8sClient *k8s.Client
currentGVR schema.GroupVersionResource
resourceWatcher watch.Interface
resources []k8s.OrderedResourceFields
logLines []k8s.LogLine
describeContent string
currentNamespace string
navigationHistory *NavigationHistory
logView *LogViewState
viewMode ViewMode
pluginRegistry *plugins.Registry
// ...
}این الگو دقیقاً همون چیزیه که نویسنده بهش میگه «em-dash هوش مصنوعی در کدنویسی» — یه علامت مشخص که نشون میده هوش مصنوعی داره بدون نظارت کد مینویسه. هر بار که یه فیچر جدید میخواستی، Claude به جای طراحی مجدد، فقط یه فیلد دیگه اضافه میکرد. سرعت بالا بود، ولی معماری داشت آرومآروم میپوسید.
درس اصلی اینه که vibe-coding سرعت میده، ولی جهت نه. هوش مصنوعی فیچر میشناسه، نه معماری. اگه کسی معماری رو تعریف نکنه، AI یه گاد آبجکت میسازه که موقت کار میکنه ولی با اولین تغییر بزرگ فرو میریزه. راهحل نویسنده اینه که معماری رو خودش بنویسه و بعد از CLAUDE.md و AGENTS.md برای محدود کردن اختیارات هوش مصنوعی استفاده کنه.
نکات کلیدی:
- vibe-coding در فازهای اولیه عالیه، ولی بدون معماری از پیش تعریفشده فاجعه میسازه
- god object نشانهی کلاسیک اینه که AI بدون راهنمایی داره کد مینویسه
- سرعت بالا توهم پیشرفت ایجاد میکنه و اغلب باعث میشه روی bloat تمرکز کنی
- معماری باید توسط انسان نوشته بشه؛ AI باید در چارچوب اون کار کنه
- فایلهای AGENTS.md یا CLAUDE.md میتونن محدودیتهای ساختاری رو به AI منتقل کنن




