AI Code-ன் 80/20 விதி
AI எனது அம்சத்தில் (feature) 80%-ஐ 10 நிமிடங்களில் எழுதிவிட்டது. குறியீடு (code) சுத்தமாக இருந்தது. தர்க்கம் (logic) சரியாக இருந்தது. முதல் முயற்சியிலேயே அது வேலை செய்தது. நான் மகிழ்ச்சியடைந்தேன்.
ஆனால் AI முதல் 80%-க்கு பயனுள்ளது, ஆனால் கடைசி 20%-க்கு பயனற்றது.
AI 'happy path'-க்காக (எல்லாம் சரியாக நடக்கும் சூழல்) மேம்படுத்தப்பட்டுள்ளது. அனைத்தும் சரியாக நடக்கும் ஒரு உலகத்திற்காக அது கட்டமைக்கிறது. ஆனால் உண்மையான மென்பொருள், விஷயங்கள் தவறாக நடக்கும் உலகில் இயங்குகிறது.
நான் சமீபத்தில் ஒரு Sol Email Worker-ஐ உருவாக்கினேன். AI அதன் முக்கிய தர்க்கம் (core logic), threading மற்றும் routing ஆகியவற்றை 20 நிமிடங்களில் உருவாக்கிவிட்டது. அது எளிதான பகுதிதான்.
கடைசி 20% எனது உண்மையான நிபுணத்துவத்தைக் கோரியது:
• Deduplication: நகல் செய்திகளைக் கையாளுதல். • Sender-skip logic: சொந்தச் செய்திகளைச் செயலாக்குவதைத் தவிர்த்தல். • Error recovery: எதிர்பாராத API பதில்களைக் கையாளுதல். • Log output: அதிகாலை 2 மணிக்கு பிழைத்திருத்தத்தை (debugging) சாத்தியமாக்குதல்.
நான் கேட்டதை AI செய்தது. ஆனால் 'edge cases' (விதிவிலக்கான சூழல்கள்) பற்றி நான் இன்னும் யோசிக்காததால், அவற்றைப் பற்றி கேட்கத் தவறிவிட்டேன்.
நமக்கு ஒரு அளவீட்டுப் பிரச்சனை உள்ளது. நாம் குறியீட்டின் வரிகள் (lines of code) மற்றும் முடிக்கப்பட்ட டிக்கெட்டுகளை (closed tickets) மட்டுமே கண்காணிக்கிறோம். இந்த அளவீடுகள் விரைவான 80%-க்கு மட்டுமே வெகுமதி அளிக்கின்றன. பிழை கையாளுதல் (error handling) அல்லது null சோதனைகளுக்காகச் செலவிடப்படும் நேரத்தை யாரும் கண்காணிப்பதில்லை.
அந்த 20% ஒரு டேஷ்போர்டில் (dashboard) தெரிவதில்லை, ஆனால் உண்மையான வேலை அங்கேயே நடக்கிறது. நான் இப்போது 'prompt-to-ship' நேரத்தைக் கண்காணிக்கிறேன். இது முதல் பிராம்ப்ட்டிலிருந்து (prompt) ஒரு நிலையான தயாரிப்பு அம்சமாக (stable production feature) மாறும் வரையிலான நேரமாகும். இந்த எண் எப்போதும் AI உருவாக்கும் நேரத்தை விட குறைந்தது 4 மடங்கு அதிகமாக இருக்கும்.
நான் இப்போது வேலை செய்யும் விதம் இதோ:
- ஒவ்வொரு பணிக்கும் AI எடுத்துக்கொள்ளும் நேரத்தைப் போல 4 மடங்கு நேரத்தை ஒதுக்குகிறேன்.
- நான் 'unhappy path'-க்காக பிராம்ப்ட் செய்கிறேன். நெட்வொர்க் தோல்வியடைவது அல்லது API 'null'-ஐத் தருவது போன்ற சூழல்களைக் கருத்தில் கொள்ளுமாறு AI-யிடம் கூறுகிறேன்.
- முதல் வரைவை ஒரு தொடக்கப் புள்ளியாகவே கருதுகிறேன், அது இறுதி இலக்கல்ல.
30 வினாடி உருவாக்கத்திற்குப் பிறகு பிழை கையாளுதலில் நான் செலவிட்ட 3 மணிநேரம் வீணடிக்கப்படவில்லை. அதுதான் உண்மையான வேலை. AI வேலையை கட்டமைப்பை எழுதுவதிலிருந்து, குறியீட்டை உண்மையானதாக மாற்றுவதற்கு மாற்றியுள்ளது.
குறியீட்டை உண்மையானதாக மாற்றுவது மெதுவான செயல். அதற்கு உங்கள் குறிப்பிட்ட சூழல் (context), உங்கள் பயனர்கள் மற்றும் உங்கள் codebase வரலாறு தேவை. நிபுணத்துவம் என்பது அதுதான்.
AI தெரிந்த பகுதிகளில் வேலை செய்கிறது. ஆனால் edge cases எப்போதும் தெரியாத புதிய பகுதிகளாகவே இருக்கும்.
அடுத்த முறை ஒரு AI டெமோ உங்களை வியக்க வைத்தால், டெமோ முடிந்த பிறகு என்ன நடந்தது என்று கேட்டுப் பாருங்கள்.
Source: https://dev.to/amrree/the-8020-rule-of-ai-code-id
Optional learning community: https://t.me/GyaanSetuAi
