मुख्य कंटेंट तक स्किप करें

टूल उपयोग / फ़ंक्शन कॉलिंग

मध्यम

टूल उपयोग Claude को आपके द्वारा परिभाषित फ़ंक्शन कॉल करने देता है — खोज, एक कैलकुलेटर, आपका डेटाबेस, कोई भी API — और परिणामों का उपयोग करने देता है। यह हर एजेंट की नींव है।

लूप

  1. आप टूल परिभाषाओं की एक सूची शामिल करते हैं (नाम, विवरण, JSON-स्कीमा इनपुट)।
  2. यदि Claude किसी एक का उपयोग करने का निर्णय लेता है, तो यह एक tool_use ब्लॉक (तर्कों के साथ) लौटाता है और रुक जाता है।
  3. आप टूल निष्पादित करते हैं और आउटपुट को एक tool_result के रूप में वापस भेजते हैं।
  4. 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 टूल = क्रियाएँ = जोखिम एक टूल जो वास्तविक क्रियाएँ करता है, एक सुरक्षा मॉडल विरासत में पाता है। न्यूनतम विशेषाधिकार लागू करें और जोखिमपूर्ण कॉल्स के लिए एक मानव को लूप में रखें — देखें एजेंट और टूल सुरक्षित करना। :::

आगे