AI Interview Series 15: Unsa ang Kasagarang Mga Lit-ag sa Vibe Coding?
Ang "pagbati/palibot nga pagdrayb" nga mode sa Vibe Coding, bisan og makalingaw alang sa paspas nga prototype ug creative exploration, kung dili kontrolado, dali nga mahulog sa pipila ka tipikal nga mga lit-ag. Sa ubos, i-summarize kini gikan sa lima ka dimensyon: kalidad sa code, maintainability, seguridad, ebolusyon sa mga kinahanglanon, ug kolaborasyon sa team
Usa: Mga Lit-ag sa Kalidad sa Code
Tungod kay ang Vibe Coding nagsalig sa dialogue-based iteration, ang user matag higayon maghatag og dili klaro nga mga hangyo sa pag-usab (sama sa "pahumana kini nga buton nga mas technological"), ang AI mas gusto nga magdugang og bag-ong code imbes nga i-refactor ang original nga lohika. Wala kini kahibalo kung unsang daan nga code ang dili na epektibo, ug dili kini dali nga mag-delete, nga mosangpot sa pagtapok sa redundancy ug patay nga code. Usab, ang AI walay "memorya sa estilo sa code", matag henerasyon mahimong mosunod sa lain-laing mga naming conventions (depende sa randomness sa training data), ug ang user panagsa ra maghatag og klaro nga constraints, busa ang code mahimong gubot ug lisud tagna-an. Sa laktod:
- Redundancy ug Patay nga Code: Human sa daghang pag-ayos, ang AI mobiya sa daan nga mga implementasyon, gi-comment nga code blocks, ug wala gigamit nga import, kay mas taas ang risgo sa pag-delete, iyang huptan kini.
- Dili Parehas nga Naming ug Estilo: Ang AI sa lain-laing rounds random nga mokuha og estilo gikan sa training data; kung ang user dili mag- enforce og standard, magsagol ang camelCase, underscore, ug spacing.
- Natago nga mga Sayop sa Lohika: Ang AI gusto nga mag-generate og code nga sakto sa "common path", pero ang boundary conditions (null values, extremes, concurrency) kasagaran nga wala tagda, tungod kay ang training data adunay diyutay nga mga sample niini.
Duha: Mga Lit-ag sa Maintainability
Ang Vibe Coding adunay paspas kaayo nga iteration speed; ang user ug ang AI naka-focus sa "kung magamit ba ang current feature", halos walay panahon sa pagsulat og dokumentasyon, comments, o pag-refactor. Ang AI walay long-term memory, dili kini aktibo nga magdugang og docstring sa mga function, ug dili konsiderahon ang sunod nga developer nga modawat sa code. Dugang pa, ang AI gusto nga "makompleto ang immediate nga kinahanglanon", bisan og mag-overdesign og general nga framework (maghunahuna nga ang user magkinahanglan niini sa ulahi), o mag-copy-paste aron dali nga ma-implement, nga mosangpot sa gubot nga abstraction layers. Sa laktod:
- Kawad-on sa Dokumentasyon ug Comments: Ang AI default nga mag-output og "self-explanatory" code, pero ang komplikado nga regex o algorithms lisud sabot; kung dili hangyoon sa user, dili kini magsulat og dokumentasyon.
- Over-abstraction o Under-abstraction: Usahay ang AI mogamit og common design patterns (sama sa Factory, Strategy) bisan kung simple ra ang problema; usahay tungod sa katapulan, i-copy lang ang code blocks imbes nga kuhaon ang common functions.
Tulo: Mga Lit-ag sa Seguridad
Ang training data sa AI adunay daghang open-source code, diin ang uban adunay historical vulnerabilities (sama sa SQL string concatenation, hardcoded keys). Sa Vibe Coding, panagsa ra mangayo ang user og "gamita ang parameterized queries" o "basaha ang keys gikan sa environment variables", busa ang AI mogamit sa kasagarang (ug kasagaran dili luwas) nga pattern. Dugang pa, ang AI walay "threat model" nga kahibalo, dili kini aktibo nga mag-check sa input filtering, prinsipyo sa least privilege, kay ang AI nabalaka lang sa implementasyon sa feature. Sa laktod:
- Injection Vulnerabilities: Ang AI default nga mogamit og string concatenation para sa SQL/commands, kay kini nga paagi kasagaran sa yano nga mga tutorial.
- Hardcoded Sensitive Information: Ang mga sample sa training data kasagarang mag-hardcode og API Key, ug ang AI mosundog niini nga pattern.
- Excessive Permissions: Para sa kasayon, ang AI kanunay mogamit og
sudoow+mode sa pag-abli sa file, nga dili konsiderahon ang minimum nga gikinahanglan nga permissions.
Upat: Mga Lit-ag sa Ebolusyon sa mga Kinahanglanon
Ang Vibe Coding walay klaro nga boundary. Ang user mosulti lang og "dugang usa ka feature", ug ang AI maningkamot sa pagtagbaw, pero wala kini kahibalo kung unsa ang "gawas sa scope". Wala usab konsepto sa priority ang AI, ug mahimong mag-implement og tulo ka dugang nga features sa samang higayon, nga moresulta sa core feature nga malubong. Usab, sa pag-usab og bag-ong bug, ang AI dili mobalik sa daan nga features, kanunay nga mag-ayo sa A, moguba sa B nga regression issues. Sa laktod:
- Scope Creep: Para "makapalipay sa user", ang AI aktibo nga magdugang og features nga morag may kalabutan pero dili kinahanglan (sama sa calculator nga adunay history).
- Feature Regression: Sa pag-ayo sa usa ka bug, tungod kay wala masabti ang global logic, ang AI moduhili og common function, nga moresulta sa ubang dependent features nga mag- malfunction.
Lima: Mga Lit-ag sa Kolaborasyon sa Team
Ang dialogue process sa Vibe Coding kay personal nga interaksyon sa indibidwal ug AI, walay nahibilin nga documentation sa specs o design decisions nga ma-transmit. Ang lain-laing mga miyembro sa team mag- dialogue sa AI, makadawat og code nga lain-laing estilo, ug mag-collide sa daghang conflicts pag- merge. Dugang pa, ang AI dili automatic nga mag-generate og commit message o changelog; ang rason sa ebolusyon sa code mawala, ug ang maintenance team sa ulahi mag depende lang sa pagtag-an. Sa laktod:
- Dili Ma-reproduce nga Build: Lain-laing tao, lain-laing oras, gamit ang parehas nga prompt, ang AI mo-output og lain-laing implementasyon (tungod sa sampling randomness).
- Kawad-on sa Pagsubay sa Pagbag-o: Walay design documents, walay commit message nga nagpatin-aw "ngano nausab kini", ang code mahimong black box.
评论
暂无已展示的评论。
发表评论(匿名)