# परतों में विफलता-सँभाल — LLM Engineering की बुनियाद

Source: https://www.geekswithgeeks.com/hi/llm-engineering/r-failure

> 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 में हर पंक्ति परखें।

```text
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 मिलता है।

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

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

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