Vibe Coding-ன் தோற்றம்

நீங்கள் ஒவ்வொரு வரியையும் தட்டச்சு செய்வதை நிறுத்திய அந்த நாளை நினைவுகூருங்கள். நீங்கள் Tab விசையை அழுத்தி, ஒரு Large Language Model (LLM) உங்கள் எண்ணங்களை முழுமையாக்க அனுமதிக்கத் தொடங்கினீர்கள்.

2024 மற்றும் 2025 தொடக்கத்திற்கு இடையில், மென்பொருள் உருவாக்கம் (software development) மாறியது. நாம் கடுமையான தொடரியல் (strict syntax) முறையிலிருந்து ஒரு தடையற்ற ஓட்ட நிலைக்கு (state of pure flow) மாறினோம். Andrej Karpathy இதை Vibe Coding என்று அழைக்கிறார்.

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

இது ஒரு சூப்பர் பவர் (superpower) போலத் தோன்றுகிறது. சர்வர்களை அமைப்பது அல்லது SQL queries எழுதுவது போன்ற பணிகள் சில நொடிகளில் முடிந்துவிடுகின்றன. தனிப்பட்ட டெவலப்பர்கள் முன்னெப்போதையும் விட வேகமாகத் தயாரிப்புகளைத் (products) சந்தையில் அறிமுகப்படுத்துகிறார்கள்.

ஆனால் இந்த வேகத்தில் ஒரு பொறி உள்ளது.

அடிப்படைகளைப் புரிந்து கொள்ளாமல் நீங்கள் குறியீட்டை (code) AI-யிடம் ஒப்படைக்கும்போது, உங்கள் விமர்சனச் சிந்தனை (critical thinking) குறைகிறது. நீங்கள் ஒரு கருப்புப் பெட்டியை (black box) சார்ந்திருக்கிறீர்கள். உங்களுக்கு வேகமான குறியீடு கிடைக்கிறது, ஆனால் அது பராமரிக்கக்கூடியதாக (maintainable) இருக்குமா என்பது உங்களுக்குத் தெரியாது.

Vibe Coding சுழற்சி இவ்வாறு அமைகிறது:

  • ஒரு வசதியை (feature) சேர்க்க ஒரு prompt-ஐ எழுதுங்கள்.
  • குறியீட்டை இயக்கி அது வேலை செய்கிறதா என்று பாருங்கள்.
  • அது தோல்வியடைந்தால், பிழையை (error) மீண்டும் AI-யிடம் நகலெடுத்து அதைச் சரிசெய்யச் சொல்லுங்கள்.

இது முன்மாதிரிகளுக்கு (prototypes) வேலை செய்யும். ஆனால் உண்மையான கட்டமைப்பிற்கு (real architecture) இது தோல்வியடையும். இது Frankenstein code-க்கு வழிவகுக்கிறது.

Frankenstein code என்பது ஒன்றாகத் தைக்கப்பட்ட AI துண்டுகளின் குழப்பமாகும். ஒவ்வொரு பகுதியும் ஒரு சிறிய சிக்கலைத் தீர்க்கிறது, ஆனால் முழு அமைப்பிற்கும் ஒரு தெளிவான பார்வை (vision) இருப்பதில்லை.

உங்கள் திட்டம் வளரும்போது, நீங்கள் இந்த சிக்கல்களைக் காண்பீர்கள்:

  • முரண்பட்ட முறைகள் (Inconsistent patterns). AI ஒவ்வொரு கோப்பிலும் வெவ்வேறு பாணிகளைப் பயன்படுத்துகிறது.
  • தீவிர இணைப்பு (Extreme coupling). AI எளிதான வழியைத் தேர்ந்தெடுத்து மாட்யூல் எல்லைகளை (module boundaries) உடைக்கிறது.
  • சூழல் பார்வை இல்லாமை (Context blindness). AI ஏற்கனவே உள்ள செயல்பாடுகளை (functions) மறந்துவிட்டு, நகல்களை அல்லது புதிய பிழைகளை உருவாக்குகிறது.

இதன் விளைவாக ஒரு பலவீனமான அமைப்பு உருவாகிறது. எந்த மனிதனுக்கும் அதைத் தெளிவாகப் புரிந்துகொள்ள முடியாது. மற்ற அனைத்தையும் சிதைக்காமல் AI அதை மாற்ற முடியாது.

Vibe Coding மென்பொருள் உருவாக்கத்தை எளிதாக்கியது. இது சலிப்பூட்டும் பணிகளை நீக்கியது. ஆனால் திசை தெரியாத வேகம் தொழில்நுட்பத் திவாலுக்கு (technical bankruptcy) வழிவகுக்கும்.

அளவிடக்கூடிய அமைப்புகளை (scalable systems) உருவாக்க, வெறும் 'vibes' மட்டும் போதாது. உங்களுக்குத் துல்லியம் மற்றும் தரக் கட்டுப்பாடு (rigor and quality control) தேவை.

Source: https://dev.to/jcmexdev/el-origen-del-vibe-coding-j00

விருப்பத்தேர்வு கற்றல் சமூகம்: https://t.me/GyaanSetuAi