# Code Execution Tools — AI Agents और Tool Use

Source: https://www.geekswithgeeks.com/hi/ai-agents-mcp/kinds-code-exec

> Agent को सटीक गणना के लिए कोड चलाने दें, sandbox के भीतर।

## गणित कोड से करवाएँ

Models अंकगणित, तारीख़ों के हिसाब और डेटा-सँवारने में चूक कर सकते हैं। **Code-execution tool** agent को छोटी script लिखने, चलाने और output पढ़ने देता है, ताकि अंक याद से नहीं, गणना से आएँ। चूँकि कोड model ने लिखा है, उसे **sandbox** में चलाएँ: आपके secrets तक पहुँच नहीं, सीमित files, अनियंत्रित network नहीं, और समय सीमा।

## सीमित runner

यह खाका timeout वाला subprocess उपयोग करता है। अकेला subprocess असली sandbox नहीं है; production systems containers या समर्पित sandboxes उपयोग करते हैं जिनमें कोई secret mount नहीं होता।

```python
import subprocess, sys

def run_python(code: str, timeout_s: int = 5) -> str:
    try:
        p = subprocess.run([sys.executable, "-c", code],
                           capture_output=True, text=True, timeout=timeout_s)
    except subprocess.TimeoutExpired:
        return "Error: timed out"
    return (p.stdout + p.stderr)[:2000]      # clip the output
```

**Quiz:** Model द्वारा लिखा कोड sandbox में क्यों चलाएँ?

- [ ] Python में यह ज़रूरी है
- [ ] Sandbox कोड तेज़ बनाते हैं
- [ ] कोड हमेशा सही होता है
- [x] ग़लतियों या दुर्भावनापूर्ण कोड का नुक़सान सीमित करने के लिए

*Answer:* ग़लतियों या दुर्भावनापूर्ण कोड का नुक़सान सीमित करने के लिए. अलगाव कोड जो भी करे, इरादे से या बिना इरादे, उसे सीमित रखता है।
