Skip to content

Multi-Agent Routing

Triggerfish वेगवेगळ्या channels, accounts, किंवा contacts ला स्वतंत्र isolated agents ला routing support करतो, प्रत्येकाचे स्वतःचे workspace, sessions, personality, आणि classification ceiling.

Multiple Agents का?

Single personality सह single agent नेहमी पुरेसा नसतो. तुम्हाला हवे असेल:

  • Calendar, reminders, आणि family messages handle करणारा WhatsApp वर personal assistant.
  • Jira tickets, GitHub PRs, आणि code reviews manage करणारा Slack वर work assistant.
  • Different tone आणि limited access सह community questions answer करणारा Discord वर support agent.

Multi-agent routing तुम्हाला single Triggerfish installation मधून या सर्वांना simultaneously run करण्यास परवानगी देतो.

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

Multi-agent routing: inbound channels routed through AgentRouter to isolated agent workspaces

AgentRouter प्रत्येक inbound message examine करतो आणि configurable routing rules वर आधारित agent ला map करतो. कोणताही rule match नसल्यास, messages default agent ला जातात.

Routing Rules

Messages route केले जाऊ शकतात:

Criteriaवर्णनExample
ChannelMessaging platform नुसार route करासर्व Slack messages "Work" ला जातात
AccountChannel मधील specific account नुसार route कराWork email vs personal email
ContactSender/peer identity नुसार route करातुमच्या manager कडील messages "Work" ला जातात
Defaultकोणताही rule match नसल्यास fallbackबाकी सर्व "Personal" ला जातात

Configuration

triggerfish.yaml मध्ये agents आणि routing define करा:

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 specify करतो:

  • id -- Routing साठी unique identifier.
  • name -- Human-readable name.
  • channels -- कोणते channel instances हा agent handle करतो.
  • tools -- Tool profile आणि explicit allow/deny lists.
  • model -- कोणता LLM model वापरायचा (per agent वेगळा असू शकतो).
  • classification_ceiling -- या agent ला reach होणारी maximum classification level.

Agent Identity

प्रत्येक agent चे स्वतःचे SPINE.md आहे ज्यात त्याची personality, mission, आणि boundaries define केल्या आहेत. SPINE.md files एजंटच्या workspace directory मध्ये राहतात:

~/.triggerfish/
  workspace/
    personal/
      SPINE.md          # Personal assistant personality
    work/
      SPINE.md          # Work assistant personality
    support/
      SPINE.md          # Support bot personality

Isolation

Multi-agent routing agents दरम्यान strict isolation enforce करतो:

AspectIsolation
Sessionsप्रत्येक agent ला independent session space आहे. Sessions कधीही shared नाहीत.
TaintTaint per-agent tracked आहे, agents मध्ये नाही. Work taint personal sessions ला affect करत नाही.
SkillsSkills per-workspace loaded आहेत. Work skill personal agent ला available नाही.
SecretsCredentials per-agent isolated आहेत. Support agent work API keys access करू शकत नाही.
Workspacesप्रत्येक agent ला code execution साठी स्वतःचे filesystem workspace आहे.

Inter-agent communication sessions_send द्वारे शक्य आहे पण

policy layer द्वारे gated आहे. एक agent स्पष्ट policy rules परवानगी न देता दुसऱ्या agent चा data किंवा sessions silently access करू शकत नाही. :::

Multi-agent routing channels आणि personas मध्ये concerns separate

करण्यासाठी आहे. Shared task वर collaborate करणे आवश्यक असलेल्या agents साठी, Agent Teams पहा. :::

Default Agent

Inbound message शी कोणताही routing rule match नसल्यास, ते default agent ला जाते. तुम्ही हे configuration मध्ये set करू शकता:

yaml
agents:
  default: personal

कोणताही default configured नसल्यास, list मधील पहिला agent default म्हणून वापरला जातो.