Intervistë seri AI 14: Dallimi midis kodimit vibe dhe kodimit spec?
Kjo është një pyetje që has shumica e programuesve. Kodimi Vibe dhe Kodimi Spec janë dy paradigma pune thelbësisht të ndryshme kur programohet me ndihmën e modeleve të mëdha gjuhësore (LLM). Dallimi kryesor qëndron në: “inputi” që i jep AI-së është një ndjesi e paqartë apo një specifikim i saktë.
1. Përshkrim i thjeshtë i ndryshimit me shembullin e gatimit
- Kodimi Vibe = I thua shokut “dua të ha diçka pikante”, shoku të bën një pjatë sipas ndjenjës, ti e provon dhe i thua “pak më shumë kripë”, ai shton kripë. Shija mund të jetë e mrekullueshme, po të ishte një shok tjetër, rezultati do të ishte krejt ndryshe.
- Kodimi Spec = Shkruani recetën: “20g salcë Pixian Douban, 150g mish viçi të prerë hollë, 50g selino, skuqeni në zjarr të fortë për 2 minuta, para se ta hiqni nga zjarri shtoni 3g sheqer”. Kuzhinierë të ndryshëm që ndjekin recetën prodhojnë shije pothuajse identike.
2. Përkufizimet e të dyjave
| Dimensioni | Kodimi Vibe | Kodimi Spec |
|---|---|---|
| Emra të tjerë | Programim i drejtuar nga ndjenja, improvizim i kërkesës | Programim i drejtuar nga specifikat, dokumentim i parë |
| Forma e inputit | “Më bëj një faqe logimi të bukur, me ndjesi teknologjike” | “Faqja e logimit duhet të përmbajë fushë email/fjalëkalim, checkbox ‘Më kujto’, buton dërgimi; front-end me React + Tailwind; rregullat e validimit të formularit: formati i emailit, gjatësia e fjalëkalimit ≥8; në rast dështimi shfaqni mesazh të kuq…” |
| Mënyra e përdorimit të AI-së | Dialogore, iterative: jep drejtim të përafërt → shiko rezultatin → rregullo | Inxhinierike: shkruaj fillimisht PRD të detajuar/ specifikime teknike → AI gjeneron kod bazuar në spec |
| Niveli i përfshirjes njerëzore | Ulët: mbështetet tek kreativiteti i AI-së, njeriu vetëm vlerëson “nëse ndihet mirë” | Lartë: njeriu së pari bën dizajnin/arkitekturën, AI kryesisht ekzekuton |
| Skenarë tipikë | Prototipim i shpejtë, mjete personale, eksplorim UI, kodim kreativ | Sisteme të nivelit prodhimi, bashkëpunim në ekip, kod i mirëmbajtshëm/testueshëm |
3. Krahasimi i rrjedhës së punës
Procesi i Kodimit Vibe
- Ide e paqartë: “Dua të shkruaj një crawler për të marrë listën e nxehtë të Zhihu.”
- Shkruaj prompt-in e parë: I kërkoj AI-së të gjenerojë kod direkt.
- Ekzekuto → Gabim → Kopjo gabimin përsëri në AI → AI e rregullon.
- Ndjej se ndërfaqja është e shëmtuar → “Bëje butonin më të rrumbullakosur, ndrysho sfondin në një gradient blu” → AI e ndryshon.
- Mungon funksioni → “Shto një funksion për të ruajtur në CSV” → AI e shton.
- Cikli 3-5 derisa “ndihet gati”.
Procesi i Kodimit Spec
- Shkruaj dokumentin e specifikimit: Defino input/output, strukturën e të dhënave, trajtimin e gabimeve, kërkesat e performancës, kërkesat jo-funksionale (p.sh. logime, limitim të shpejtësisë).
- Ndaje specifikimin në detyra: P.sh. Detyra 1: Implemento funksionin
fetch_hot_topics(), në përputhje me nënshkrimin e API-së në spec. - Çdo detyrë kërko nga AI ta realizojë: Prompt-i përfshin nënshkrimin e funksionit, komentet, pritshmëritë e test-case-ve.
- Rishikim dhe verifikim njerëzor: Sigurohu që përputhet me specifikimin, ekzekuto testet njësi.
- Integrim dhe regression.
4. Krahasimi i avantazheve dhe disavantazheve
| Karakteristikë | Kodimi Vibe | Kodimi Spec |
|---|---|---|
| Shpejtësia e fillimit | Shumë e shpejtë, prototip në pak minuta | E ngadaltë, duhet shkruar dokumentacion dhe ndarë detyra |
| Cilësia e kodit | E ulët (mund të jetë i tepërt, jokonsistent, me gabime të fshehura) | E lartë (i lexueshëm, i testueshëm, në përputhje me arkitekturën) |
| Mirëmbajtja | E dobët, të tjerët nuk e kuptojnë “pse është shkruar kështu” | E mirë, specifikimi shërben si dokumentacion |
| Varësia nga LLM | Shumë e lartë, ndryshimi i modelit mund të prodhojë rezultate krejt ndryshe | Mesatare, për sa kohë specifikimi është i qartë, modele të ndryshme prodhojnë strukturë të ngjashme |
| Vështirësia e debugimit | E vështirë, nuk dihet nga vjen logjika e kodit | E lehtë, kontrollohet sipas specifikimit pikë për pikë |
| I përshtatshëm për bashkëpunim në ekip | Pothuajse i pamundur | I mundur (specifikimi është kontrata e komunikimit) |
| Siguria e rezultatit | E ulët, rezultatet mund të ndryshojnë nga një bisedë në tjetrën | E lartë, i njëjti specifikim prodhon rezultate të qëndrueshme |
5. Këshilla praktike për përdorim në realitet
“Në punë, kodimi vibe dhe kodimi spec nuk janë një zgjedhje binare, por përdoren të kombinuara, duke zgjedhur qasjen e duhur për situatën:
- Në fazën e eksplorimit (kur nuk je i sigurt për zgjedhjen teknologjike ose stilin UI), përdor Kodimin Vibe për të verifikuar shpejt alternativa të ndryshme, p.sh. ‘Shkruaj një komponent kartele me Tailwind për të parë efektin’.
- Pasi zgjidhja të jetë përcaktuar, kalo menjëherë në Kodimin Spec: përmblidh prototipin e suksesshëm në një specifikim të qartë (input/output, kushte kufitare, trajtim gabimesh) dhe më pas kërko AI-së ose personit të rishkruajë kodin e nivelit prodhimi sipas specifikimit.
Modaliteti i pastër Vibe është i përshtatshëm vetëm për skripta një herë ose mjete të brendshme të vogla; për sisteme që do të mirëmbahen afatgjatë dhe që përdoren nga shumë persona, Kodimi Spec është një kërkesë e fortë.”
评论
暂无已展示的评论。
发表评论(匿名)