विफल मॉडल अनुरोधों को दोबारा आज़माएँ
0 है। हर स्टेप अपने model attempts फ़ील्ड (modelAttempts, model_attempts या ModelAttempts) में दर्ज करता है कि उसमें कितने प्रयास लगे। सिर्फ़ मॉडल अनुरोध दोबारा आज़माए जाते हैं: टूल त्रुटियाँ टूल की अपनी त्रुटि नीति का पालन करती हैं, इसलिए साइड इफ़ेक्ट वाले टूल के retries टूल के अंदर रखें और उन्हें idempotent बनाएँ।
प्रयासों के बीच का इंतज़ार और कौन-सी त्रुटियाँ दोबारा आज़माई जाती हैं, यह भाषा के अनुसार अलग है:
Linear इंतज़ार और 500 ms backoff के साथ, तीन retries 0.5 s, 1 s, फिर 1.5 s इंतज़ार करते हैं।
अंतिम आउटपुट की जाँच करें
जब मॉडल कोई टूल कॉल किए बिना जवाब देता है, तो एक parser अंतिम टेक्स्ट को आपके मान में बदलता है और एक schema उसकी जाँच करता है। अगर कोई भी विफल होता है, तो रनInvalid agent output: ... त्रुटि के साथ विफल हो जाता है, इसलिए ख़राब आउटपुट एजेंट की सीमा पर ही रुक जाता है। Validators को नियत (deterministic) और साइड इफ़ेक्ट से मुक्त रखें।
मॉडल के ज़्यादा सख़्त व्यवहार के लिए, gateway से संरचित आउटपुट भी माँगें। Gateway एजेंट क्लाइंट पर JSON Schema response format (और वैकल्पिक रूप से response-healing प्लगइन) सेट करें:
response_format/responseFormat और plugins विकल्प लेते हैं। Go, C# और Java में response format विकल्प नहीं है; फ़ील्ड को दूसरे अनुरोध फ़ील्ड के लिए क्लाइंट के escape hatch के ज़रिए सेट करें (अगला सेक्शन)।
रूटिंग डिफ़ॉल्ट को प्रीसेट में रखें
जब रूटिंग, प्रॉम्प्ट या पैरामीटर डिफ़ॉल्ट डैशबोर्ड में रहने चाहिए, तब एजेंट परpreset सेट करें (Go और C# में Preset):
preset विकल्प नहीं है।
क्लाइंट पर gateway डिफ़ॉल्ट सेट करें
Gateway एजेंट क्लाइंट (createGatewayAgentClient(), create_gateway_agent_client(), CreateGatewayAgentClient) हर मॉडल टर्न के लिए अनुरोध डिफ़ॉल्ट रखता है, ताकि आपको हर रन पर उन्हें फिर से न बनाना पड़े। model, input, instructions और उसके function टूल फिर भी एजेंट के ज़िम्मे रहते हैं; मॉडल डिफ़ॉल्ट सिर्फ़ तब लागू होता है जब एजेंट कोई मॉडल सेट न करे।
Java और Rust कम विकल्प लेते हैं:
Responses पैरामीटर पेज हर फ़ील्ड को समझाता है। नतीजे से उपयोग, लागत और स्टेटस पढ़ने के लिए ऑब्ज़र्वेबिलिटी देखें।