एक-दूसरे से मिलते-जुलते टूल से बचना
अस्पष्ट और overlapping टूल गलत मार्ग-निर्धारण कराते हैं।
एक-दूसरे से मिलते-जुलते टूल से बचना, CoddyKit पर Claude Architect का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Claude Architect सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Claude Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
रूटिंग गलत क्यों होती है
जब आप Claude को टूल का एक समूह देते हैं, तो मॉडल को प्रत्येक चरण के लिए सही टूल चुनना पड़ता है। वह यह काम टूल के विवरण पढ़कर करता है, चतुर नामों से अनुमान लगाकर नहीं।
यदि दो टूल सुनने में एक ही काम करते लगें, तो Claude के सामने सिक्का उछालने जैसी स्थिति बन जाती है। कभी वह सही टूल चुनता है, कभी गलत। इसे मिसरूटिंग कहते हैं, और उत्पादन परिवेश में अच्छी तरह बनाए गए एजेंट के अप्रत्याशित व्यवहार करने का यह एक आम कारण है।
इस पाठ में आप सीखेंगे कि एक-दूसरे से ओवरलैप करने वाले और अस्पष्ट टूल किस तरह मिसरूटिंग कराते हैं, और ऐसे साफ़, गैर-ओवरलैपिंग टूल कैसे डिज़ाइन करें जो विश्वसनीय रूप से रूट हों।
विवरण ही चयन की प्रक्रिया हैं
याद रखने योग्य मुख्य तथ्य: टूल के विवरण ही प्राथमिक चयन-प्रक्रिया हैं। मॉडल प्रत्येक विवरण पढ़ता है और उस टूल को चुनता है जिसका बताया गया उद्देश्य वर्तमान कार्य से सबसे अच्छी तरह मेल खाता है।
एक अच्छे विवरण में शामिल होते हैं:
- उद्देश्य — टूल क्या करता है
- वापसी मान — यह क्या लौटाता है
- इनपुट प्रारूप — ठोस उदाहरणों सहित
- विशेष स्थितियाँ और लागू होने की सीमाएँ — इसका उपयोग NOT कब करना है
जब दो विवरण एक-दूसरे में घुलमिल जाते हैं, तो सीमाएँ गायब हो जाती हैं और Claude उनके बीच अंतर नहीं कर पाता।
ओवरलैप कैसा दिखता है
यह एक-दूसरे से ओवरलैप करने वाली जोड़ी का सामान्य उदाहरण है। दोनों टूल ऑर्डर की जानकारी प्राप्त करने का दावा करते हैं, लेकिन उनके अस्पष्ट विवरणों में इनके बीच स्पष्ट अंतर नहीं बताया गया है।
अपने आप से पूछिए: यदि कोई उपयोगकर्ता कहे "मेरा पैकेज कहाँ है?", तो Claude को कौन-सा टूल चलाना चाहिए? विवरण निर्णय लेने का कोई आधार नहीं देते, इसलिए मॉडल कभी-कभी गलत टूल चुन लेगा।
tools = [
{
"name": "lookup_order",
"description": "Get order info.",
"input_schema": {
"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"],
},
},
{
"name": "get_order_details",
"description": "Retrieve details about an order.",
"input_schema": {
"type": "object",
"properties": {"id": {"type": "string"}},
"required": ["id"],
},
},
]मिसरूटिंग की लागत
मिसरूटिंग केवल दिखावे की समस्या नहीं है। किसी एजेंट-आधारित लूप में टूल का एक गलत आह्वान कई समस्याएँ पैदा करता है:
- गलत टूल गलत डेटा-रूप लौटाता है या कोई त्रुटि देता है।
- Claude सुधार करने का प्रयास करता है, जिससे अतिरिक्त चरण और टोकन खर्च होते हैं।
- पूर्व-शर्तें छूट जाती हैं — उदाहरण के लिए, ऐसे मार्ग पर
process_refundचलाया जाता है जहाँ ग्राहक की पहचान कभी सत्यापित ही नहीं हुई।
ग्राहक सहायता परिदृश्य में get_customer, lookup_order, process_refund और escalate_to_human जैसे प्रत्येक टूल का अलग काम है। किसी भी दो टूल के बीच अंतर धुंधला करें और पूरा प्रवाह अविश्वसनीय हो जाता है।
सुधार 1 — एक टूल, एक काम
ओवरलैप का सबसे साफ़ समाधान अक्सर दोहराए गए टूल को एक ही, अच्छी तरह वर्णित टूल में मिला देना होता है। यदि दो टूल वास्तव में एक ही काम करते हैं, तो आपको दोनों की आवश्यकता नहीं है।
ध्यान दीजिए कि अब विवरण में उद्देश्य, वापसी मान, उदाहरण सहित इनपुट प्रारूप और यह स्पष्ट सीमा दी गई है कि यह क्या NOT करता।
tools = [
{
"name": "lookup_order",
"description": (
"Retrieve the full status and line items of a SINGLE order by its "
"order ID. Returns: status, items, tracking number, and dates. "
"Input: order_id as a string like 'ORD-10482'. "
"Use this for any 'where is my order' or order-status question. "
"Does NOT look up customers by name or email — use get_customer for that."
),
"input_schema": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Order ID, e.g. 'ORD-10482'",
}
},
"required": ["order_id"],
},
}
]सुधार 2 — स्पष्ट सीमाएँ बनाएँ
कभी-कभी आपको सचमुच दो संबंधित टूल की आवश्यकता होती है। उपाय यह है कि प्रत्येक विवरण में स्पष्ट रूप से बताया जाए कि इसका उपयोग कब करना है और कब नहीं करना है, तथा दूसरे संबंधित टूल की ओर संकेत किया जाए।
यहाँ ग्राहक-खोज टूल और ऑर्डर-खोज टूल साथ-साथ हैं, लेकिन दोनों अपनी सीमा बताते हैं, इसलिए Claude हर बार सही रूटिंग कर सकता है।
tools = [
{
"name": "get_customer",
"description": (
"Find a customer record by email or phone. Returns the verified "
"customer_id, name, and account tier. Use FIRST to verify identity "
"before any account action. Does NOT return order details — "
"pass the customer_id to lookup_order for that."
),
},
{
"name": "lookup_order",
"description": (
"Retrieve one order by order_id. Returns status, items, tracking. "
"Requires a known order_id. To find which orders belong to a "
"customer, call get_customer first. Does NOT verify identity."
),
},
]सुधार 3 — टूल को भूमिका के अनुसार सीमित करें
ओवरलैप अक्सर इसलिए दिखाई देता है क्योंकि एजेंट को पूरे सिस्टम का हर टूल दे दिया जाता है। अनुशासन यह है कि टूल को भूमिका के अनुसार सीमित किया जाए: प्रत्येक एजेंट को केवल वही टूल दें जिनकी उसके काम के लिए आवश्यकता है।
रिफंड एजेंट को कोड-खोज टूल की आवश्यकता नहीं है। शोध उप-एजेंट को process_refund की आवश्यकता नहीं है। बहु-एजेंट सिस्टम में प्रत्येक AgentDefinition न्यूनतम विशेषाधिकार के सिद्धांत का पालन करते हुए अपने allowed_tools रखता है — कम टूल का अर्थ है उनमें भ्रम होने की कम संभावना।
from claude_agent_sdk import AgentDefinition
refund_agent = AgentDefinition(
name="refund_agent",
description="Handles verified refund requests only.",
system_prompt="Verify identity, then process eligible refunds.",
# Least privilege: no order-search, no escalation overlap
allowed_tools=["get_customer", "lookup_order", "process_refund"],
)टूल का समूह छोटा रखें
ओवरलैप और अनावश्यक विस्तार एक ही समस्या के दो रूप हैं। तथ्य-पत्र में संख्या के बारे में स्पष्ट निर्देश हैं:
- प्रत्येक एजेंट के लिए 4–5 टूल विश्वसनीय चयन के लिए सर्वोत्तम हैं।
- 18 या अधिक टूल चयन की विश्वसनीयता को तेज़ी से घटाते हैं।
अधिक टूल होने पर दो विवरणों के एक-दूसरे से टकराने की संभावनाएँ बढ़ जाती हैं। यदि आपके पास पाँच से अधिक टूल हो जाएँ, तो पूछिए कि क्या कुछ टूल किसी दूसरे एजेंट की भूमिका से संबंधित हैं, या क्या उनमें से दो वास्तव में दो नामों वाला एक ही टूल हैं।
संसाधन टूल नहीं होते
ओवरलैप का एक सूक्ष्म स्रोत यह है कि लोग केवल-पठन संदर्भ डेटा को टूल के रूप में लपेट देते हैं, जबकि उसे MCP का संसाधन होना चाहिए।
MCP में मूल घटक अलग-अलग होते हैं:
- टूल — कार्रवाइयाँ (कुछ करना, संभवतः अन्य प्रभावों के साथ)
- संसाधन — केवल-पठन डेटा और संदर्भ, जैसे स्कीमा या कैटलॉग
- प्रॉम्प्ट — दोबारा उपयोग किए जा सकने वाले साँचे
यदि किसी उत्पाद कैटलॉग को एक और get_* टूल के बजाय संसाधन के रूप में उपलब्ध कराया जाए, तो आपके कार्रवाई वाले टूल कम और अलग-अलग बने रहते हैं तथा रूटिंग साफ़ रहती है।
{
"resources": [
{
"uri": "catalog://products",
"name": "Product Catalog",
"description": "Read-only product list with prices and SKUs.",
"mimeType": "application/json"
}
],
"tools": [
{ "name": "create_order", "description": "Place an order for a given SKU and quantity." }
]
}नाम से नहीं, सीमा से अंतर करें
एक आकर्षक लेकिन कमज़ोर समाधान केवल टूल के नाम बदल देना है — lookup_order_v2, get_order_fast, order_helper। याद रखें: Claude नामों से नहीं, विवरणों के आधार पर चयन करता है। उसी अस्पष्ट विवरण के साथ अधिक सुंदर नाम रूटिंग को बेहतर नहीं बनाता।
वास्तविक अंतर लागू होने की सीमा से आता है: प्रत्येक विवरण में ऐसा वाक्य जो ठीक-ठीक बताए कि इस स्थिति में यह टूल क्यों चुना जाए और दूसरा क्यों नहीं। सीमाएँ ही सिक्का उछालने जैसी स्थिति समाप्त करती हैं।
त्वरित जाँच-सूची
टूल का समूह जारी करने से पहले यह जाँच करें:
- टूल की प्रत्येक जोड़ी के लिए, क्या आप ऐसा एक इनपुट बता सकते हैं जिसमें यह स्पष्ट हो कि किसे चलाना है? यदि नहीं, तो उन्हें मिलाएँ या विवरण स्पष्ट करें।
- क्या प्रत्येक विवरण में उद्देश्य, वापसी मान, इनपुट उदाहरण और स्पष्ट “कब उपयोग NOT करें…” सीमा दी गई है?
- क्या यह एजेंट अपनी भूमिका में वास्तव में प्रत्येक टूल का उपयोग करता है, या वह टूल अनजाने में इसमें शामिल हो गया?
- क्या आपके पास 4–5 टूल हैं, 18 या अधिक नहीं?
- क्या किसी केवल-पठन डेटा को संसाधन के रूप में बेहतर ढंग से दर्शाया जा सकता है?
इस जाँच को सफलतापूर्वक पूरा करना ऐसे एजेंट के बीच का अंतर है जो विश्वसनीय रूप से रूट करता है और ऐसे एजेंट के बीच का, जो अधिक भार में चुपचाप गलत रूटिंग करता है।
त्वरित जाँच
जब उपयोगकर्ता ऑर्डर के बारे में पूछते हैं, तो एक सहायता एजेंट कभी-कभी गलत टूल चला देता है। आपने जो सीखा है, उसे लागू कीजिए।
पुनरावलोकन — साफ़ टूल विश्वसनीय रूप से रूट होते हैं
मुख्य बातें:
- चयन नाम नहीं, विवरण निर्धारित करते हैं। अस्पष्ट या एक-दूसरे से ओवरलैप करने वाले विवरण मिसरूटिंग कराते हैं।
- एक टूल, एक काम। वास्तविक रूप से दोहराए गए टूल को मिलाएँ; अन्यथा प्रत्येक टूल के लिए “कब उपयोग करें / कब NOT उपयोग करें” की स्पष्ट सीमा दें, जो उसके संबंधित टूल की ओर संकेत करे।
- भूमिका के अनुसार सीमित करें। प्रत्येक एजेंट को केवल आवश्यक टूल दें (न्यूनतम विशेषाधिकार), और 4–5 टूल तक सीमित रखें — 18 या अधिक टूल विश्वसनीयता घटाते हैं।
- केवल-पठन डेटा को किसी अन्य टूल के रूप में नहीं, बल्कि संसाधन के रूप में दर्शाएँ, ताकि कार्रवाई वाले टूल कम और अलग-अलग रहें।
- एक बेहतरीन विवरण में उद्देश्य, उदाहरणों सहित वापसी मान, इनपुट प्रारूप और लागू होने की सीमाएँ बताई जाती हैं।
टूल इस तरह डिज़ाइन करें कि सही चुनाव स्पष्ट हो, और आपका एजेंट हर बार सही रूटिंग करे।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 26
- पाठ
- 104
अक्सर पूछे जाने वाले प्रश्न
क्या “एक-दूसरे से मिलते-जुलते टूल से बचना” पाठ निःशुल्क है?
हाँ — Claude Architect अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “एक-दूसरे से मिलते-जुलते टूल से बचना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Claude Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“एक-दूसरे से मिलते-जुलते टूल से बचना” में मैं क्या सीखूँगा?
अस्पष्ट और overlapping टूल गलत मार्ग-निर्धारण कराते हैं। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Claude Architect का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Claude Architect शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Claude Architect शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“एक-दूसरे से मिलते-जुलते टूल से बचना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Claude Architect पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Claude Architect पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- टूल का विवरण चयन को संचालित करता है
- उत्कृष्ट विवरण की संरचना
- एक-दूसरे से मिलते-जुलते टूल से बचना
- Input प्रारूप और उदाहरण