← 返回列表

Seria e Intervistave AI 15: Cilat janë kurthet e zakonshme të Vibe Coding?

Megjithëse mënyra e drejtuar nga 'ndjenjat/atmosfera' e Vibe Coding është e këndshme për prototipim të shpejtë dhe eksplorim krijues, pa kontroll mund të bini lehtësisht në disa kurthe tipike. Më poshtë përmbledhim nga pesë dimensione: cilësia e kodit, mirëmbajtja, siguria, evolucioni i kërkesave, bashkëpunimi në ekip.


1. Kurthet e cilësisë së kodit

Për shkak se Vibe Coding mbështetet në përsëritje bisedore, çdo herë që përdoruesi paraqet një kërkesë modifikimi të paqartë (si 'bëje këtë buton më teknologjik'), AI tenton të shtojë kod të ri në vend që të riorganizojë logjikën ekzistuese. Nuk di se cilat kodra të vjetra janë të pavlefshme dhe nuk guxon t'i fshijë lehtë, duke shkaktuar grumbullimin e kodit të tepërt dhe të vdekur. Në të njëjtën kohë, AI nuk ka një 'memorie të stilit të kodit' të unifikuar, çdo gjenerim mund të ndjekë zakone të ndryshme emërtimi (në varësi të rastësisë së të dhënave të trajnimit), dhe përdoruesi rrallë jep kufizime të qarta normative, duke e bërë kodin përfundimisht të çrregullt dhe të vështirë për t'u parashikuar. Përmbledhur:

  1. Teprimi dhe kodi i vdekur: Pas riparimeve të shumta, AI lë implementime të vjetra, blloqe kodi të komentuara, importime të papërdorura, sepse rreziku i fshirjes është i lartë dhe vendos t'i mbajë.
  2. Emërtimi dhe stili i paqëndrueshëm: Në raunde të ndryshme, AI zgjedh rastësisht stilin nga të dhënat e trajnimit; nëse përdoruesi nuk imponon norma, do të përzihen camelCase, underscores dhe hapësira.
  3. Gabime logjike të fshehura: AI tenton të gjenerojë kod që funksionon për 'rrugët e zakonshme', por kushtet kufitare (vlera null, ekstreme, konkurrence) shpesh anashkalohen, sepse në të dhënat e trajnimit ka pak shembuj të tillë.

2. Kurthet e mirëmbajtjes

Shpejtësia e përsëritjes së Vibe Coding është shumë e lartë; përdoruesi dhe AI fokusohen në 'nëse funksioni aktual është i përdorshëm', dhe pothuaj nuk ka kohë për të shkruar dokumentacion, komente ose riorganizim. AI i mungon memoria afatgjatë, nuk shton në mënyrë aktive docstring për funksionet, dhe nuk merr parasysh zhvilluesin e ardhshëm. Gjithashtu, AI tenton të 'përmbushë kërkesat e menjëhershme', duke dizajnuar tepër një kornizë të përgjithshme (duke menduar se përdoruesi do të ketë nevojë më vonë), ose duke kopjuar dhe ngjitur për implementim të shpejtë, duke shkaktuar kaos në nivelet e abstraksionit. Përmbledhur:

  1. Mungesa e dokumentacionit dhe komenteve: AI në parim nxjerr kod 'vetëshpjegues', por në realitet regulat ose algoritmet komplekse janë të vështira për t'u kuptuar; pa kërkesë nga përdoruesi, nuk shkruan dokumentacion.
  2. Abstraksion i tepërt ose i pamjaftueshëm: Ndonjëherë AI zbaton modele të zakonshme dizajni (si factory, strategy) edhe kur problemi është i thjeshtë; ndonjëherë, për shkak se nuk nxjerr funksione të përbashkëta, kopjon blloqe kodi.

3. Kurthet e sigurisë

Të dhënat e trajnimit të AI përmbajnë shumë kod burimor të hapur, ku nuk mungojnë dobësi historike (si bashkimi SQL, çelësa të koduar). Në Vibe Coding, përdoruesi rrallë kërkon 'përdor pyetje të parametrizuara' ose 'lexo çelësat nga variablat e ambientit', kështu që AI përdor modelin më të zakonshëm (shpesh të pasigurt). Për më tepër, AI nuk ka ndërgjegjësim për 'modelin e kërcënimeve', nuk kontrollon filtrimin e hyrjeve ose minimizimin e lejeve, sepse kujdeset vetëm për implementimin e funksionit. Përmbledhur:

  1. Dobësitë e injektimit: AI në parim përdor bashkimin e vargjeve për të ndërtuar SQL/komanda, sepse kjo është më e zakonshme në tutorialet e thjeshta.
  2. Kodimi i informacionit të ndjeshëm: Shembujt në të dhënat e trajnimit shpesh shkruajnë API Key të fiksuar, dhe AI imiton këtë model.
  3. Lejet e tepërta: Për lehtësi, AI shpesh përdor modelet sudo ose w+ për të hapur skedarë, pa marrë parasysh lejet minimale të nevojshme.

4. Kurthet e evolucionit të kërkesave

Vibe Coding nuk ka kufij të qartë. Me një fjalë të përdoruesit 'shto edhe një funksion', AI përpiqet ta përmbushë, por nuk di çfarë është 'jashtë fushëveprimit'. AI gjithashtu nuk ka konceptin e prioriteteve, dhe mund të implementojë tre veçori shtesë në të njëjtën kohë, duke mbytur funksionin kryesor. Në të njëjtën kohë, çdo herë që rregullon një bug të ri, AI nuk rishikon funksionet e vjetra, dhe shpesh ndodh problemi i regresionit: rregullon A, prish B. Përmbledhur:

  1. Zgjerimi i fushëveprimit: Për të 'kënaqur përdoruesin', AI shton në mënyrë aktive funksione që duken të lidhura por jo të nevojshme (si historiku në një kalkulator).
  2. Degradimi i funksionit: Kur AI rregullon një bug, pa kuptuar logjikën globale, modifikon një funksion të përbashkët, duke shkaktuar probleme në funksione të tjera që varen prej tij.

5. Kurthet e bashkëpunimit në ekip

Procesi i bisedës së Vibe Coding është ndërveprim privat midis individit dhe AI, pa lënë dokumentacion specifikimesh ose regjistrime vendimesh dizajni të transferueshme. Anëtarë të ndryshëm të ekipit bisedojnë veçmas me AI, marrin kod me stilin e tyre, dhe gjatë bashkimit shfaqen konflikte të shumta. Për më tepër, AI nuk gjeneron automatikisht mesazhe commit ose regjistra ndryshimesh, dhe arsyeja e evolucionit të kodit humbet; mirëmbajtësit e mëvonshëm duhet të hamendësojnë. Përmbledhur:

  1. Ndërtime të papërsëritshme: Njerëz të ndryshëm, në kohë të ndryshme, duke përdorur të njëjtin prompt, AI nxjerr implementime të ndryshme (për shkak të rastësisë së kampionimit).
  2. Mungesa e gjurmimit të ndryshimeve: Nuk ka dokumentacion dizajni, nuk ka mesazhe commit që shpjegojnë 'pse u bë ky ndryshim', kodi bëhet kuti e zezë.

评论

暂无已展示的评论。

发表评论(匿名)