புயலில் ஒரு போராட்டம்
Angelo என்று பெயரிடப்பட்ட ஒரு இயந்திரத்தை உருவாக்க நான் பல மாதங்களைச் செலவிட்டேன்.
நான் குறியீட்டை (code) உற்று நோக்கினேன், ஒருவிதமான அச்சம் ஏற்பட்டது. இது வேலை செய்யுமா?
நான் கடைசி முறையாக குறியீட்டைச் சரிபார்த்தேன். ஒரு தவறை நான் கண்டறிந்தேன். எனது குறிப்பேட்டில் இவ்வாறு எழுதினேன்: மூன்று ஏஜெண்டுகளும் (agents) என்றென்றும் காத்திருக்கும்.
நான் பொத்தானை அழுத்தினேன். மூன்று டிஜிட்டல் ஏஜெண்டுகள் தொடங்கின. ஒன்று பொறுமையற்றது. ஒன்று ஒரு நீதிபதி. ஒன்று ஒரு சந்தேகவாதி.
அவை அனைத்தும் அமைதியடைந்தன. ஒரு நிமிடம் கடந்தது. மூன்று நிமிடங்கள் கடந்துவிட்டன. திரையில் எந்த வெளியீடும் (output) தெரியவில்லை.
ஒரு LLM ஏஜென்ட் நிகழ்தகவின் (probability) அடிப்படையில் செயல்படுகிறது. உள்ளீடு (input) காலியாக இருந்தால், வெளியீடு கிடைப்பதற்கான நிகழ்தகவு பூஜ்ஜியம். காத்திருக்கும் நேரம் முடிவிலியாகிவிடும்.
அதைச் சரிசெய்ய இருபது வரிகள் தேவைப்பட்டன. நான் ஏஜெண்டுகளுக்குத் தேவையான அறிவுறுத்தல்களைக் கொடுத்துவிட்டு, மீண்டும் பொத்தானை அழுத்தினேன். இந்த முறை, அவை செயல்பட்டின. சந்தேகவாதி வெற்றி பெற்றான்.
நான் நிம்மதி அடைந்தேன். பிறகு சிஸ்டம் மீண்டும் செயலிழந்தது.
ஒரு Git பிழை (error) தோன்றியது. நான் lock file-ஐ நீக்கினேன். அடுத்ததாக compiler தோல்வியடைந்தது. எனது சொந்தக் குறியீட்டிற்குள்ளேயே ஒரு கண்ணுக்குத் தெரியாத எதிரியுடன் நான் போராடிக்கொண்டிருந்தேன்.
பிறகு ஒரு எச்சரிக்கை தோன்றியது: INTERVENTION REQUIRED.
பிரச்சனை ஒரு கண்காணிப்புத் துடிப்பில் (monitoring pulse) இருந்தது. ஒவ்வொரு நாற்பத்தைந்து நிமிடங்களுக்கும் ஒரு சரிபார்ப்பு நடந்தால், கண்டறியும் தாமதம் இருபத்தி இரண்டு நிமிடங்கள் இருக்கும்.
அந்தக் கொலையாளியைக் கண்டறிந்தேன். அது ஒரு queueing பிரச்சனை.
சிஸ்டத்தில் ஒரு scan time மற்றும் ஒரு poll time இருந்தது. scan time என்பது poll time-ஐ விட அதிகமாக இருந்தால், வரிசை (queue) முடிவிலியாக வளரும். ஒரு பணி முடிவதற்கு முன்பே அடுத்த பணி தொடங்கிவிட்டது. locks அனைத்தும் குவிந்துவிட்டன.
நான் முழு சிஸ்டத்தையும் மீண்டும் எழுதவில்லை. ஒரு வரியிலான குறியீட்டைக் கொண்டு அதைச் சரிசெய்தேன்.
ஏஜெண்டுகள் மீண்டும் இயங்கின. நீதிபதி ஒரு தீர்ப்பளித்தார். இயந்திரம் நினைவில் வைத்திருந்தது.
இயந்திரம் நம்பிக்கையைக் கண்காணிக்க கணிதத்தைப் பயன்படுத்துகிறது. அது ஒரு Beta distribution-ஐப் பயன்படுத்துகிறது. தொடக்கத்தில், ஒவ்வொரு ஏஜென்ட்டிற்கும் சமமான நம்பிக்கை இருக்கும். ஒரு ஏஜென்ட் வெற்றி பெறும்போது, அதன் trust score உயரும். அது தோற்கும்போது, score குறையும். இயந்திரம் தோல்வியடைந்தவர்களைத் தூக்கி எறிவதில்லை. அது அவர்களின் வரலாற்றை மட்டும் நினைவில் கொள்கிறது.
இன்று நான் ஐந்து உண்மையான பிழைகளைக் (bugs) கண்டறிந்தேன். ஐந்தையும் சரிசெய்தேன்.
பதிவுகள் (logs) பொய் சொல்லாது. கதை என்பது நான் அதைச் சொல்லும் விதம் மட்டுமே.
மூலம்: https://dev.to/turacthethinker/the-fight-in-the-storm-1l6b
விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi
