टूल उपयोग / फ़ंक्शन कॉलिंग
टूल उपयोग Claude को आपके द्वारा परिभाषित फ़ंक्शन कॉल करने देता है — खोज, एक कैलकुलेटर, आपका डेटाबेस, कोई भी API — और परिणामों का उपयोग करने देता है। यह हर एजेंट की नींव है।
लूप
- आप टूल परिभाषाओं की एक सूची शामिल करते हैं (नाम, विवरण, JSON-स्कीमा इनपुट)।
- यदि Claude किसी एक का उपयोग करने का निर्णय लेता है, तो यह एक
tool_useब्लॉक (तर्कों के साथ) लौटाता है और रुक जाता है। - आप टूल निष्पादित करते हैं और आउटपुट को एक
tool_resultके रूप में वापस भेजते हैं। - Claude जारी रखता है, संभवतः और टूल कॉल करते हुए, जब तक यह जवाब न दे दे।
एक टूल परिभाषित करना (Python)
tools = [{
"name": "get_weather",
"description": "Get current weather for a city.",
"input_schema": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
}]
msg = client.messages.create(
model="claude-sonnet-4-6", max_tokens=1024,
tools=tools,
messages=[{"role": "user", "content": "What's the weather in Rome?"}],
)
# If msg.stop_reason == "tool_use": run the tool, then send a tool_result back.
टिप्स
- विवरण प्रॉम्प्ट होते हैं। एक स्पष्ट टूल
descriptionऔर पैरामीटर दस्तावेज़ इस बात को बहुत बेहतर बनाते हैं कि Claude इसे कब/कैसे कॉल करता है। - निष्पादित करने से पहले प्राप्त किए गए इनपुट को सत्यापित करें — कभी उन पर आँख मूँदकर भरोसा न करें।
- त्रुटियों को परिणाम के रूप में लौटाएँ। यदि कोई टूल विफल होता है, तो त्रुटि का वर्णन करता एक
tool_resultभेजें ताकि Claude उबर सके। - सर्वर-साइड टूल। Anthropic बिल्ट-इन टूल भी प्रदान करता है (उदा. वेब सर्च, कोड एक्ज़ीक्यूशन, कंप्यूटर उपयोग) — मौजूदा मेन्यू के लिए दस्तावेज़ जाँचें।
:::warning टूल = क्रियाएँ = जोखिम एक टूल जो वास्तविक क्रियाएँ करता है, एक सुरक्षा मॉडल विरासत में पाता है। न्यूनतम विशेषाधिकार लागू करें और जोखिमपूर्ण कॉल्स के लिए एक मानव को लूप में रखें — देखें एजेंट और टूल सुरक्षित करना। :::