AI ярилцлагын цуврал 15: Vibe Coding-ийн нийтлэг урхинууд
Vibe Coding-ийн "мэдрэмж/уур амьсгал"-аар удирдуулсан горим нь хурдан прототип хийх, бүтээлч судалгаа хийхэд маш тохиромжтой боловч хяналтгүй орхивол хэд хэдэн ердийн урхинд орох амархан. Доорх нь кодын чанар, засвар үйлчилгээ, аюулгүй байдал, шаардлагын хувьсал, багийн хамтын ажиллагаа гэсэн таван хэмжээстээс нэгтгэн харуулав.
1. Кодын чанарын урхи
Vibe Coding нь ярианы хэлбэрээр давталт хийхэд тулгуурладаг тул хэрэглэгч тодорхойгүй өөрчлөлтийн шаардлага тавих бүрт (жишээ нь: "Энэ товчийг илүү технологийн мэдрэмжтэй болго"), AI нь анхны логикийг дахин бүтээхийн оронд шинэ код нэмэх хандлагатай байдаг. AI аль хуучин код ашиглагдахгүй болсныг мэддэггүй, устгахаас эргэлздэг тул давхардсан, үхсэн код хуримтлагддаг. Мөн AI нь нэгдсэн "кодын хэв маягийн санах ой"гүй, үе бүр сургалтын дээжийн санамсаргүй байдлаар өөр өөр нэршил хэрэглэж болох бөгөөд хэрэглэгч тодорхой дүрэм өгөхгүй бол эцэст нь код замбараагүй, таамаглахад хэцүү болдог. Дүгнэвэл:
- Давхардсан ба үхсэн код: Олон удаагийн засварын дараа AI хуучин хэрэгжүүлэлт, тайлбарласан кодын хэсэг, ашиглагдаагүй импортуудыг үлдээдэг, учир нь устгах эрсдэл өндөр, тэр хадгалахаар шийддэг.
- Нийцгүй нэршил ба хэв маяг: AI нь өөр өөр үе шатанд сургалтын өгөгдлөөс санамсаргүй хэв маяг сонгодог, хэрэглэгч хүчлэн дэг журам тогтоохгүй бол CamelCase, underscore, зай хэрэглэх нь холилдоно.
- Далд логик алдаа: AI нь "ердийн зам" зөв кодыг гаргах хандлагатай боловч хязгаарын нөхцөлүүд (null, туйлын утга, зэрэгцээ) ихэвчлэн үл тоомсорлогддог, учир нь сургалтын өгөгдөлд ийм жишээ цөөн.
2. Засвар үйлчилгээний урхи
Vibe Coding-ийн давталтын хурд маш өндөр, хэрэглэгч болон AI хоёулаа "одоогийн функц ажиллаж байна уу" дээр төвлөрдөг тул баримт бичиг, тайлбар эсвэл дахин бүтээх цаг бараг байдаггүй. AI удаан хугацааны санах ойгүй, функцэд docstring нэмдэггүй, дараагийн хөгжүүлэгчийг тоодоггүй. Түүнчлэн AI нь "тухайн шаардлагыг шийдэх" хандлагатай бөгөөд хэт том хүрээг загварчлах (хэрэглэгч хожим хэрэгтэй болно гэж бодож) эсвэл хурдан хэрэгжүүлэхийн тулд код хуулах-наах хийж, абстракцийн түвшинг эмх замбараагүй болгодог. Дүгнэвэл:
- Баримт бичиг, тайлбарын дутагдал: AI анхдагчаар "өөрийгөө тайлбарлах" код гаргадаг боловч бодит хүнд хэцүү regex эсвэл алгоритмыг ойлгоход хэцүү; хэрэглэгч шаардахгүй бол баримт бичиг бичихгүй.
- Хэт абстракци эсвэл абстракци хангалтгүй: AI заримдаа энгийн асуудалд ч түгээмэл дизайны загваруудыг (жишээ нь Factory, Strategy) хэрэглэдэг, заримдаа нийтлэг функцийг гаргаж авахаас залхаж кодын блок хуулж наадаг.
3. Аюулгүй байдлын урхи
AI-ийн сургалтын өгөгдөл нь олон тооны нээлттэй эхийн кодыг агуулдаг бөгөөд тэдгээрт түүхэн эмзэг байдал (SQL нэгтгэх, хатуу кодчилсон нууц гэх мэт) дутагдахгүй. Vibe Coding-д хэрэглэгч "параметржүүлсэн query ашиглах" эсвэл "нууцыг орчны хувьсагчаас унших" гэх мэтийг идэвхтэй шаарддаггүй тул AI хамгийн түгээмэл (мөн ихэвчлэн аюулгүй биш) загварыг сонгодог. Түүнчлэн AI нь "аюулын загвар"-ын талаар мэдлэггүй, оролтын шүүлтүүр, зөвшөөрлийн хамгийн бага хэмжээг идэвхтэй шалгадаггүй, учир нь зөвхөн функциональ байдлыг анхаардаг. Дүгнэвэл:
- Инжекцийн эмзэг байдал: AI анхдагчаар SQL/командыг мөр нэгтгэх замаар бүтээдэг, учир нь энэ арга энгийн зааварт хамгийн түгээмэл.
- Мэдээллийн нууцыг хатуу кодчилол: Сургалтын жишээнүүдэд API түлхүүрийг хатуу кодчилсон байдаг, AI энэ загварыг дуурайдаг.
- Хэт их зөвшөөрөл: AI тав тухтай байдлын үүднээс файлыг
sudoэсвэлw+горимоор нээдэг, шаардлагатай хамгийн бага зөвшөөрлийг тоодоггүй.
4. Шаардлагын хувьслын урхи
Vibe Coding тодорхой хил хязгааргүй. Хэрэглэгч "функц нэмээд өгөөч" гэхэд AI бүх хүчин чармайлтаа гаргана, гэхдээ "хүрээнээс гадуур" гэж юу болохыг мэдэхгүй. AI нь тэргүүлэх чиглэлийн тухай ойлголтгүй, гурван нэмэлт шинж чанарыг нэгэн зэрэг хэрэгжүүлж, гол функцүүдийг дарахад хүргэж болно. Түүнчлэн шинэ алдаа засах бүрт AI хуучин функцүүдийг эргэн хардаггүй, A-г засаад B-г эвдэх регресс асуудал их гардаг. Дүгнэвэл:
- Хамрах хүрээний тэлэлт: AI нь "хэрэглэгчийг баярлуулахын тулд" холбоотой мэт боловч зайлшгүй биш функцүүдийг (жишээ нь тооны машин дээр түүх нэмэх) идэвхтэй нэмдэг.
- Функциональ регресс: AI нь тодорхой алдааг засахдаа дэлхийн логикийг мэдэхгүйгээр нийтлэг функцийг өөрчилж, түүнээс хамаарах бусад функцүүдийн ажиллагааг алдагдуулдаг.
5. Багийн хамтын ажиллагааны урхи
Vibe Coding-ийн ярианы процесс нь хувь хүний AI-тай хувийн харилцаа бөгөөд шилжүүлэн дамжуулах боломжтой техникийн тодорхойлолт эсвэл дизайны шийдвэрийн бичлэг үлдээдэггүй. Багийн өөр өөр гишүүд тус тусад нь AI-тай ярилцаж, өөр өөр хэв маягийн код авах бөгөөд нэгтгэх үед зөрчил их гардаг. Түүнчлэн AI нь commit message эсвэл өөрчлөлтийн лог автоматаар үүсгэдэггүй, кодын хувьслын шалтгаанууд алдагдаж, хожуу засварлагчид зөвхөн таамаглахад хүрдэг. Дүгнэвэл:
- Давтагдашгүй бүтэц: Өөр өөр хүмүүс, өөр өөр хугацаанд ижил prompt ашиглахад AI өөр өөр хэрэгжүүлэлт гаргадаг (дээж авах санамсаргүй байдлаас шалтгаалан).
- Өөрчлөлтийн хяналт дутмаг: Дизайн баримт бичиг байхгүй, "яагаад ингэж өөрчилсөн" гэдгийг тайлбарлах commit message байхгүй, код хар хайрцаг болдог.
评论
暂无已展示的评论。
发表评论(匿名)