Sèrie d'entrevistes AI 15: Quins són els paranys habituals del Vibe Coding?
El mode "sentiment/atmosfera" del Vibe Coding, tot i que és molt útil per a prototipatge ràpid i exploració creativa, si no es controla, pot caure fàcilment en diversos paranys típics. A continuació es resumeixen des de cinc dimensions: qualitat del codi, mantenibilitat, seguretat, evolució de requisits i col·laboració en equip
1. Parany de qualitat del codi
Com que el Vibe Coding depèn de la iteració basada en converses, cada cop que l'usuari fa una sol·licitud de modificació vaga (com "fes que aquest botó tingui més aspecte tecnològic"), la IA tendeix a afegir codi nou en lloc de reestructurar la lògica existent. No sap quins codis antics són inútils i no s'atreveix a eliminar-los, cosa que provoca una acumulació de codi redundant i mort. A més, la IA no té una "memòria d'estil de codi" unificada: cada generació pot seguir convencions de noms diferents (depenent de l'aleatorietat de les dades d'entrenament) i, com que l'usuari rarament imposa restriccions clares, el codi final es torna desordenat i imprevisible. En resum:
- Codi redundant i mort: Després de múltiples pedaços, la IA deixa implementacions antigues, blocs de codi comentats i imports no utilitzats, ja que eliminar-los és arriscat, opta per conservar-los.
- Nomenclatura i estil inconsistents: La IA extreu estils aleatòriament de les dades d'entrenament en diferents rondes; si l'usuari no imposa normes, es barregen camelCase, snake_case i espais.
- Errors lògics ocults: La IA tendeix a generar codi que funciona per a casos comuns, però les condicions límit (valors nuls, extrems, concurrència) sovint s'ignoren, ja que hi ha pocs exemples d'aquest tipus a les dades d'entrenament.
2. Parany de mantenibilitat
La velocitat d'iteració del Vibe Coding és molt alta: tant l'usuari com la IA se centren en "si la funció actual funciona", i gairebé no hi ha temps per escriure documentació, comentaris o reestructurar. La IA no té memòria a llarg termini i no afegeix docstrings a les funcions de manera proactiva, ni considera el desenvolupador que vindrà després. A més, la IA tendeix a "satisfer la necessitat immediata": o bé sobredissenyar un marc genèric (pensant que l'usuari ho necessitarà més endavant), o bé copiar i enganxar per implementar ràpidament, la qual cosa provoca una jerarquia d'abstracció caòtica. En resum:
- Manca de documentació i comentaris: La IA per defecte genera codi "autoexplicatiu", però expressions regulars o algorismes complexos són difícils d'entendre; si l'usuari no ho demana, la IA no escriu documentació.
- Abstracció excessiva o insuficient: De vegades la IA aplica patrons de disseny habituals (com fàbrica, estratègia) fins i tot per a problemes senzills; d'altres vegades, per mandra d'extreure funcions comunes, copia blocs de codi directament.
3. Parany de seguretat
Les dades d'entrenament de la IA contenen molt codi font obert, incloent-hi vulnerabilitats històriques (com concatenació SQL, claus codificades en dur). En el Vibe Coding, l'usuari rarament demana explícitament "utilitzar consultes parametritzades" o "llegir claus de variables d'entorn", de manera que la IA adopta el patró més comú (i sovint insegur). A més, la IA no té consciència de "model d'amenaces" i no comprova de manera proactiva el filtratge d'entrades o la minimització de permisos, ja que només li importa la implementació funcional. En resum:
- Vulnerabilitat d'injecció: La IA per defecte utilitza concatenació de cadenes per construir SQL/ordres, ja que aquesta és la manera més comuna en tutorials senzills.
- Secrets codificats en dur: Els exemples de les dades d'entrenament sovint tenen claus API escrites directament, i la IA imita aquest patró.
- Permisos excessius: Per comoditat, la IA sovint utilitza
sudoo modew+per obrir fitxers, sense considerar el principi de mínim privilegi.
4. Parany d'evolució de requisits
El Vibe Coding no té límits clars. Quan l'usuari diu "afegeix una altra funció", la IA fa tot el possible per satisfer-ho, però no sap què està "fora de l'abast". La IA tampoc té concepte de prioritats; pot implementar tres funcions addicionals alhora, ofegant la funció principal. A més, cada cop que es corregeix un error nou, la IA no revisa les funcions antigues, i sovint es produeixen regressions: arreglar A trenca B. En resum:
- Desplaçament de l'abast: Per "satisfer l'usuari", la IA afegeix funcions aparentment rellevants però no necessàries (com afegir historial a una calculadora).
- Regressió de funcionalitats: Quan la IA corregeix un error, com que no coneix la lògica global, modifica una funció pública i fa que altres funcions que en depenen fallin.
5. Parany de col·laboració en equip
El procés de conversa del Vibe Coding és una interacció privada entre individu i IA, sense deixar documentació d'especificacions ni registres de decisions de disseny transferibles. Diferents membres de l'equip xategen amb la IA per separat i obtenen codi amb estils propis; en fusionar-lo, sorgeixen molts conflictes. A més, la IA no genera missatges de commit ni registres de canvis de manera automàtica; es perd la raó de l'evolució del codi, i els mantenidors posteriors només poden endevinar. En resum:
- Compilacions no reproduïbles: Persones diferents o moments diferents amb el mateix prompt donen lloc a implementacions diferents (per l'aleatorietat del mostreig).
- Manca de seguiment de canvis: No hi ha documentació de disseny, ni missatges de commit que expliquin "per què es va canviar això"; el codi esdevé una caixa negra.
评论
暂无已展示的评论。
发表评论(匿名)