Vibe Coding یک سطح نیست، بلکه یک محور است.
کارپاتی Vibe Coding را به عنوان یک حلقه ساده تعریف کرد: دیدن، گفتن، اجرا کردن و کپی-پیست کردن.
بیشتر مردم با این موضوع مانند نردبانی از خودمختاری برخورد میکنند. آنها میزان کاری را که به هوش مصنوعی میسپارید، میسنجند.
سطوح به این صورت هستند:
- L0: بدون هوش مصنوعی
- L1: هوش مصنوعی به عنوان autocomplete
- L2: مبتنی بر قصد (شما «چه چیزی» را تعریف میکنید، هوش مصنوعی «چگونه» را تعیین میکند)
- L3: برنامهنویسی دونفره مشارکتی (Collaborative pair-programming)
- L4: نیمهخودمختار
- L5: کاملاً خودمختار
این نردبان مفید است اما ناقص. این فقط یک چیز را میسنجد: تفویض اختیار.
دو توسعهدهنده میتوانند هر دو در سطح ۴ باشند. یکی یک codebase تمیز میسازد که قویتر میشود. دیگری آشفتگیای میسازد که رو به زوال است.
تفاوت در مهارت آنها نیست، بلکه در انضباط اپراتوری (operator discipline) آنهاست.
انضباط اپراتوری یعنی چه مقدار از کار شما به عنوان یک وضعیت قابل بازبینی (inspectable state) باقی میماند.
اگر تصمیمات خود را ذخیره نکنید، باید آنها را در هر جلسه تکرار کنید. من ماهها با هوش مصنوعی درباره یک معماری واحد بحث کردم. او هر بار همان پیشنهاد اشتباه را میداد. احساس خستگی میکردم.
من این مشکل را با ایجاد یک مخزن ساده برای تصمیمات حل کردم:
- پیشنهادی (Proposed)
- پذیرفتهشده (Accepted)
- قفلشده (Locked)
وقتی تصمیمی قفل شد، هوش مصنوعی نمیتواند بدون اجازه آن را تغییر دهد. کار آرام شد. codebase دیگر دچار تزلزل نشد.
Vibe Coding یک نقشه دو محوری است. محور ۱ خودمختاری (L0 تا L5) است. محور ۲ انضباط اپراتوری (کم تا زیاد) است.
محاسبات به این صورت است: در بازههای زمانی طولانی، L1 + انضباط بالا > L5 + انضباط پایین.
خودمختاری بالا با انضباط پایین منجر به حداکثر سرعت و حداکثر آشفتگی میشود. شما با سرعت زیاد به سمت دیواری از بدهی فنی (technical debt) حرکت میکنید.
برای ساختن با انضباط، من از سه چیز استفاده میکنم:
- یک فایل persona: هویت، قوانین و ترجیحات برای مدل.
- مخازن append-only: مکانی برای تصمیمات قفلشده و رشتههای فعال.
- عادت ثبت کردن: نوشتن تصمیمات در همان لحظهای که اتخاذ میشوند.
فقط به promptها تکیه نکنید. یک state machine بسازید.
اگر استفاده بیشتر از هوش مصنوعی اهرم (leverage) بیشتری به شما نمیدهد، احتمالاً مشکل از مدل نیست. مشکل از محور دوم شماست.
شما چه چیزی را به عنوان state ثبت میکنید؟ چه چیزی را در هر جلسه از ابتدا بازسازی میکنید؟
Source: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb
Optional learning community: https://t.me/GyaanSetuAi