← 返回列表

AI நேர்காணல் தொடர் 15: Vibe Coding இன் பொதுவான குறைபாடுகள் என்ன?

Vibe Coding இன் "உணர்வு/சூழல் இயக்க" முறை விரைவான முன்மாதிரி மற்றும் ஆக்கப்பூர்வமான ஆய்வுகளில் மிகவும் சிறப்பாக இருந்தாலும், கட்டுப்பாடு இல்லாமல் இருந்தால், சில பொதுவான குறைபாடுகளில் எளிதில் சிக்கிக்கொள்ளும். கீழே குறியீட்டுத் தரம், பராமரிப்புத்திறன், பாதுகாப்பு, தேவை மாற்றங்கள், குழு ஒத்துழைப்பு ஆகிய ஐந்து பரிமாணங்களில் சுருக்கமாகக் கூறப்பட்டுள்ளது.


一、குறியீட்டுத் தர குறைபாடு

Vibe Coding உரையாடல் சார்ந்த மறு செய்கையைச் சார்ந்திருப்பதால், பயனர் ஒவ்வொரு முறையும் தெளிவற்ற மாற்றுத் தேவைகளை முன்வைக்கும்போது (எ.கா., "இந்த பொத்தானை மேலும் தொழில்நுட்ப உணர்வுடன் மாற்று"), AI பழைய தர்க்கத்தை மறுகட்டமைப்பதற்குப் பதிலாக புதிய குறியீட்டைச் சேர்ப்பதில் சாய்வாக இருக்கும். எந்தப் பழைய குறியீடு தற்போது பயனற்றது என்பது அதற்குத் தெரியாது, மேலும் எளிதில் நீக்கவும் தயங்கும், இதனால் மிகைப்பு மற்றும் இறந்த குறியீடு தொடர்ந்து குவிகிறது. மேலும், AI ஒரு ஒருங்கிணைந்த "குறியீட்டு பாணி நினைவகத்தை" கொண்டிருக்கவில்லை, ஒவ்வொரு முறை உருவாக்கும்போதும் வெவ்வேறு பெயரிடும் மரபுகளைப் பின்பற்றலாம் (பயிற்சி மாதிரிகளின் சீரற்ற தன்மையைப் பொறுத்து), மேலும் பயனர் அரிதாகவே தெளிவான விதிமுறைகளை வழங்குவதால், இறுதியில் குறியீடு ஒழுங்கற்றதாகவும் கணிக்க முடியாததாகவும் மாறும். சுருக்கமாக:

  1. மிகைப்பு மற்றும் இறந்த குறியீடு: பல முறை திருத்தங்களுக்குப் பிறகு, AI பழைய செயலாக்கங்கள், கருத்துரைக்கப்பட்ட குறியீட்டுத் தொகுதிகள், பயன்படுத்தப்படாத இறக்குமதிகளை விட்டுச்செல்லும், ஏனெனில் நீக்குவதில் அதிக ஆபத்து இருப்பதால் அவற்றைத் தக்கவைக்க முடிவு செய்கிறது.
  2. சீரற்ற பெயரிடல் மற்றும் பாணி: AI வெவ்வேறு சுற்றுகளில் பயிற்சித் தரவிலிருந்து சீரற்ற முறையில் பாணிகளை எடுக்கிறது; பயனர் கட்டாயப்படுத்தவில்லை என்றால், camelCase, underscore, spaces கலந்து பயன்படுத்தப்படும்.
  3. மறைந்த தர்க்கப் பிழைகள்: AI "பொதுவான பாதை" சரியான குறியீட்டை உருவாக்க முனைகிறது, ஆனால் எல்லை நிபந்தனைகள் (null மதிப்புகள், தீவிர மதிப்புகள், இணைச் செயல்பாடு) பெரும்பாலும் புறக்கணிக்கப்படுகின்றன, ஏனெனில் பயிற்சித் தரவில் இத்தகைய மாதிரிகள் குறைவு.

二、பராமரிப்புத்திறன் குறைபாடு

Vibe Coding இன் மறு செய்கை வேகம் மிக அதிகமாக உள்ளது, பயனர் மற்றும் AI இருவரும் "தற்போதைய செயல்பாடு இயங்குகிறதா" என்பதில் மட்டுமே கவனம் செலுத்துகின்றனர், ஆவணப்படுத்தல், கருத்துரை அல்லது மறுகட்டமைப்புக்கு நேரமில்லை. AI நீண்டகால நினைவகம் இல்லாததால், செயல்பாடுகளுக்கு docstring சேர்க்க முன்வராது, அடுத்து வரும் மேம்பாட்டாளரையும் கருத்தில் கொள்ளாது. மேலும், AI "தற்போதைய தேவையை சமாளிக்க" முனைகிறது, ஒன்று பொதுவான கட்டமைப்பை மிகையாக வடிவமைக்கும் (பயனருக்கு எதிர்காலத்தில் தேவைப்படலாம் என்று நினைத்து) அல்லது விரைவான செயலாக்கத்திற்காக நகலெடுத்து ஒட்டும், இதனால் சுருக்க நிலைகள் குழப்பமாகின்றன. சுருக்கமாக:

  1. ஆவணம் மற்றும் கருத்துரை இல்லாமை: AI இயல்பாக "தானே விளக்கும்" குறியீட்டை வெளியிடுகிறது, ஆனால் உண்மையில் சிக்கலான regex அல்லது அல்காரிதம் புரிந்துகொள்வது கடினம்; பயனர் கேட்காததால், அது ஆவணத்தை எழுதாது.
  2. அதிகப்படியான சுருக்கம் அல்லது போதுமான சுருக்கமின்மை: AI சில நேரங்களில் பொதுவான வடிவமைப்பு முறைகளைப் பயன்படுத்துகிறது (எ.கா., Factory, Strategy), பிரச்சனை எளிமையானதாக இருந்தாலும்; சில நேரங்களில் பொதுவான செயல்பாட்டைப் பிரித்தெடுக்கும் கஷ்டம் காரணமாக, நேரடியாக குறியீட்டுத் தொகுதியை நகலெடுக்கும்.

三、பாதுகாப்பு குறைபாடு

AI இன் பயிற்சித் தரவில் ஏராளமான திறந்த மூலக் குறியீடுகள் உள்ளன, அவற்றில் பல வரலாற்றுப் பாதிப்புகள் உள்ளன (எ.கா., SQL concatenation, hardcoded keys). Vibe Coding இல், பயனர் "parametrized query ஐப் பயன்படுத்து" அல்லது "சூழல் மாறியிலிருந்து key ஐப் படி" போன்றவற்றை அரிதாகவே கேட்பதால், AI மிகவும் பொதுவான (பெரும்பாலும் பாதுகாப்பற்ற) முறையைப் பயன்படுத்துகிறது. மேலும், AI "அச்சுறுத்தல் மாதிரி" உணர்வைக் கொண்டிருக்கவில்லை, உள்ளீட்டு வடிகட்டுதல், குறைந்தபட்ச அனுமதி ஆகியவற்றைச் சரிபார்க்க முன்வராது, ஏனெனில் அது செயல்பாட்டை மட்டுமே கவனிக்கிறது. சுருக்கமாக:

  1. Injection பாதிப்புகள்: AI இயல்பாக SQL/கட்டளைகளை string concatenation மூலம் உருவாக்குகிறது, ஏனெனில் இந்த முறை எளிய பயிற்சிகளில் மிகவும் பொதுவானது.
  2. முக்கியத் தகவல்களை hardcode செய்தல்: பயிற்சி மாதிரிகளில் உள்ள எடுத்துக்காட்டுகள் API Key ஐ hardcode செய்யும், AI அந்த முறையைப் பின்பற்றுகிறது.
  3. அதிகப்படியான அனுமதிகள்: AI வசதிக்காக, sudo அல்லது w+ பயன்முறையைப் பயன்படுத்தி கோப்புகளைத் திறக்கும், குறைந்தபட்ச தேவையான அனுமதியைக் கருத்தில் கொள்ளாமல்.

四、தேவை மாற்ற குறைபாடு

Vibe Coding தெளிவான எல்லைகளைக் கொண்டிருக்கவில்லை. பயனர் "இன்னும் ஒரு அம்சத்தைச் சேர்" என்று சொன்னால், AI முடிந்தவரை பூர்த்தி செய்ய முயற்சிக்கும், ஆனால் "எல்லைக்கு வெளியே" என்பது எது என்பது தெரியாது. AI க்கு முன்னுரிமை பற்றிய கருத்தும் இல்லை, இதனால் ஒரே நேரத்தில் மூன்று கூடுதல் அம்சங்களைச் செயல்படுத்தலாம், மையச் செயல்பாடு மூழ்கிவிடும். அதே நேரத்தில், ஒவ்வொரு முறை புதிய bug ஐ சரிசெய்யும்போது, AI பழைய செயல்பாடுகளை மதிப்பாய்வு செய்யாது, A ஐ சரிசெய்து B ஐ உடைக்கும் சிக்கல் அடிக்கடி ஏற்படுகிறது. சுருக்கமாக:

  1. எல்லை விரிவாக்கம்: AI "பயனரை மகிழ்விக்க" முன்வருகிறது, இதனால் தொடர்புடையதாகத் தோன்றும் ஆனால் தேவையற்ற அம்சங்களைச் சேர்க்கும் (எ.கா., கால்குலேட்டரில் வரலாறு சேர்ப்பது).
  2. செயல்பாட்டுச் சீரழிவு: AI ஒரு bug ஐ சரிசெய்யும்போது, முழு தர்க்கத்தையும் புரிந்துகொள்ளாமல், ஒரு பொதுவான செயல்பாட்டை மாற்றியமைத்து, அதைச் சார்ந்த மற்ற செயல்பாடுகளைப் பாதிக்கும்.

五、குழு ஒத்துழைப்பு குறைபாடு

Vibe Coding இன் உரையாடல் செயல்முறை தனிப்பட்ட மற்றும் AI க்கு இடையிலான தனிப்பட்ட தொடர்பு ஆகும், இது அனுப்பக்கூடிய விவரக்குறிப்பு ஆவணங்கள் அல்லது வடிவமைப்பு முடிவுக் குறிப்புகளை விடவில்லை. வெவ்வேறு குழு உறுப்பினர்கள் தனித்தனியாக AI உடன் உரையாடுகிறார்கள், அவர்கள் பெறும் குறியீட்டு பாணிகள் வேறுபட்டவை, ஒன்றிணைக்கும்போது பல முரண்பாடுகள் ஏற்படுகின்றன. மேலும், AI தானாக commit message அல்லது மாற்றப் பதிவுகளை உருவாக்காது, குறியீட்டின் பரிணாம வளர்ச்சிக்கான காரணம் இழக்கப்படுகிறது, பின்னர் வரும் பராமரிப்பாளர்கள் யூகிக்க மட்டுமே முடியும். சுருக்கமாக:

  1. மறு உருவாக்க முடியாத கட்டுமானம்: வெவ்வேறு நபர்கள், வெவ்வேறு நேரத்தில் ஒரே prompt ஐப் பயன்படுத்தினால், AI வெவ்வேறு செயலாக்கங்களை வெளியிடும் (மாதிரி சீரற்ற தன்மை காரணமாக).
  2. மாற்றக் கண்காணிப்பு இல்லாமை: வடிவமைப்பு ஆவணங்கள் இல்லை, commit message இல்லை "ஏன் இந்த மாற்றம்" என்பதை விளக்க, குறியீடு ஒரு கருப்பு பெட்டியாக மாறும்.

评论

暂无已展示的评论。

发表评论(匿名)