AI Müsahibə Seriyası 15: Vibe Coding-in Ümumi Tələləri Hansılardır?
Vibe Coding-in 'hiss/atmosfer' sürücülü rejimi sürətli prototipləmə və yaradıcı kəşfiyyat zamanı çox xoş olsa da, nəzarət edilmədikdə, bir neçə tipik tələyə düşmək asandır. Aşağıda kod keyfiyyəti, saxlanılabilirlik, təhlükəsizlik, tələb təkamülü, komanda əməkdaşlığı beş ölçüdən ümumiləşdirilir.
1. Kod Keyfiyyəti Tələləri
Çünki Vibe Coding dialoq əsaslı iterasiyaya güvənir, istifadəçi hər dəfə qeyri-müəyyən dəyişiklik tələbi irəli sürdükdə (məsələn, 'bu düyməni daha texnoloji hiss etdir'), AI yeni kod əlavə etməyə meyllidir, mövcud məntiqi yenidən qurmaq əvəzinə. Hansı köhnə kodun artıq işləmədiyini bilmir və asanlıqla silməyə cəsarət etmir, nəticədə artıqlıq və ölü kod toplanır. Eyni zamanda, AI-nin vahid 'kod tərzi yaddaşı' yoxdur, hər dəfə fərqli adlandırma vərdişlərinə (təlim məlumatlarının təsadüfiliyindən asılı olaraq) əməl edə bilər, üstəlik istifadəçi nadir hallarda aydın normalar təyin edir, nəticədə kod qarışıq və proqnozlaşdırıla bilməz olur. Aşağıda ümumiləşdirilir:
- Artıqlıq və Ölü Kod: Çoxsaylı düzəlişlərdən sonra AI köhnə tətbiqləri, şərhə alınmış kod bloklarını, istifadə olunmayan idxalları saxlayır, çünki silmə riski yüksəkdir, o, saxlamağı seçir.
- Uyğunsuz Adlandırma və Tərzi: AI müxtəlif dövrlərdə təlim məlumatlarından təsadüfi olaraq tərz çıxarır, istifadəçi normaları məcbur etmədikdə camelCase, underscore, boşluqlar qarışdırılır.
- Gizli Məntiq Səhvləri: AI 'ümumi yollar' üçün düzgün kod yaratmağa meyllidir, lakin sərhəd şərtləri (null dəyərlər, ekstremal dəyərlər, paralellik) çox vaxt nəzərə alınmır, çünki təlim məlumatlarında belə nümunələr azdır.
2. Saxlanılabilirlik Tələləri
Vibe Coding-in iterasiya sürəti çox yüksəkdir, istifadəçi və AI hər ikisi 'cari funksionallığın işlək olub-olmamasına' fokuslanır, sənədləşmə, şərh və ya yenidənqurma üçün demək olar ki, vaxt yoxdur. AI uzunmüddətli yaddaşa malik deyil, funksiyalara docstring əlavə etmək və ya növbəti tərtibatçını nəzərə almaq üçün təşəbbüs göstərmir. Bundan əlavə, AI 'cari ehtiyacı həll etməyə' meyllidir, ya ümumi bir çərçivəni həddindən artıq dizayn edir (istifadəçinin sonradan ehtiyac duyacağını düşünərək), ya da sürətli tətbiq üçün kopyala-yapışdır edir, abstraksiya səviyyələrinin qarışmasına səbəb olur. Aşağıda ümumiləşdirilir:
- Sənədləşmə və Şərhin Olmaması: AI standart olaraq 'özünü izah edən' kod çıxarır, lakin mürəkkəb regex və ya alqoritmləri başa düşmək çətindir; istifadəçi tələb etmədikcə, sənəd yazmır.
- Həddindən Artıq Abstraksiya və ya Abstraksiyanın Azlığı: AI bəzən ümumi dizayn nümunələrini (məsələn, fabrik, strategiya) tətbiq edir, hətta problem sadə olsa belə; bəzən isə ümumi funksiyanı çıxarmağa tənbəllik edərək birbaşa kod blokunu kopyalayır.
3. Təhlükəsizlik Tələləri
AI-nin təlim məlumatları açıq mənbə kodlarını ehtiva edir, bunların arasında tarixi zəifliklər (məsələn, SQL birləşdirmə, sərt kodlanmış açarlar) az deyil. Vibe Coding-də istifadəçi nadir hallarda 'parametrləşdirilmiş sorğulardan istifadə edin' və ya 'açarları mühit dəyişənlərindən oxuyun' kimi tələblər irəli sürür, AI isə ən ümumi (və çox vaxt təhlükəsiz olmayan) nümunəni qəbul edir. Bundan əlavə, AI 'təhdid modeli' şüuruna malik deyil, giriş filtrasiyası, icazələrin minimuma endirilməsini yoxlamır, çünki yalnız funksionallığın həyata keçirilməsi ilə maraqlanır. Aşağıda ümumiləşdirilir:
- İnyeksiya Zəiflikləri: AI standart olaraq SQL/əmr yaratmaq üçün sətir birləşdirməsindən istifadə edir, çünki bu üsul sadə dərsliklərdə ən çox yayılmışdır.
- Həssas Məlumatların Sərt Kodlanması: Təlim nümunələrindəki misallar tez-tez API açarlarını sərt kodlayır, AI bu nümunəni təqlid edir.
- Həddindən Artıq İcazələr: Rahatlıq üçün AI tez-tez
sudovə yaw+rejimində faylları açır, minimum zəruri icazələri nəzərə almadan.
4. Tələb Təkamülü Tələləri
Vibe Coding-in dəqiq sərhədləri yoxdur. İstifadəçinin 'bir funksiya daha əlavə et' deməsi ilə AI onu təmin etməyə çalışır, lakin 'çərçivədən kənar' nə olduğunu bilmir. AI-nin prioritet anlayışı da yoxdur, eyni anda üç əlavə xüsusiyyəti həyata keçirə bilər, əsas funksionallığın itməsinə səbəb olur. Eyni zamanda, hər dəfə yeni bir səhv düzəldilərkən, AI köhnə funksiyaları nəzərdən keçirmir, tez-tez A-nı düzəldib B-ni pozan reqressiya problemləri yaranır. Aşağıda ümumiləşdirilir:
- Əhatə Dairəsinin Genişlənməsi: AI 'istifadəçini məmnun etmək' üçün əlaqəli görünən, lakin zəruri olmayan funksiyaları əlavə edir (məsələn, kalkulyatora tarixçə əlavə etmək).
- Funksiya Reqresiyası: AI müəyyən bir səhvi düzəldərkən, ümumi məntiqi bilmədiyi üçün ümumi bir funksiyanı dəyişdirir, nəticədə ona bağlı olan digər funksiyalar xarab olur.
5. Komanda Əməkdaşlığı Tələləri
Vibe Coding-in dialoq prosesi fərdi və AI arasında şəxsi qarşılıqlı əlaqədir, ötürülə bilən spesifikasiya sənədləri və ya dizayn qərarları qeydləri qalmır. Müxtəlif komanda üzvləri ayrı-ayrılıqda AI ilə dialoq aparır, nəticədə müxtəlif tərzlərdə kod alırlar, birləşdirmə zamanı çoxsaylı konfliktlər yaranır. Bundan əlavə, AI avtomatik commit mesajı və ya dəyişiklik jurnalı yaratmır, kod təkamülünün səbəbi itir, sonradan təmir işçiləri yalnız təxmin edə bilər. Aşağıda ümumiləşdirilir:
- Təkrarlana Bilməyən Qurğular: Fərqli şəxslər, fərqli vaxtlarda eyni promptdan istifadə etdikdə, AI fərqli tətbiqlər çıxarır (nümunə götürmə təsadüfiliyinə görə).
- Dəyişiklik İzləmənin Olmaması: Dizayn sənədləri yoxdur, 'niyə belə dəyişdirildi'ni izah edən commit mesajı yoxdur, kod qara qutuya çevrilir.
评论
暂无已展示的评论。
发表评论(匿名)