AI 10 நிமிடங்களில் 80% எழுதியது. கடைசி 20% எடுக்க 6 மணிநேரம் ஆனது.
AI சில நிமிடங்களில் எளிமையான பாதையை (happy path) உருவாக்கிவிடும். ஆனால் உண்மையான உற்பத்திச் சூழலை (production reality) அதனால் உருவாக்க முடியாது.
நான் ஒரு AI ஏஜென்ட் மூலம் 47 அம்சங்களைக் (features) கண்காணித்தேன். நான் இரண்டு விஷயங்களை அளவிட்டேன்:
- உருவாக்கும் நேரம் (Generation time): முதல் ப்ராம்ப்ட்டிலிருந்து (prompt) ஒரு முடிக்கப்பட்ட PR வரை.
- வெளியிடும் நேரம் (Ship time): PR-லிருந்து உண்மையான மெர்ஜ் (merge) வரை.
இந்த விகிதம் எப்போதும் கிட்டத்தட்ட 80/20 ஆகத்தான் இருக்கும். AI 80% வேலையை வேகமாகச் செய்துவிடும். ஆனால் கடைசி 20% அதிக நேரத்தை எடுத்துக்கொள்ளும்.
நீங்கள் கொடுக்கும் ப்ராம்ப்ட்டிற்கு ஏற்ப AI குறியீட்டை (code) எழுதுகிறது. நீங்கள் குறிப்பிடாத விஷயங்களால்தான் தாமதம் ஏற்படுகிறது. நீங்கள் சிந்திக்கத் தவறிய விஷயங்களிலிருந்தே அது உருவாகிறது.
விடுபட்ட அந்த 20% பொதுவாக ஐந்து வகைகளாகப் பிரிக்கலாம்:
- காலியான நிலைகள் (Empty states): பயனரிடம் தரவு இல்லாதபோது UI எப்படி இருக்கும்?
- பிழை கையாளுதல் (Error handling): நெட்வொர்க் தோல்வியடையும் போது அல்லது ஒரு API 500 பிழையைத் தரும்போது என்ன நடக்கும்?
- டொமைன் விளிம்பு நிலைச் சூழல்கள் (Domain edge cases): உள்ளூர் கட்டண முறைகள் அல்லது பழைய தரவு (legacy data) போன்ற குறிப்பிட்ட விதிகள்.
- செயல்திறன் (Performance): 50 வரிசைகளுக்கு வேலை செய்யும் குறியீடு, 5 மில்லியன் வரிசைகளில் செயலிழந்துவிடும்.
- பராமரிப்புத் திறன் (Maintainability): இன்று வேலை செய்யும் குறியீடு, நாளை மாற்ற கடினமாக இருக்கலாம்.
நான் AI-ஐ ஒரு மந்திரக்கோலாகக் கருதுவதை நிறுத்திவிட்டேன். நேரத்தைச் சேமிக்க இந்த நான்கு விதிகளைப் பயன்படுத்தத் தொடங்கினேன்:
- 4 மடங்கு நேரத்தை ஒதுக்குங்கள். ஒரு வேலைக்கு 10 நிமிடங்கள் ஆகும் என்று AI சொன்னால், 40 நிமிடங்களுக்குத் திட்டமிடுங்கள்.
- முதலில் 'unhappy path'-க்காக ப்ராம்ப்ட் கொடுங்கள். முக்கிய லாஜிக்கை (main logic) எழுதுவதற்கு முன்பே, காலியான உள்ளீடுகள் அல்லது நெட்வொர்க் தோல்விகளைக் கையாளுமாறு AI-இடம் கேளுங்கள்.
- முதலில் தோல்விச் சோதனைகளை (failure tests) எழுதுங்கள். AI குறியீட்டை உருவாக்குவதற்கு முன்பே, எது தோல்வியடைய வேண்டும் என்பதை வரையறுக்கவும்.
- ஒரு 20% இதழை (journal) பராமரியுங்கள். ஒரு அம்சத்தின் கடைசிப் பகுதி ஏன் இவ்வளவு நேரம் எடுத்தது என்பதை எழுதி வையுங்கள். இது நீங்கள் மீண்டும் மீண்டும் நிகழும் சிக்கல்களைக் கண்டறிய உதவும்.
AI உங்கள் தட்டச்சு வேகத்தை அதிகரிக்கிறது. ஆனால் நீங்கள் முன்கூட்டியே சிந்திக்காவிட்டால், அது உங்கள் வெளியீட்டு வேகத்தை (shipping speed) அதிகரிக்காது. ப்ராம்ப்ட்களை வேகமாக எழுதுவது இலக்கல்ல. அம்சங்களை வெற்றிகரமாக உற்பத்திச் சூழலுக்கு (production) கொண்டு செல்வதே இலக்காகும்.
AI கருவியைத் திறப்பதற்கு முன்பே சிக்கலைப் பற்றிச் சிந்தியுங்கள். ஒரு பயனர் எங்கே தவறு செய்யக்கூடும் என்பதற்கு உங்களால் பதில் சொல்ல முடியாவிட்டால், குறியீட்டை எழுதத் தொடங்காதீர்கள்.
Source: https://dev.to/susiloharjo/ai-wrote-80-in-10-minutes-the-last-20-took-6-hours-5764
Optional learning community: https://t.me/GyaanSetuAi
