𝟳 𝗠𝗶𝘀𝘁𝗮𝗸𝗲𝘀 𝗧𝗵𝗮𝘁 𝗕𝗿𝗲𝗮𝗸 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀
உங்கள் AI ஏஜென்ட் சோதனையில் (testing) சிறப்பாகச் செயல்படுகிறது. அது வேகமாகவும் துல்லியமாகவும் இருக்கிறது. பிறகு நீங்கள் அதை பயன்பாட்டிற்கு (deploy) கொண்டு வருகிறீர்கள். அப்போது அனைத்தும் தோல்வியடைகிறது. பயனர்கள் timeout மற்றும் பிழைகளை (errors) புகாரளிக்கிறார்கள்.
மீள்திறன் கொண்ட (resilient) AI ஏஜெண்டுகளை உருவாக்குவதற்கு வெறும் நல்ல குறியீடு (code) மட்டும் போதாது. உற்பத்தியின் (production) சிக்கலான யதார்த்தங்களை நீங்கள் கையாள வேண்டும்.
சிறந்த அமைப்புகளை உருவாக்க இந்த ஏழு தவறுகளைத் தவிர்க்கவும்:
- வெளிப்புற API தோல்விகளைப் புறக்கணித்தல் Network requests, timeout அல்லது rate limits காரணமாகத் தோல்வியடையலாம்.
- அனைத்து அழைப்புகளையும் (calls) try-catch பிளாக்குகளில் வைக்கவும்.
- குறிப்பிட்ட timeout மதிப்புகளை அமைக்கவும்.
- exponential backoff முறையுடன் கூடிய retry logic-ஐப் பயன்படுத்தவும்.
- தோல்வியடையும் சேவைகளுக்கு circuit breakers-ஐப் பயன்படுத்தவும்.
- தோல்விகளை இருமுனைத் தன்மையுடன் (binary) கருதுதல் ஒரு அமைப்பு அல்லது இயங்கும் அல்லது இயங்காது என்று பல டெவலப்பர்கள் நினைக்கிறார்கள். ஆனால் உண்மையில், ஒரு அமைப்பின் சில பகுதிகள் தோல்வியடையும் போது மற்றவை தொடர்ந்து செயல்படும்.
- பல அடுக்கு மாற்றுத் திட்டங்களை (multi-tier fallback strategies) உருவாக்கவும்.
- குறைக்கப்பட்ட அம்சங்களுடன் (reduced features) அமைப்பு எவ்வாறு செயல்படும் என்பதை வரையறுக்கவும்.
- அமைப்புச் செயல்பாட்டில் குறைபாடு (degraded state) இருக்கும்போது பயனர்களுக்குத் தெரிவிக்கவும்.
- குறைந்த அளவிலான லாகிங் (Minimal logging) நீங்கள் பார்க்க முடியாத ஒன்றைத் திருத்த முடியாது.
- வெவ்வேறு நிலைகளில் லாக் செய்யவும்: DEBUG, INFO, WARNING, மற்றும் ERROR.
- பயனர் பயணங்களைக் கண்டறிய (trace) request IDs-ஐப் பயன்படுத்தவும்.
- பிழை விகிதங்கள் (error rates) மற்றும் பதில் நேரங்களைக் (response times) கண்காணிக்கவும்.
- அமைப்பில் ஏற்படும் அசாதாரணத் தன்மைகளுக்காக (anomalies) எச்சரிக்கைகளை (alerts) அமைக்கவும்.
- "Happy paths"-ஐ மட்டும் சோதனை செய்தல் நீங்கள் வெற்றியை மட்டும் சோதனை செய்தால், உங்கள் ஏஜென்ட் அழுத்தமான சூழலில் (stress) தோல்வியடையும்.
- தோல்விகளைச் சோதிக்க chaos engineering-ஐப் பயன்படுத்தவும்.
- சோதனைகளின் போது வேண்டுமென்றே சார்ந்திருப்பவற்றை (dependencies) தோல்வியடையச் செய்யவும்.
- network latency மற்றும் மெதுவான சேவைகளை உருவகப்படுத்தவும் (simulate).
- தவறான தரவுகளைக் (malformed data) கொண்டு சோதனை செய்யவும்.
- ஏஜென்ட் நிலையை (agent state) இழத்தல் சிதைவுகள் (crashes) ஏற்பட்டால் அனைத்து முன்னேற்றமும் இழக்கப்படக்கூடாது.
- முக்கிய மைல்கற்களின் போது நிலையைச் சேமிக்கவும்.
- idempotent செயல்பாடுகளைப் பயன்படுத்தவும்.
- தடைபட்ட வேலையைத் தொடரத் தேவையான போதுமான சூழலைச் (context) சேமிக்கவும்.
- கட்டமைப்புகளை (configurations) ஹார்ட்கோடிங் (Hardcoding) செய்தல் timeout அல்லது API endpoints-ஐ மாற்றுவதற்கு மீண்டும் ஒருமுறை deploy செய்ய வேண்டிய அவசியம் இருக்கக்கூடாது.
- அனைத்து அமைப்புகளுக்கும் environment variables-ஐப் பயன்படுத்தவும்.
- குறியீட்டு மாற்றங்கள் இன்றி வரம்புகளை (thresholds) மாற்றியமைக்கக்கூடியதாக மாற்றவும்.
- புதிய செயல்பாடுகளுக்கு feature flags-ஐப் பயன்படுத்தவும்.
- பொதுவான பிழை கையாளுதல் (Generic error handling) ஒரு validation பிழைக்கு, network timeout-ஐ விட வேறுபட்ட கையாளுதல் தேவைப்படும்.
- மீண்டும் முயற்சிக்கக்கூடிய பிழைகளை (retriable errors), நிரந்தர பிழைகளிலிருந்து (permanent errors) பிரிக்கவும்.
- rate limits போன்ற தற்காலிகப் பிரச்சினைகளை மீண்டும் முயற்சிக்கவும்.
- authentication failures போன்ற நிரந்தரப் பிரச்சினைகளை மீண்டும் முயற்சிக்க வேண்டாம்.
மீள்திறன் என்பது யதார்த்தத்தை முன்கூட்டியே கணிப்பதாகும். உங்கள் தற்போதைய ஏஜெண்டுகளை இந்தத் தவறுகளுக்கு எதிராகச் சோதிப்பதன் மூலம் தொடங்கவும்.
விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi