# Evaluator-Optimizer Loops — एडवांस्ड Agent Workflows और Skills

Source: https://www.geekswithgeeks.com/hi/agent-workflows/wf-evaluator-optimizer

> स्पष्ट रुकने के नियम के साथ generate, critique, revise loop से output सुधारें।

## बनाएँ, परखें, सुधारें

एक call draft बनाती है, दूसरी उसे स्पष्ट मानदंडों पर परखती है, और प्रतिक्रिया संशोधन के लिए लौटती है। यह तब काम करता है जब आप बता सकें कि "अच्छा" का मतलब क्या है, जैसे "सभी tests पास" या "style guide के अनुसार"। साफ़ मानदंड के बिना loop सिर्फ़ ख़र्च बढ़ाता है।

## सीमित loop

Rounds की संख्या हमेशा सीमित रखें। यहाँ evaluator के मंज़ूर करने पर या तीन प्रयासों के बाद loop रुकता है।

```python
def refine(task: str, max_rounds: int = 3) -> str:
    draft = llm(task)
    for _ in range(max_rounds):
        verdict = llm(f"Does this meet the criteria? Reply OK or list problems:\n{draft}")
        if verdict.strip().startswith("OK"):
            break
        draft = llm(f"Revise to fix these problems:\n{verdict}\n\nDraft:\n{draft}")
    return draft
```

## वस्तुनिष्ठ जाँच चुनें

Test suite या linter, दूसरे model की राय से ज़्यादा भरोसेमंद evaluator है। Model judge सिर्फ़ उन गुणों के लिए रखें जिन्हें कोड माप नहीं सकता।

**Quiz:** हर evaluator-optimizer loop में क्या होना ही चाहिए?

- [x] अधिकतम rounds की सीमा
- [ ] असीमित retries
- [ ] कोई मानदंड नहीं
- [ ] हर round में अलग भाषा

*Answer:* अधिकतम rounds की सीमा. सीमा, मानदंड कभी पूरे न होने पर अनंत loops और बेकाबू ख़र्च को रोकती है।
