உங்கள் AI Agent Production சூழலில் சிக்கிக்கொண்டால் என்ன நடக்கும்?
மிகவும் செலவு மிகுந்த AI agent தோல்விகள் என்பது மாடல் (model) தோல்விகள் அல்ல.
அவை அமைதியான தோல்விகள் (silent failures).
Agent ஆரோக்கியமாகத் தோன்றுகிறது. Workflow இயங்குகிறது. Tokens செலவாகின்றன. ஆனால் Agent எந்த முன்னேற்றமும் செய்யவில்லை.
நான் இந்த சிக்கல்களைத் திரும்பத் திரும்பக் கண்டேன்:
- முடிவில்லா சுழற்சிகள் (Infinite loops)
- தொடர்ச்சியான மறுமுயற்சித் தாக்குதல்கள் (Retry storms)
- அமைதியானத் தேக்கநிலை (Silent stalls)
- வெற்றிகரமான பதில்களால் மறைக்கப்படும் கருவித் தோல்விகள் (Tool failures)
- இலக்கிலிருந்து விலகிச் செல்லும் Agents
- Agent செயல்பாடுகளைக் கண்காணிக்க முடியாமை
ஒரு சிறந்த Prompt இதைக் சரிசெய்யாது.
உங்களுக்கு ஒரு runtime supervision layer தேவை. பெரும்பாலான frameworks ஏஜெண்டுகளை இயக்குவதில் மட்டுமே கவனம் செலுத்துகின்றன. ஆனால் Production குழுக்கள் வேறு சில கேள்விகளுக்குப் பதிலளிக்க வேண்டியுள்ளது:
- இது ஏன் சிக்கிக்கொண்டது?
- இது முன்னேற்றம் அடைகிறதா?
- இதை நான் நிறுத்த (pause) முடியுமா?
- இதை நான் மீண்டும் தொடங்க (resume) முடியுமா?
- இதை நான் முழுமையாக நிறுத்த (kill) வேண்டுமா?
Logs மட்டுமே இவற்றுக்குப் பதிலளிக்காது.
Supervision-ஐ Agent logic-லிருந்து பிரித்து வைக்கவும். Workflow-க்குள் guardrails-களை வைக்க வேண்டாம். செயல்பாட்டைக் கண்காணிக்க ஒரு பிரத்யேக runtime layer-ஐப் பயன்படுத்தவும். இது workflows-களை எளிமையாக வைத்திருக்கும்.
Runtime இவற்றை நிர்வகிக்கிறது:
- சுழற்சி கண்டறிதல் (Loop detection)
- மறுமுயற்சி மேலாண்மை (Retry management)
- பட்ஜெட் வரம்புகள் (Budget limits)
- நிறுத்துதல் மற்றும் மீண்டும் தொடங்குதல் (Pause and resume)
- Checkpoints
- நிறுத்தக் காரணங்கள் (Stop reasons)
- நேரலை டெலிமெட்ரி (Live telemetry)
"failed" என்பதை ஒரு நிலையாக (status) பயன்படுத்துவதை நிறுத்துங்கள். குறிப்பிட்ட காரணங்களைப் பயன்படுத்துங்கள்:
- LOOP_DETECTED
- BUDGET_EXCEEDED
- RETRY_LIMIT_REACHED
- TOOL_FAILURE
- TIMEOUT
- USER_PAUSED
இது இயக்குபவர்களுக்கு (operators) எவ்வாறு மீள்வது என்பதைத் தெரிவிக்கும்.
படிநிலைகளைக் (Step counts) கணக்கிடுவது சுழற்சியைக் கண்டறிவதில் தோல்வியடையும். Agents சுழற்சியில் சிக்காமல் தவறான இலக்கை நோக்கிச் செல்லக்கூடும். அவை இலக்கிலிருந்து விலகிச் செல்ல இருபது படிநிலைகளைச் செலவிடலாம்.
அதற்குப் பதிலாக இதைக் கேளுங்கள்: "சில படிநிலைகளுக்கு முன்பு இருந்ததை விட நாம் இலக்கிற்கு நெருக்கமாக இருக்கிறோமா?" இது அதிகச் செலவு செய்வதற்கு முன்பே விலகிச் செல்வதைத் தடுக்கும்.
Pause மற்றும் Kill ஆகியவற்றுக்கு இடையிலான வேறுபாட்டைப் புரிந்துகொள்ளுங்கள்:
- Pause நிலையைச் சேமிக்கும். நீங்கள் பின்னர் மீண்டும் தொடங்கலாம்.
- Kill அனைத்தையும் நிறுத்திவிடும். உங்களால் தொடர முடியாது.
API அழைப்புகள், பிரவுசர் பணிகள் அல்லது தரவுத்தளப் பதிவுகள் (database writes) போன்ற ஒவ்வொரு வெளிப்புறச் செயலுக்கும் முன்னதாக Checkpoints-களை உருவாக்கவும். ஒரு செயல்முறை செயலிழந்தால் (crash), அந்த நேரத்தில் என்ன நடந்து கொண்டிருந்தது என்பதைச் சிஸ்டம் துல்லியமாகத் தெரிந்து கொள்ளும். இது அமைதியான தோல்விகளை மீட்கக்கூடிய தோல்விகளாக மாற்றும்.
தோல்விகளின் போது Agents tokens-களைச் செலவிடுவதைத் தடுக்க, இந்த மூன்றைப் பயன்படுத்தவும்:
- Exponential backoff
- Retry budgets
- Circuit breakers
Logs கடந்த காலத்தைக் காட்டுகின்றன. இயக்குபவர்கள் நிகழ்காலத்தைக் காண வேண்டும். தற்போதைய பணி, படிநிலை, கருவி மற்றும் நிலையை (status) நிகழ்நேரத்தில் (real time) கண்காணிக்கவும்.
Agents-களை உருவாக்குவது எளிது. நம்பகமான Agents-களை உருவாக்குவது கடினம். நம்பகத்தன்மை தொடர்பான சிக்கல்கள் மாடலுக்கு வெளியே நிகழ்கின்றன. அவை உங்கள் மறுமுயற்சிகள் (retries), checkpoints மற்றும் supervision ஆகியவற்றில் நிகழ்கின்றன.
AI agents-களுடன் நீங்கள் பார்த்த கடினமான Production failure எது?
Source: https://dev.to/milancharan/what-happens-when-your-ai-agent-gets-stuck-in-production-3327
Optional learning community: https://t.me/GyaanSetuAi
