Skip to content

Multi-Agent रूटिंग

Triggerfish विभिन्न चैनलों, खातों, या संपर्कों को अलग-अलग agents तक रूटिंग का समर्थन करता है, प्रत्येक का अपना workspace, sessions, व्यक्तित्व, और classification ceiling होता है।

कई Agents क्यों?

एकल व्यक्तित्व वाला एक agent हमेशा पर्याप्त नहीं होता। आप चाह सकते हैं:

  • WhatsApp पर एक व्यक्तिगत सहायक जो कैलेंडर, रिमाइंडर, और परिवार के संदेश संभाले।
  • Slack पर एक कार्य सहायक जो Jira tickets, GitHub PRs, और code reviews प्रबंधित करे।
  • Discord पर एक support agent जो अलग tone और सीमित पहुँच के साथ community प्रश्नों का उत्तर दे।

Multi-agent रूटिंग आपको एक Triggerfish installation से ये सभी एक साथ चलाने देती है।

यह कैसे काम करता है

Multi-agent रूटिंग: इनबाउंड चैनल AgentRouter के माध्यम से अलग agent workspaces तक रूट किए जाते हैं

AgentRouter प्रत्येक इनबाउंड संदेश की जाँच करता है और कॉन्फ़िगर करने योग्य रूटिंग नियमों के आधार पर इसे एक agent से मैप करता है। यदि कोई नियम मेल नहीं खाता, तो संदेश डिफ़ॉल्ट agent को जाते हैं।

रूटिंग नियम

संदेशों को इनके द्वारा रूट किया जा सकता है:

मानदंडविवरणउदाहरण
Channelमैसेजिंग प्लेटफ़ॉर्म द्वारा रूटसभी Slack संदेश "Work" को जाते हैं
Accountचैनल के भीतर विशिष्ट खाते द्वारा रूटकार्य email बनाम व्यक्तिगत email
Contactप्रेषक/peer पहचान द्वारा रूटआपके प्रबंधक के संदेश "Work" को जाते हैं
Defaultजब कोई नियम मेल नहीं खाता तो Fallbackबाकी सब "Personal" को जाता है

कॉन्फ़िगरेशन

triggerfish.yaml में agents और रूटिंग परिभाषित करें:

yaml
agents:
  list:
    - id: personal
      name: "Personal Assistant"
      channels: [whatsapp-personal, telegram-dm]
      tools:
        profile: "full"
      model: claude-opus-4-5
      classification_ceiling: PERSONAL

    - id: work
      name: "Work Assistant"
      channels: [slack-work, email-work]
      tools:
        profile: "coding"
        allow: [browser, github]
      model: claude-sonnet-4-5
      classification_ceiling: CONFIDENTIAL

    - id: support
      name: "Customer Support"
      channels: [discord-server]
      tools:
        profile: "messaging"
      model: claude-haiku-4-5
      classification_ceiling: PUBLIC

प्रत्येक agent निर्दिष्ट करता है:

  • id -- रूटिंग के लिए अद्वितीय पहचानकर्ता।
  • name -- मानव-पठनीय नाम।
  • channels -- यह agent कौन से चैनल instances संभालता है।
  • tools -- Tool profile और स्पष्ट allow/deny सूचियाँ।
  • model -- कौन सा LLM model उपयोग करना है (प्रति agent अलग हो सकता है)।
  • classification_ceiling -- यह agent किस अधिकतम classification स्तर तक पहुँच सकता है।

Agent पहचान

प्रत्येक agent का अपना SPINE.md होता है जो उसके व्यक्तित्व, मिशन, और सीमाओं को परिभाषित करता है। SPINE.md फ़ाइलें agent के workspace directory में रहती हैं:

~/.triggerfish/
  workspace/
    personal/
      SPINE.md          # व्यक्तिगत सहायक व्यक्तित्व
    work/
      SPINE.md          # कार्य सहायक व्यक्तित्व
    support/
      SPINE.md          # Support bot व्यक्तित्व

अलगाव

Multi-agent रूटिंग agents के बीच सख्त अलगाव प्रवर्तित करती है:

पहलूअलगाव
Sessionsप्रत्येक agent का स्वतंत्र session स्थान है। Sessions कभी साझा नहीं किए जाते।
TaintTaint प्रति-agent ट्रैक किया जाता है, agents के बीच नहीं। कार्य taint व्यक्तिगत sessions को प्रभावित नहीं करता।
SkillsSkills प्रति-workspace लोड होते हैं। कार्य skill व्यक्तिगत agent को उपलब्ध नहीं है।
SecretsCredentials प्रति-agent अलग हैं। Support agent कार्य API keys तक नहीं पहुँच सकता।
Workspacesप्रत्येक agent का code execution के लिए अपना filesystem workspace है।

अंतर-agent संचार sessions_send के माध्यम से संभव है लेकिन policy

परत द्वारा gated है। एक agent स्पष्ट policy नियमों के बिना दूसरे agent के डेटा या sessions तक चुपचाप पहुँच नहीं सकता। :::

Multi-agent रूटिंग चैनलों और personas में चिंताओं को अलग करने के लिए है।

उन agents के लिए जिन्हें एक साझा कार्य पर सहयोग करने की आवश्यकता है, Agent Teams देखें। :::

डिफ़ॉल्ट Agent

जब कोई रूटिंग नियम इनबाउंड संदेश से मेल नहीं खाता, यह डिफ़ॉल्ट agent को जाता है। आप इसे कॉन्फ़िगरेशन में सेट कर सकते हैं:

yaml
agents:
  default: personal

यदि कोई डिफ़ॉल्ट कॉन्फ़िगर नहीं है, सूची में पहला agent डिफ़ॉल्ट के रूप में उपयोग किया जाता है।