पाठ 14 / 25

Code Execution Tools

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 नहीं होता।

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

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

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

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