𝗟𝗼𝗰𝗮𝗹 𝗖𝗼𝗱𝗶𝗻𝗴 𝗔𝗴𝗲𝗻𝘁𝘀 𝗔𝗿𝗲 𝗔𝗻 𝗘𝗻𝘃𝗶𝗿𝗼𝗻𝗺𝗲𝗻𝘁 𝗣𝗿𝗼𝗯𝗹𝗲𝗺
கோடிங் ஏஜென்ட் அமைப்பில் (setup), இப்போது 'ப்ராம்ப்ட்' (prompt) மட்டுமே மையப்புள்ளி அல்ல.
பெரும்பாலான டெமோக்கள், ப்ராம்ப்ட் தான் முழு தயாரிப்பு போலக் காட்டுகின்றன. நீங்கள் ஒரு அம்சத்தைக் (feature) கேட்கிறீர்கள். ஏஜென்ட் கோப்புகளைப் படிக்கிறது. குறியீட்டைத் (code) திருத்துகிறது. சோதனைகளை (tests) இயக்குகிறது. வீடியோவில் இது பார்ப்பதற்கு மிகத் தெளிவாகத் தெரியும்.
உண்மையான லோக்கல் ஏஜென்ட்கள் சற்று சிக்கலானவை. ஒரு ஏஜென்ட் உங்கள் ரெப்போவிற்கு (repo) அருகில் அமர்ந்து, கட்டளைகளை (commands) இயக்கி, கருவிகளைப் பயன்படுத்தும்போது, முக்கியக் கேள்வி மாறுகிறது.
அது "நான் ஒரு சரியான ப்ராம்ப்ட்டை எழுதியேனா?" என்பது அல்ல; மாறாக "நான் இதற்கு என்ன சூழலை (environment) வழங்கியுள்ளேன்?" என்பதே ஆகும்.
ஒரு சாட் அசிஸ்டன்ட் (chat assistant) தெளிவான எல்லைகளைக் கொண்டது. நீங்கள் சூழலை (context) நகலெடுத்து ஒட்டுகிறீர்கள் (paste). பதிலுக்கு உரையைப் பெறுகிறீர்கள். ஆனால் ஒரு லோக்கல் கோடிங் ஏஜென்ட் வேறுபட்டது. அது உங்கள் ஷெல் (shell), லோக்கல் கருவிகள், பேக்கேஜ் மேனேஜர்கள் (package managers) மற்றும் சான்றுகளை (credentials) அணுகுகிறது. சூழலே உண்மையான தயாரிப்பாக மாறுகிறது.
ஒரு லோக்கல் ஏஜென்ட்டை அமைப்பது என்பது டெவலப்பர் உள்கட்டமைப்பு (developer infrastructure) சார்ந்தது. இது வெறும் ஒரு AI கருவியை நிறுவுவது மட்டுமல்ல.
நீங்கள் தீர்மானிக்க வேண்டும்:
- ஏஜென்ட் எதைப் படிக்க முடியும்?
- அது எதைத் திருத்த முடியும்?
- அது எந்தக் கட்டளைகளை இயக்க முடியும்?
- இயல்பாக (default) எந்தக் கருவிகள் கிடைக்கும்?
- நிலை (state) எங்கு சேமிக்கப்படுகிறது?
- மற்றொரு டெவலப்பரால் இந்த அமைப்பை மீண்டும் உருவாக்க முடியுமா?
- ஏஜென்ட் பின்னால் என்ன ஆதாரங்களை விட்டுச் செல்கிறது?
இந்த பதில்கள் தெளிவற்றதாக இருந்தால், உங்கள் ப்ராம்ப்ட் உங்களைக் காப்பாற்றாது.
ஒரு சிறந்த ப்ராம்ப்ட் ஒரு பதிலைத் தான் மேம்படுத்தும். ஆனால் ஒரு சிறந்த சூழல் முழுச் சுழற்சியையும் (loop) மேம்படுத்தும்.
ஏஜென்ட் அமைப்பை (agent setup), நீங்கள் CI/CD அல்லது டெப்ளாய்மென்ட் கேட்களை (deployment gates) கையாளுவது போலக் கையாளுங்கள். அதை ஒரு தனிப்பட்ட விருப்பமாகப் பார்க்காதீர்கள். அதை ஒரு அமைப்பாக (system) கருதுங்கள்.
ஒரு ஏஜென்ட் கோப்புகளைத் திருத்த முடிகிறது ஆனால் சோதனைகளை (checks) இயக்க முடியவில்லையென்றால், அது ஒரு கண் கட்டப்பட்ட குறியீடு உருவாக்கி (code generator) போன்றது. அதிக ஒருங்கிணைப்புகள் (integrations) நன்றாக இருக்கும் என்பதற்காக ஒவ்வொரு கருவியுடனும் அதை இணைத்தால், நீங்கள் தெரியாமலேயே ஒரு அனுமதி மாதிரியை (permission model) உருவாக்கிவிட்டீர்கள் என்று அர்த்தம்.
சிறிய மற்றும் ஆய்வு செய்யக்கூடிய (inspectable) திறன்களை நோக்கி நகர்வதே இலக்காகும்.
"இந்தச் சோதனையை இயக்கித் தோல்விகளைச் சுருக்கமாகக் கூறு" போன்ற ஒரு குறிப்பிட்ட திறன், "எல்லாம் சரியாக வேலை செய்வதை உறுதி செய்" போன்ற ஒரு பொதுவான அறிவுறுத்தலை விடச் சிறந்தது. முதலாவது ஒரு தடயத்தை (trail) விட்டுச் செல்லும்; இரண்டாவது வெறும் நாடகத்தையே (theater) உருவாக்கும்.
சிறந்த மென்பொருள் தெளிவான எல்லைகளைக் கொண்டிருக்கும்.
ஒரு ஏஜென்ட் எத்தனை கருவிகளுடன் இணைய முடியும் என்பதில் கவனம் செலுத்தாதீர்கள். ஒவ்வொரு கருவியும் ஏஜென்ட்டை என்ன செய்ய அனுமதிக்கிறது என்பதில் கவனம் செலுத்துங்கள். அது நிலையை (state) மாற்றியமைக்க முடியுமா? அது தயாரிப்புச் சூழலை (production) அடைய முடியுமா? அது ரகசியங்களை (secrets) வெளிப்படுத்துகிறதா?
வெளியீடு (Output) என்பது பலன் (leverage) என்பதற்குச் சமமானது அல்ல. ஏஜென்ட்கள் அதிக குறியீடுகளையும் அதிக கிளைகளையும் (branches) உருவாக்க முடியும். வேலை எளிதாகப் படிக்க முடியாததாக இருந்தால், இது ஆய்வுக் கடனை (review debt) உருவாக்கும்.
ஒரு லோக்கல் அமைப்பு மனிதனின் வேலையை எளிதாக்க வேண்டும். அது ஏஜென்ட்டை மட்டும் வேகமாக்கினால், உங்கள் குழுவின் வேகம் அதிகரிக்காது.
வெளியீட்டை நம்புவதற்கு முன், சூழலை நம்புங்கள்.
மூலம்: https://dev.to/hefty_69a4c2d631c9dd70724/local-coding-agents-are-an-environment-problem-1o4p
விருப்பத்தேர்வு கற்றல் சமூகம்: https://t.me/GyaanSetuAi