AI एजेंट टूल उपयोग: फ़ंक्शन कॉलिंग, स्कीमा और सुरक्षित निष्पादन
AI एजेंट टूल उपयोग वह तंत्र है जिसके द्वारा एक LLM बाहरी फ़ंक्शनों के निष्पादन का अनुरोध करता है — वेब खोज, डेटाबेस क्वेरी, API कॉल, फ़ाइल ऑपरेशन — संरचित टूल कॉल JSON उत्सर्जित करके जिसे रनटाइम इंटरसेप्ट करता है, JSON Schema के विरुद्ध सत्यापित करता है, और टूल परिणाम वापस करने से पहले निष्पादित करता है। LLM कुछ भी निष्पादित नहीं करता; वह केवल अनुरोध करता है। रनटाइम किसी भी निष्पादन से पहले स्कीमा सत्यापन, ACL जांच और चरण बजट लागू करता है। tau-bench (2025) दिखाता है कि तर्क निर्माण त्रुटियां टूल उपयोग की सबसे बड़ी विफलता का तरीका है।
AI एजेंट टूल उपयोग वह तंत्र है जिसके द्वारा एक बड़ा भाषा मॉडल बाहरी फ़ंक्शनों के निष्पादन का अनुरोध करता है — वेब खोज, डेटाबेस क्वेरी, API कॉल, फ़ाइल ऑपरेशन या कस्टम बिज़नेस लॉजिक — अपने आउटपुट में एक संरचित टूल कॉल उत्सर्जित करके जिसे रनटाइम इंटरसेप्ट करता है, JSON Schema परिभाषा के विरुद्ध सत्यापित करता है, निष्पादित करता है और अगले संदर्भ टर्न में टूल परिणाम के रूप में वापस करता है।
टूल कॉल कैसे काम करता है: अनुरोध-निष्पादन-वापसी लूप
टूल कॉल जीवनचक्र
प्रत्येक टूल कॉल फ्रेमवर्क या प्रोवाइडर की परवाह किए बिना एक ही पांच-चरण लूप का अनुसरण करती है:
- संदर्भ सेटअप — एजेंट कार्य और उपलब्ध टूल की सूची प्राप्त करता है, प्रत्येक को नाम, प्राकृतिक भाषा विवरण और उसके पैरामीटर की JSON Schema परिभाषा द्वारा वर्णित किया जाता है।
- LLM निर्णय — मॉडल अपने आउटपुट में टूल कॉल ब्लॉक उत्सर्जित करता है: एक फ़ंक्शन नाम और घोषित स्कीमा से मेल खाते तर्कों का JSON ऑब्जेक्ट।
- रनटाइम इंटरसेप्शन — फ्रेमवर्क किसी भी निष्पादन से पहले टूल कॉल को इंटरसेप्ट करता है। तर्कों को स्कीमा के विरुद्ध सत्यापित किया जाता है। एजेंट का ACL जांचा जाता है।
- निष्पादन — यदि सत्यापन और अनुमति जांच पास हो जाती है, रनटाइम फ़ंक्शन निष्पादित करता है और उसके आउटपुट को एकत्र करता है।
- संदर्भ इंजेक्शन — टूल परिणाम को टूल परिणाम टर्न के रूप में वार्तालाप संदर्भ में वापस इंजेक्ट किया जाता है। LLM इस समृद्ध संदर्भ से तर्क करना जारी रखता है।
महत्वपूर्ण वास्तुकला तथ्य: LLM कुछ भी निष्पादित नहीं करता। केवल अनुरोध करता है। हर असुरक्षित क्रिया — फ़ाइल लिखना, API कॉल करना, ईमेल भेजना — रनटाइम द्वारा नियंत्रित होती है।
प्रोवाइडर प्रारूप अंतर: OpenAI बनाम Anthropic बनाम Google
तीन प्रमुख LLM प्रोवाइडर टूल उपयोग को स्थानीय रूप से समर्थन करते हैं, लेकिन JSON प्रारूप अलग है:
OpenAI (openai/openai-python, 30,941 स्टार, Apache-2.0): टूल परिभाषाएं JSON Schema ऑब्जेक्ट के एरे के रूप में tools पैरामीटर में जाती हैं। मॉडल सहायक संदेश के tool_calls फ़ील्ड में टूल कॉल लौटाता है। Responses API (मार्च 2025) ने सर्वर-साइड पर निष्पादित होने वाले अंतर्निर्मित टूल (web_search, file_search, computer_use) जोड़े।
Anthropic (anthropic-sdk-python, 3,595 स्टार, MIT): टूल परिभाषाएं शीर्ष-स्तरीय tools पैरामीटर में जाती हैं। मॉडल सहायक टर्न के भीतर tool_use कंटेंट ब्लॉक लौटाता है। क्लाइंट को इन ब्लॉकों को पार्स करना होगा और अगले मानव टर्न में tool_result कंटेंट ब्लॉक वापस करने होंगे।
Google Gemini: टूल परिभाषाएं tools पैरामीटर के भीतर functionDeclarations का उपयोग करती हैं। मॉडल functionCall भाग लौटाता है; क्लाइंट functionResponse भाग भेजता है।
LLM जो सही ढंग से उपयोग करें ऐसे टूल स्कीमा परिभाषित करना
tau-bench (ServiceNow Research, 2025) ने GPT-4o को रिटेल टूल उपयोग कार्यों पर 44% pass@1 पर मापा। सबसे बड़ी विफलता श्रेणी टूल चयन नहीं थी — मॉडल ने सही टूल चुना — बल्कि तर्क निर्माण था। स्कीमा गुणवत्ता विश्वसनीयता का प्राथमिक उत्तोलक है।
टूल परिभाषाओं के लिए JSON Schema संरचना
न्यूनतम वैध टूल स्कीमा के लिए चार फ़ील्ड आवश्यक हैं:
{
"name": "search_web",
"description": "वर्तमान जानकारी के लिए सार्वजनिक वेब खोजें। तब उपयोग करें जब कार्य को प्रशिक्षण कटऑफ के बाद के तथ्य, रियल-टाइम डेटा, या प्रशिक्षण डेटा में न हों ऐसे स्रोत चाहिए।",
"parameters": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "खोज क्वेरी। विशिष्ट, लक्षित शब्दों का उपयोग करें — पूर्ण वाक्य नहीं।"
},
"max_results": {
"type": "integer",
"description": "लौटाने के लिए अधिकतम परिणाम संख्या। डिफ़ॉल्ट 5, अधिकतम 20।",
"default": 5
}
},
"required": ["query"]
}
}
required एरे महत्वपूर्ण है: required में नहीं होने वाले पैरामीटर वैकल्पिक हैं।
तर्क त्रुटियां कम करने वाले विवरण लिखना
तर्क निर्माण सटीकता में सुधार करने वाले टूल विवरणों के लिए तीन नियम:
- क्रिया-संज्ञा युग्म से नामकरण:
search_web,create_ticket,read_file। - विवरण में अस्पष्टता दूर करना: यदि दो टूल समान दिखते हैं, स्पष्ट रूप से बताएं कि प्रत्येक का उपयोग कब करना है।
- उदाहरणों के साथ पैरामीटर का वर्णन:
"खोज क्वेरी। उदाहरण: 'LangGraph v0.2 समानांतर टूल कॉल'"तर्क सटीकता में"क्वेरी स्ट्रिंग"से बेहतर है।
सामान्य स्कीमा गलतियां और उन्हें ठीक करने का तरीका
| गलती | प्रभाव | सुधार |
|---|---|---|
श्रेणीबद्ध मानों के लिए अप्रतिबंधित "type": "string" | मॉडल अमान्य मान बनाता है | "enum": ["option_a", "option_b"] का उपयोग करें |
पैरामीटर पर description अनुपस्थित | मॉडल तर्क सेमेंटिक्स का अनुमान लगाता है | उदाहरणों के साथ स्पष्ट विवरण लिखें |
सभी पैरामीटर required में | वैकल्पिक फ़ील्ड अज्ञात होने पर मॉडल कॉल करने से मना करता है | केवल वास्तव में आवश्यक पैरामीटर सूचीबद्ध करें |
अस्पष्ट टूल नाम (process, handle) | मॉडल समान टूल में अंतर नहीं कर सकता | क्रिया-संज्ञा का उपयोग करें: submit_form, parse_date |
कोई required एरे नहीं | JSON Schema अमान्य | हमेशा required शामिल करें, भले ही खाली हो ([]) |
समानांतर और अनुक्रमिक टूल कॉल
समानांतर टूल कॉल का उपयोग कब करें
OpenAI के Responses API (मार्च 2025) ने समानांतर टूल कॉल को डिफ़ॉल्ट बना दिया। एकल LLM टर्न में, मॉडल एक साथ कई टूल निष्पादनों का अनुरोध कर सकता है। स्वतंत्र टूल के लिए, समानांतर डिस्पैच N अनुक्रमिक टर्न से एक समवर्ती बैच में राउंड-ट्रिप कम करता है।
उदाहरण: एक शोध एजेंट को वर्तमान स्टॉक मूल्य, हालिया समाचार और कंपनी का SEC दाखिला चाहिए। तीनों स्वतंत्र हैं। अनुक्रमिक: 3 LLM टर्न × 10 सेकंड = 30 सेकंड। समानांतर: 1 LLM टर्न + max(टूल विलंबता) लगभग 10 सेकंड।
निर्भर संचालन के लिए अनुक्रमिक टूल कॉल
टूल चेनिंग — एक टूल के आउटपुट को अगले के इनपुट के रूप में उपयोग करना — अनुक्रमिक निष्पादन की आवश्यकता है।
टूल परमिशन स्कोपिंग और सुरक्षा
न्यूनतम विशेषाधिकार टूल असाइनमेंट
प्रत्येक एजेंट के पास केवल वे टूल होने चाहिए जिनकी उसके विशिष्ट कार्य को आवश्यकता है। सफलतापूर्वक प्रॉम्प्ट-इंजेक्टेड एजेंट का विस्फोट दायरा उसके अनुमत टूल सेट द्वारा सीमित होता है। OWASP LLM Top 10 v1.1 (2025) LLM अनुप्रयोगों के लिए शीर्ष जोखिम के रूप में प्रॉम्प्ट इंजेक्शन (LLM01) को सूचीबद्ध करता है।
निष्पादन से पहले इनपुट सत्यापन
टूल कॉल तर्कों को दो स्तरों पर सत्यापित करें: स्कीमा सत्यापन और सेमेंटिक सत्यापन। एक fetch_page टूल को SSRF को रोकने के लिए file:// या localhost URL वाले तर्कों को अस्वीकार करना चाहिए।
टूल-स्तरीय हमले वैक्टर की पूरी वर्गीकरण के लिए AI एजेंट सुरक्षा खतरा मॉडल देखें।
OpenLegion का दृष्टिकोण: टूल रजिस्ट्री और ACL गेट
प्रत्येक प्रमुख LLM प्रोवाइडर के पास एक अलग टूल कॉलिंग API है। सही अमूर्तता: एक बार टूल परिभाषित करें और फ्रेमवर्क को कॉल समय पर सही प्रोवाइडर परंपरा में अनुवाद करने दें।
OpenLegion की टूल रजिस्ट्री इस अमूर्तता को लागू करती है। search_web को एक बार परिभाषित करें। मेश कॉन्फ़िगर किए गए मॉडल के आधार पर परिभाषा को OpenAI tools, Anthropic tools, या Gemini functionDeclarations में अनुवाद करता है। ACL गेट वैकल्पिक नहीं है।
अक्सर पूछे जाने वाले प्रश्न
AI एजेंट टूल उपयोग क्या है?
AI एजेंट टूल उपयोग वह तंत्र है जिसके द्वारा एक बड़ा भाषा मॉडल बाहरी फ़ंक्शनों — वेब खोज, API कॉल, डेटाबेस क्वेरी, फ़ाइल ऑपरेशन — के निष्पादन का अनुरोध करता है, संरचित टूल कॉल JSON उत्सर्जित करके जिसे रनटाइम इंटरसेप्ट करता है, सत्यापित करता है और निष्पादित करता है। LLM सीधे कुछ भी निष्पादित नहीं करता; वह केवल यह वर्णित करता है कि क्या कॉल करना है।
AI एजेंट में फ़ंक्शन कॉलिंग कैसे काम करती है?
फ़ंक्शन कॉलिंग अनुरोध-निष्पादन-वापसी लूप में काम करती है: एजेंट एक कार्य और उपलब्ध टूल की सूची प्राप्त करता है; LLM फ़ंक्शन का नाम देते हुए और तर्क प्रदान करते हुए टूल कॉल उत्सर्जित करता है; रनटाइम उन तर्कों को सत्यापित करता है, फ़ंक्शन निष्पादित करता है और परिणाम को संदर्भ में टूल परिणाम के रूप में इंजेक्ट करता है।
AI एजेंट के लिए एक अच्छा टूल स्कीमा क्या है?
एक अच्छा टूल स्कीमा क्रिया-संज्ञा नाम (search_web, create_ticket), एक विवरण जो स्पष्ट रूप से बताता है कि इसे कब उपयोग करना है, यथासंभव एनम के साथ दृढ़-टाइप किए गए पैरामीटर, और अनिवार्य पैरामीटर सूचीबद्ध करने वाला required एरे उपयोग करता है। tau-bench (2025) दिखाता है कि गलत तर्क निर्माण सबसे सामान्य विफलता तरीका है।
समानांतर टूल कॉल क्या हैं और उनका उपयोग कब करना चाहिए?
समानांतर टूल कॉल एजेंट को एकल LLM टर्न में कई टूल निष्पादनों का अनुरोध करने देते हैं, जिन्हें रनटाइम एक साथ डिस्पैच करता है। समानांतर कॉल का उपयोग तब करें जब टूल स्वतंत्र हों — उनके आउटपुट एक-दूसरे पर निर्भर नहीं हों और वे साझा स्टेटफुल संसाधनों में न लिखें।
AI एजेंट में टूल कॉल लूप को कैसे रोकें?
टूल कॉल लूप तब होते हैं जब एजेंट अंतिम उत्तर पर अभिसरण किए बिना टूल को कॉल करता रहता है। एकमात्र विश्वसनीय रोकथाम बुनियादी ढांचे स्तर पर लागू चरण बजट है: प्रति एजेंट रन टूल कॉल की एक कठोर अधिकतम, ऑर्केस्ट्रेटर द्वारा लागू की गई।
AI एजेंट टूल उपयोग का सुरक्षा जोखिम क्या है?
प्राथमिक जोखिम टूल परिणाम इंजेक्शन है: जब एजेंट ऐसे टूल को कॉल करता है जो हमलावर-नियंत्रित सामग्री लौटाता है जो एजेंट के व्यवहार को पुनर्निर्देशित कर सकती है। OWASP LLM Top 10 v1.1 (2025) LLM अनुप्रयोगों के लिए शीर्ष जोखिम के रूप में प्रॉम्प्ट इंजेक्शन को सूचीबद्ध करता है।
अंतर्निर्मित टूल, MCP टूल और कस्टम टूल में क्या अंतर है?
अंतर्निर्मित टूल एजेंट रनटाइम द्वारा प्रदान किए जाते हैं जिनमें ACL प्रवर्तन पहले से लागू होता है। MCP टूल Model Context Protocol सर्वर द्वारा प्रदान किए जाते हैं जो JSON-RPC के माध्यम से बाहरी क्षमताओं को उजागर करते हैं; इन्हें सैंडबॉक्सिंग और प्रति-सर्वर अनुमति स्कोपिंग की आवश्यकता होती है। कस्टम टूल वे फ़ंक्शन हैं जिन्हें आप लिखते और पंजीकृत करते हैं, पूर्ण लचीलापन प्रदान करते हैं लेकिन सत्यापन और सुरक्षा की जिम्मेदारी आपकी होती है।
विभिन्न LLM प्रोवाइडर टूल उपयोग कैसे लागू करते हैं?
OpenAI tools पैरामीटर, सहायक प्रतिक्रिया में tool_calls, role: "tool" परिणाम संदेशों के माध्यम से टूल उपयोग लागू करता है। Anthropic अगले मानव टर्न में tool_result ब्लॉक के साथ tool_use कंटेंट ब्लॉक का उपयोग करता है। Google Gemini प्रतिक्रियाओं में functionCall भागों और अनुवर्ती टर्न में functionResponse भागों के साथ functionDeclarations का उपयोग करता है।
अपने टूल एक बार परिभाषित करें, उन्हें हर जगह सुरक्षित रूप से निष्पादित करें
tau-bench (2025) GPT-4o को टूल उपयोग कार्यों पर 44% pass@1 पर रखता है, तर्क निर्माण को प्रमुख विफलता श्रेणी के रूप में। क्रिया-संज्ञा नाम, टाइप किए गए एनम और पैरामीटर उदाहरणों के साथ सटीक स्कीमा उस अंतर के अधिकांश को बंद करती है।
एजेंटिक वर्कफ़्लो पैटर्न और AI एजेंट मूल्यांकन बेंचमार्क इस पृष्ठ द्वारा कवर की गई नींव का विस्तार करते हैं।
OpenLegion पर प्रति-एजेंट ACL प्रवर्तन के साथ टूल-उपयोग एजेंट बनाएं →