पाठ 24 / 31
Discovery, Routing और Delegation
चुनें कि कौन-सा remote agent काम सँभाले।
ज़रूरत को विज्ञापित कौशल से मिलाएँ
Client agent को उम्मीदवार खोजने का तरीक़ा चाहिए: भरोसेमंद agent URLs की configured सूची, Agent Cards की आंतरिक registry या सूची, या साझेदारों के बीच सीधी जानकारी। फिर routing काम की तुलना cards के skills और विवरण से करती है, आदर्श रूप से पहले सटीक ids या tags से और मॉडल सिर्फ़ अस्पष्ट मामलों के लिए। सौंपने के निर्णयों में भरोसा (क्या यह agent इस डेटा के लिए अनुमोदित है?), लागत और latency, और fallbacks (वह बंद हो या मना कर दे तो?) शामिल हों। कोई agent ज़रूरी कौशल विज्ञापित न करे तो अनुमान लगाने की जगह यह कहें और मनुष्य को सौंपें। Remote agent को सिर्फ़ वही डेटा दें जो उसे चाहिए, क्योंकि वह आपकी सीमा के बाहर काम करता है।
Skill-आधारित routing, चलाकर
मैंने यह सादे Python 3 (सिर्फ़ standard library) से चलाया। Refund कार्य billing agent और compliance कार्य legal agent से मेल खाता है। "poetry" का अनुरोध किसी विज्ञापित कौशल से नहीं मिलता, इसलिए कोड अनुमान लगाने की जगह मनुष्य को सौंपता है।
AGENTS = {
"billing": {"skills": {"invoice", "refund"}},
"legal": {"skills": {"contract", "compliance"}},
"support": {"skills": {"faq", "troubleshoot"}},
}
def discover(needed_skill):
return [name for name, card in AGENTS.items() if needed_skill in card["skills"]]
for skill in ("refund", "compliance", "poetry"):
found = discover(skill)
print(skill, "->", found if found else "no agent advertises this skill; escalate to a human")
Output:
refund -> ['billing'] compliance -> ['legal'] poetry -> no agent advertises this skill; escalate to a human
त्वरित जाँच: जब कोई agent ज़रूरी कौशल विज्ञापित न करे तब क्या होना चाहिए?
- सबको डेटा भेजें
- कोई random agent चुनें
- अनुमान लगाने की जगह कहें और सौंपें
- अनुरोध अनदेखा करें
Answer
अनुमान लगाने की जगह कहें और सौंपें — अनुमान अनुपयुक्त agent को डेटा लीक कर सकता है।