पाठ 21 / 29

परतों में विफलता-सँभाल

Retries, timeouts, fallbacks और शालीन गिरावट मिलाएँ।

हर विफलता की योजना बनाएँ, फिर उसे परखें

आम विफलताएँ और परतदार प्रतिक्रिया: अस्थायी provider errors और rate limits → कुल समय बजट के भीतर exponential backoff और jitter के साथ retry; provider outage → दूसरे मॉडल या provider पर जाएँ (prompts पोर्टेबल रखें और fallback नियमित परखें), या cached अथवा सरल उत्तर; धीमे उत्तर → timeouts, streaming, idempotent calls के लिए hedging; अमान्य आउटपुट → सीमित repair loop, फिर सुरक्षित डिफ़ॉल्ट या मानव queue; retrieval ख़ाली या कमज़ोर → अनुमान की जगह "मुझे यह नहीं मिला" कहें; tool errors → मॉडल को साफ़ error पाठ लौटाएँ, retries सीमित करें, दुष्प्रभाव वाली कार्रवाइयाँ आँख मूँदकर कभी न दोहराएँ; बेक़ाबू loops → चरण, token, समय और लागत सीमाएँ; अधिभार → queue, कम-प्राथमिकता काम छोड़ें, साफ़ "व्यस्त" संदेश दें। विफल dependency को थोड़ी देर बुलाना रोकने को circuit breaker जोड़ें। फिर staging में विफलता अभ्यास चलाएँ: provider बंद करें, धीमे उत्तर और बुरे आउटपुट डालें, और पुष्टि करें कि users को समझदार अनुभव मिलता है।

विफलता-रूप और प्रतिक्रियाएँ

अपने system के लिए भरें; staging में हर पंक्ति परखें।

Failure                         Layered response
rate limit / 5xx / timeout       retry with backoff+jitter inside a time budget -> fallback model -> cached/simple answer
provider outage                 circuit breaker -> secondary provider (portable prompts) -> graceful message
invalid structured output       bounded repair (<= 2) -> safe default or human queue; count the failure
empty or weak retrieval         "I could not find this in our documents" + offer a human; do not guess
tool error                      clear error text to the model; capped retries; no blind repeat of side effects
runaway agent loop              step/token/time/cost caps -> stop, report what was tried
overload                        queue, shed low priority, "busy, try again" with retry hints

हर तिमाही विफलता अभ्यास चलाएँ

Staging में provider बंद करें और पुष्टि करें कि users को समझदार fallback मिलता है।

त्वरित जाँच: Retrieval कुछ प्रासंगिक न लौटाए तो सबसे सुरक्षित प्रतिक्रिया क्या है?

  • विश्वसनीय लगने वाला उत्तर गढ़ें
  • कहें कि उत्तर नहीं मिला, और मनुष्य का विकल्प दें
  • ख़ाली पृष्ठ लौटाएँ
  • App क्रैश करें
Answer

कहें कि उत्तर नहीं मिला, और मनुष्य का विकल्प दें — ईमानदार "नहीं मिला" आत्मविश्वासी अनुमान से बेहतर है।