पाठ 23 / 29
हस्तांतरण और Swarm-शैली Networks
Agents को सीधे एक-दूसरे को नियंत्रण सौंपने दें।
प्रबंधक के बजाय सहकर्मी-से-सहकर्मी
Network / हस्तांतरण डिज़ाइन में केंद्रीय प्रबंधक नहीं होता: हर agent तय करता है कि उत्तर दे या दूसरे agent को हस्तांतरित करे (जैसे सामान्य support agent billing सवाल billing agent को सौंपता है, और billing agent वापस सौंप सकता है)। हस्तांतरण संदर्भ (प्रासंगिक messages और सार) ले जाते हैं और LangGraph में Command(goto=other_agent, update=...) या मॉडल द्वारा बुलाए जा सकने वाले हस्तांतरण tool से लागू होते हैं। लाभ: संवादात्मक उत्पादों के लिए लचीला और स्वाभाविक। जोखिम: agents के बीच ping-pong loops, खोया संदर्भ और कठिन वैश्विक नियंत्रण। उपाय: state में hop counter, कौन किसे सौंप सकता है इसकी allow-list, और हर हस्तांतरण की logging।
सुरक्षित हस्तांतरण (उदाहरण)
Node बहुत ज़्यादा hops के बाद और अनुमत लक्ष्यों के अलावा हस्तांतरण से मना करता है। यहाँ चलाया नहीं गया।
from typing import Literal
from langgraph.types import Command
ALLOWED = {"support": {"billing"}, "billing": {"support"}}
MAX_HOPS = 4
def support(state) -> Command[Literal["billing", "__end__"]]:
wants_billing = "invoice" in state["messages"][-1].lower()
if wants_billing and "billing" in ALLOWED["support"] and state["hops"] < MAX_HOPS:
return Command(goto="billing", update={"hops": state["hops"] + 1})
return Command(goto="__end__", update={"reply": "support handled it"})त्वरित जाँच: हस्तांतरण networks का एक आम जोखिम क्या है?
- Agents का नियंत्रण आगे-पीछे लौटाते रहना
- बहुत कम मॉडल calls
- state की ज़रूरत नहीं
- स्वचालित शुद्धता
Answer
Agents का नियंत्रण आगे-पीछे लौटाते रहना — Hop सीमा के बिना agents कार्य को हमेशा घुमा सकते हैं।