GitHub Copilot, ChatGPT, அல்லது Cursor ஆகியவற்றைப் பயன்படுத்தத் தொடங்கிய டெவலப்பர்கள் பெரும்பாலும் ஒரே மாதிரியான ஆரம்பகால உற்சாகக் காலத்தைப் (honeymoon phase) பற்றி விவரிக்கிறார்கள். ஒரு காலத்தில் இரண்டு மணிநேரம் எடுத்த வேலைகள் இப்போது இருபது நிமிடங்களில் முடிந்துவிடுகின்றன. ஒரு டேப் (tab) விசையிலேயே அடிப்படை குறியீடுகள் (Boilerplate) மறைந்துவிடுகின்றன. ஆனால் விரைவில், ஃபோரம்கள் மற்றும் Slack சேனல்களில் ஒரு அமைதியான புகார் எழத் தொடங்குகிறது: சோர்வு (exhaustion). கருவி குறியீட்டை எழுதுகிறது, ஆனால் அந்தச் செயல்பாட்டில் ஏதோ ஒன்று உங்களைச் சோர்வடையச் செய்கிறது. பிரச்சனை குறியீட்டில் இல்லை; அதை உள்வாங்குவதில் (consuming) உள்ள வேலையில் தான் உள்ளது.
யாரும் எதிர்பார்க்காத ஒரு தடை
பல தசாப்தங்களாக, மென்பொருள் பொறியியலில் தடையானது தட்டச்சு செய்யும் வேகமாக இருந்தது. நீங்கள் எவ்வளவு வேகமாகச் சிந்தித்தாலும், உங்கள் விரல்களும் உங்கள் தொடரியல் (syntax) அறிவும் ஒரு எல்லையை நிர்ணயித்தன. AI உதவியாளர்கள் அந்த எல்லையைத் தகர்த்தெறிந்தனர். நீங்கள் முதல் தொகுப்பைப் படித்து முடிப்பதற்கு முன்பே, அவை பல கோப்புகளில் நூற்றுக்கணக்கான வரிகளை உருவாக்க முடியும். அந்த வேகம் சுதந்திரம் போலத் தோன்றலாம், ஆனால் அது எதிர்பாராத ஒரு போக்குவரத்து நெரிசலை உருவாக்குகிறது. திடீரென்று, உங்கள் பணிப்பாய்வின் (pipeline) மிக மெதுவான பகுதி, திரையில் தோன்றும் விஷயங்களை வாசிக்கவும், புரிந்துகொள்ளவும் மற்றும் சரிபார்க்கவும் உங்களுக்கு இருக்கும் திறனாக மாறிவிடுகிறது. நீங்கள் உங்கள் சொந்தத் திட்டத்தின் முழுநேரக் குறியீடு ஆய்வாளராக (code reviewer) மாறிவிடுகிறீர்கள், ஆனால் இங்கே ஆசிரியர் தூங்காத மற்றும் சோர்வடையாத ஒரு அல்காரிதம் என்பதுதான் வித்தியாசம்.
வேலையின் இந்தத் தலைகீழ் மாற்றம், ஒரு கோடிங் அமர்வின் தன்மையையே மாற்றுகிறது. உருவாக்கம் மற்றும் லேசான சரிபார்ப்பு ஆகியவற்றிற்கு இடையே மாறி மாறிச் செயல்படுவதற்குப் பதிலாக, நீங்கள் நீண்ட கால சரிபார்ப்பு நிலையிலேயே (validation mode) சிக்கிக்கொள்கிறீர்கள். சரிபார்ப்பு என்பது வெறும் வாசிப்பு மட்டுமல்ல. அது சந்தேகத்துடன் கூடிய ஒரு தீவிரமான பகுப்பாய்வு. ஒவ்வொரு மாறிப் பெயரும் (variable name), ஒவ்வொரு எல்லை நிபந்தனையும் (boundary condition), மற்றும் ஒவ்வொரு இறக்குமதி அறிக்கையும் (import statement) ஒரு மன ரீதியான வடிகட்டியைத் தாண்ட வேண்டும், ஏனெனில் AI-க்கு இதில் எந்தப் பொறுப்பும் இல்லை. தயாரிப்புப் பணி (production job) தோல்வியடையும் போது, அதிகாலை 3 மணிக்கு அது உங்களைத் தேடி வரப்போவதில்லை.
ஏன் உங்கள் மூளை சோர்வடைகிறது
இந்தச் சோர்வு சோம்பேறித்தனம் அல்ல. இது மிக வேகமான வெளியீடு மற்றும் மனிதனின் வரையறுக்கப்பட்ட ஆற்றல் ஆகியவற்றிற்கு இடையே ஏற்படும் ஒரு கணிக்கக்கூடிய மோதல்.
அதிகப்படியான அளவு (Volume overload). ஒரு சாதாரண AI பரிந்துரையில் ஒரு முழு React component, அதன் ஸ்டைலிங் லாஜிக், பயன்பாட்டுச் செயல்பாடுகள் (utility functions) மற்றும் யூனிட் டெஸ்ட்கள் (unit tests) என அனைத்தும் ஒரே நேரத்தில் இருக்கலாம். உங்கள் செயல்பாட்டு நினைவகத்தால் (working memory) ஒரே நேரத்தில் ஒரு குறிப்பிட்ட அளவு மட்டுமே தகவல்களைச் சேமிக்க முடியும். திரை பல டஜன் புதிய வரிகளால் நிரம்பும்போது, உங்கள் மூளை அவற்றைச் சுருக்கமான வடிவங்களாக மாற்ற வேண்டும் அல்லது ஒவ்வொன்றாகப் படிக்க வேண்டும். இந்த இரண்டு உத்திகளுமே உங்கள் கவனத்தைச் செலவிடுகின்றன. பல தொகுப்புகளை ஆய்வு செய்த பிறகு, மன ரீதியான சோர்வு ஏற்படுகிறது. நீங்கள் வாசிக்கிறீர்கள், ஆனால் உண்மையாகப் புரிந்துகொள்வதில்லை.
நம்பிக்கை இடைவெளி (The trust gap). AI உருவாக்கிய குறியீடு மிகவும் அதிகாரப்பூர்வமாகத் தோன்றும். அடுக்கமைப்பு (Indentation) சரியாக இருக்கும். மாறிப் பெயர்கள் அர்த்தமுள்ளதாக இருக்கும். கருத்துகள் (Comments) சரியான இடங்களில் இருக்கும். ஆனால் அதிகாரம் என்பது துல்லியம் அல்ல. அந்த குறியீடு காலாவதியான (deprecated) ஒரு API-ஐப் பயன்படுத்தலாம், null உள்ளீடுகள் தொடர்பான ஒரு விளிம்பு நிலைச் சூழலை (edge case) தவறவிடலாம் அல்லது ஒரு நுட்பமான SQL injection பாதிப்பை ஏற்படுத்தலாம். இது நடக்கக்கூடும் என்று உங்களுக்குத் தெரியும் என்பதால், உங்களால் மேலோட்டமாகப் பார்க்க முடியாது. ஒவ்வொரு return statement மற்றும் ஒவ்வொரு லாஜிக் கிளையையும் ஒரு பாதுகாப்புத் தணிக்கையின் (security audit) விழிப்புணர்வுடன் நீங்கள் ஆய்வு செய்ய வேண்டும். பல மணிநேரம் தொடரும் அந்தத் தீவிரமான ஆய்வு, மூளைக்கு அதிகச் சுமை தரும். விமானப் பாதுகாப்பு சோதனையாளர்கள் ஏன் குறுகிய நேர மாற்றுகளில் வேலை செய்கிறார்கள் என்பதற்கே இது ஒரு காரணம்: தொடர்ச்சியான விழிப்புணர்வு விரைவாகக் குறையும்.
பணிப்பாய்வுப் பொருந்தாமை (Workflow mismatch). பெரும்பாலான மேம்பாட்டுச் சூழல்களும் (development environments) குழு செயல்முறைகளும் இன்னும் ஒரு மனிதன் முதலில் எழுதிவிட்டுப் பிறகு சோதனை செய்யும் முறையையே கருத்தில் கொள்கின்றன. குறியீட்டுத் தொகுப்பு (codebase) மனித வேகத்தில் வளர்கிறது, மேலும் குறியீடு ஆய்வுகள் (code reviews) திட்டமிடப்பட்ட தொகுதிகளாக நடக்கின்றன. AI அந்தப் பணிப்பாய்வில் புகுத்தப்படும்போது, அந்த ஓட்டம் சிதறுகிறது. நீங்கள் இருபது வரிகளை உருவாக்குகிறீர்கள், சரிபார்க்கத் தயங்குகிறீர்கள், திருத்தத்தைக் கேட்கிறீர்கள், மீண்டும் சரிபார்க்கிறீர்கள், அடுத்த செயல்பாட்டிற்குச் செல்கிறீர்கள், அதன் மூலம் ஒட்டுமொத்த கட்டமைப்பின் தொடர்பையும் இழக்கிறீர்கள். ஆக்கப்பூர்வமான உருவாக்கம் மற்றும் சந்தேகத்துடன் கூடிய சரிபார்ப்பு ஆகியவற்றிற்கு இடையே தொடர்ச்சியாக மாறும் இந்தச் சூழல் (context switching) ஒரு உராய்வை உருவாக்குகிறது. உங்கள் IDE என்பது எழுத்தாளர்களுக்காக வடிவமைக்கப்பட்டது, தொடர்ச்சியான காலக்கெடுவுக்குள் வேலை செய்யும் எடிட்டர்களுக்காக அல்ல.
சோர்வுச் சுழற்சி
இந்தக் காரணிகள் நாள் செல்லச் செல்ல மோசமடையும் ஒரு சுழற்சியை உருவாக்குகின்றன.
உதவியாளர் சில நொடிகளில் ஒரு அம்சத்தை உருவாக்கித் தருகிறார். நீங்கள் பிறகு பதினைந்து நிமிடங்கள் இறக்குமதிகளை (imports) தேடவும், வகை இணக்கத்தன்மையை (type compatibility) சரிபார்க்கவும் மற்றும் விளிம்பு நிலைச் சூழல்களை மனதிற்குள் சிமுலேட் செய்யவும் செலவிடுகிறீர்கள். மூன்றாவது அல்லது நான்காவது சுற்றிற்கு வரும்போது, உங்கள் கவனம் குறைகிறது. "பெரும்பாலும் சரியாகத் தோன்றும்" துணுக்குகளை நீங்கள் அப்படியே ஏற்றுக்கொள்ளத் தொடங்குகிறீர்கள். பிழைகள் தப்பித்துச் செல்கின்றன. இதைச் சரிசெய்ய, நீங்கள் வேகத்தைக் குறைக்கிறீர்கள், இது நீங்கள் முதலில் பெற்ற வேகத்தையே வீணாக்குகிறது. அன்றைய முடிவில், வழக்கத்தை விட அதிகக் குறியீட்டுடன் முடித்தாலும், அதன் மீது குறைந்த நம்பிக்கையுடனும், நீங்கள் புத்திசாலித்தனமாகச் செயல்படவில்லை, கடினமாக உழைத்துவிட்டீர்கள் என்று உணர்த்தும் ஒரு தலைவலியுடனும் அன்றைய நாளை முடிக்கிறீர்கள்.
வேகம் எப்போது ஆபத்தானது
இந்த முறை ஒரு வழக்கமாக மாறிவிட்டால், அதன் பாதிப்பு ஒரு மோசமான மதிய நேரத்தைத் தாண்டிச் செல்லும்.
மனச்சோர்வு (Burnout) அமைதியாக வருகிறது. ஒரு திட்டத்தைத் திறக்கும்போது ஏற்படும் பயமாகவோ அல்லது எரிச்சலின்றி மற்றொரு குறியீட்டுத் தொகுப்பைப் பார்க்க முடியாத நிலையாகவோ இது வெளிப்படும். உங்களுக்கு உதவ வேண்டிய முதன்மைத் கருவியே சோர்வின் முதன்மை ஆதாரமாக மாறும்போது, அதன்பின் மனக்கசப்பு ஏற்படும்.
பிறகு, திறன் தேய்மானம் ஏற்படுகிறது. நீங்கள் அதைச் செய்வதை நிறுத்தும்போது, ஒரு நோக்கத்தை தொடரியலாக மாற்றும் திறன் பலவீனமடைகிறது. நீங்கள் இன்னும் அமைப்புகளைச் சிறப்பாக வடிவமைக்கலாம், ஆனால் நுணுக்கமான சரளத்தன்மை — அதாவது, ஒரு குறிப்பிட்ட லூப் அமைப்பு ஏன் சரியாகத் தெரியவில்லை என்பதை அறிவது அல்லது ஒரு குறிப்பிட்ட லைப்ரரி அதிக சுமையின் கீழ் எவ்வாறு செயல்படுகிறது என்பதை நினைவுகூறுவது போன்றவை, ஒரு ஆட்டோகம்ப்ளீட் அடுக்கு விவரங்களைக் கையாளத் தொடங்கும் போது மங்கிவிடும். காலப்போக்கில், நீங்கள் ஒரு தீவிரமான பொறியாளராக இருப்பதற்குப் பதிலாக, ஒரு செயலற்ற தொகுப்பாளராக மாறும் அபாயம் உள்ளது.
இருப்பினும், மிக உடனடியான ஆபத்து, கவனக்குறைவான பயன்பாடு ஆகும். வேகத்தைத் தக்கவைத்துக் கொள்ள வேண்டிய அழுத்தம் மற்றும் பல மணிநேரம் இயந்திர வெளியீடுகளை வாசித்ததால் ஏற்படும் சோர்வு ஆகியவற்றால், டெவலப்பர்கள் சில நேரங்களில் தாங்கள் முழுமையாகச் சரிபார்க்காத குறியீடுகளைப் பயன்பாட்டிற்கு கொண்டு வருகிறார்கள்.
