# सफलता दरें, pass@k और विचरण — Coding Agents और AI-Assisted Development

Source: https://www.geekswithgeeks.com/hi/coding-agents/m-passk

> इस तथ्य का ध्यान रखें कि agent runs हर प्रयास में बदलते हैं।

## एक run क़िस्सा है

Agent runs **अनिश्चित** हैं: वही कार्य एक प्रयास में सफल और दूसरे में विफल हो सकता है। इसलिए एक प्रयास कम बताता है। प्रति कार्य कई प्रयासों पर **सफलता दर** मापें। **pass@k** इसका उत्तर देता है "यदि मैं agent को `k` बार कोशिश करने दूँ तो कम से कम एक प्रयास सफल होने की संभावना क्या है?" यह `k` के साथ तेज़ी से बढ़ता है (30% एकल-प्रयास दर पाँच कोशिशों में लगभग 87% तक पहुँच सकती है) पर तभी मदद करता है जब अच्छा प्रयास चुनने का **भरोसेमंद तरीक़ा** हो, जैसे tests या समीक्षा; सत्यापक के बिना ज़्यादा प्रयास का अर्थ बस जाँचने को ज़्यादा उम्मीदवार। **विचरण** भी रिपोर्ट करें (tool कितना सुसंगत है), क्योंकि जो tool 60% बार अप्रत्याशित रूप से सफल होता है वह उस tool से कम उपयोगी हो सकता है जो 50% बार ऐसे सफल हो जिसका आप पूर्वानुमान और जाँच कर सकें।

## pass@k अनुमानक, चलाकर

मैंने यह सादे Python 3 (सिर्फ़ standard library) से चलाया, अस्थायी folder में बनाए throwaway project के साथ। 20 प्रयासों में से 6 पास (30%) के साथ कम-से-कम-एक-सफलता का निष्पक्ष अनुमान k=1 के लिए 0.300, k=3 के लिए 0.681, k=5 के लिए 0.871 और k=10 के लिए 0.995 है। सूत्र `1 - C(n-c, k) / C(n, k)` है।

```python
from math import comb

def pass_at_k(n, c, k):
    """Unbiased estimate of P(at least one of k samples passes), from n attempts with c passes."""
    if n - c < k: return 1.0
    return 1.0 - comb(n - c, k) / comb(n, k)

n, c = 20, 6          # 20 attempts at a task, 6 produced a passing patch
for k in (1, 3, 5, 10):
    print(f"pass@{k} = {pass_at_k(n, c, k):.3f}")
print("single-attempt success rate c/n =", c / n)

```

Output:

```
pass@1 = 0.300
pass@3 = 0.681
pass@5 = 0.871
pass@10 = 0.995
single-attempt success rate c/n = 0.3
```

**Quiz:** व्यवहार में ऊँचा pass@k वास्तव में कब मदद करता है?

- [ ] सिर्फ़ छोटे कार्यों के लिए
- [ ] हमेशा, सत्यापन चाहे जो हो
- [ ] कभी नहीं
- [x] जब पास होने वाला प्रयास चुनने के लिए tests जैसा भरोसेमंद सत्यापक हो

*Answer:* जब पास होने वाला प्रयास चुनने के लिए tests जैसा भरोसेमंद सत्यापक हो. कई प्रयासों को अच्छा वाला पहचानने का तरीक़ा चाहिए।
