System Agents

Understanding Router and Synthesizer - Junet's built-in system agents

Router Agent

The Router Agent is Junet's "traffic controller" - it analyzes every user question and decides which specialist agent should handle it.

What It Does

The Router Agent is responsible for:

  • Analyzing user questions to understand intent and context
  • Reviewing all available agents and their capabilities
  • Selecting the best agent for each specific query
  • Routing the question to the chosen specialist agent

How It Works

Step-by-Step Process:

  1. User asks a question

    • Example: "What's our CI/CD deployment process?"
  2. Router Agent analyzes the question

    • Identifies keywords: "CI/CD", "deployment", "process"
    • Understands intent: User wants technical documentation about deployment
  3. Router Agent reviews available agents

    • Reads each agent's name and description
    • Evaluates which agent is the best match
  4. Router Agent makes a decision

    • "This is about deployment and DevOps..."
    • "The 'DevOps Documentation Agent' is the expert for this!"
  5. Question is routed to the specialist agent

    • DevOps Documentation Agent receives the query
    • Agent uses its connections to find the answer
    • User receives relevant, accurate information

Real-World Example

Scenario: Your company has multiple agents set up:

  • DevOps Documentation Agent - Expert in CI/CD from Confluence
  • HR Policy Agent - Expert in company policies from HR Wiki
  • Support Ticket Agent - Expert in issue tracking from Jira
  • Sales Agent - Expert in customer data from CRM

User asks: "What's the process for deploying to production?"

Router Agent thinks:

  • "This question mentions 'deploying' and 'production'"
  • "The DevOps Documentation Agent knows about deployment processes"
  • "Not relevant for HR, Support, or Sales agents"
  • Decision: Route to DevOps Documentation Agent ✅

Why You Can't Delete It

The Router Agent is system-critical. Without it, Junet wouldn't know which agent to use for your questions. Every query would fail because there would be no decision-making layer.

What happens without the Router Agent:

  • ❌ System can't determine which agent to use
  • ❌ Questions might go to the wrong specialist
  • ❌ Users would have to manually select agents for every question
  • ❌ The intelligent routing system breaks completely

Synthesizer Agent

The Synthesizer Agent combines information from multiple sources into one coherent, comprehensive answer.

What It Does

The Synthesizer Agent is responsible for:

  • Collecting information from multiple specialist agents
  • Analyzing and combining different pieces of information
  • Creating unified answers that are coherent and well-structured
  • Presenting complete responses instead of disconnected fragments

How It Works

Step-by-Step Process:

  1. Multiple agents gather information

    • Different specialist agents retrieve relevant data
    • Each agent contributes specific knowledge from their domain
  2. Synthesizer Agent receives all pieces

    • Collects responses from all contributing agents
    • Has a complete picture of available information
  3. Synthesizer Agent analyzes the information

    • Identifies connections between different pieces
    • Detects contradictions or redundancies
    • Determines the most important points
  4. Synthesizer Agent combines everything

    • Creates a logical narrative structure
    • Integrates all relevant information
    • Ensures consistency and clarity
  5. User receives a complete answer

    • One coherent response instead of separate fragments
    • All information properly contextualized
    • Easy to understand and act upon

Real-World Example

User asks: "What's the status of our authentication service deployment?"

This complex question requires information from multiple sources:

Information Gathering Phase:

  1. Jira Agent checks tickets

    • Found: "2 open tickets related to auth service deployment"
    • Found: "1 ticket marked as 'Ready for Production'"
  2. Confluence Agent searches documentation

    • Found: "Deployment procedure updated yesterday"
    • Found: "New security requirements added"
  3. GitHub Agent reviews code

    • Found: "3 commits merged to main branch today"
    • Found: "All CI/CD checks passed"
  4. Monitoring Agent checks system health

    • Found: "Current auth service: 99.9% uptime"
    • Found: "No active alerts or incidents"

Synthesizer Agent's Work:

Without Synthesizer (disconnected fragments):

Fragment 1: "There are 2 open Jira tickets..."
Fragment 2: "The documentation says..."
Fragment 3: "GitHub shows 3 commits..."
Fragment 4: "Monitoring indicates..."

With Synthesizer (coherent answer):

Authentication Service Deployment Status

Current State:
The authentication service is running stable with 99.9% uptime 
and no active incidents.

Recent Activity:
• 3 commits merged today, all CI/CD checks passed
• Deployment procedure updated yesterday with new security requirements

Pending Work:
• 2 open tickets related to deployment
• 1 ticket is marked as "Ready for Production"

Recommendation:
The service is stable and code is ready. Review the pending 
tickets before proceeding with the next deployment.

Why You Can't Delete It

The Synthesizer Agent is essential for complex queries. Without it, you would receive disconnected pieces of information that you'd have to manually combine and make sense of.

What happens without the Synthesizer Agent:

  • ❌ Answers are fragmented and disconnected
  • ❌ Users receive separate responses from each agent
  • ❌ No context or connections between information pieces
  • ❌ Users must manually combine and interpret data
  • ❌ Queries involving multiple sources become confusing

How They Work Together

The Router and Synthesizer agents form a complete system:

User Question
     ↓
[Router Agent] → Analyzes question
     ↓           Selects agent(s)
     ↓
[Specialist Agents] → Gather information
     ↓                Use connections
     ↓                Retrieve data
     ↓
[Synthesizer Agent] → Combines information
     ↓                 Creates coherent answer
     ↓
Complete Answer to User

Example: Multi-Step Query

User asks: "Should we deploy the new feature today?"

Router Agent decides: This needs multiple sources

  • DevOps Agent (deployment readiness)
  • Jira Agent (open issues)
  • Monitoring Agent (system health)
  • GitHub Agent (code status)

Specialist Agents work:

  • Each agent gathers their specific information
  • All agents return their findings

Synthesizer Agent combines:

  • Code is ready ✅
  • 2 critical bugs still open ⚠️
  • System health is good ✅
  • Last deployment had issues ⚠️

Final Answer: "Not recommended. While the code and system are ready, there are 2 critical bugs still open. Previous deployment issues suggest waiting until those are resolved. Estimated timeline: 2 days."

Protected Status in the UI

Both system agents have special protections in the Junet interface:

Visual Indicators

  • 🔒 Lock Icon: Displayed next to agent names
  • "System Agent" Badge: Clear label indicating special status
  • Disabled Delete Button: Cannot be removed accidentally
  • Tooltip on Hover: Explains why the agent is protected

What You CAN'T Do

❌ Delete system agents ❌ Disable system agents ❌ Modify their core behavior ❌ Change their routing/synthesis logic

What You CAN Do

✅ View system agent activity in logs ✅ See which agents were used for each query ✅ Monitor system agent performance ✅ Create and manage your own specialist agents

Best Practices

Trust the System Agents

Let them do their job. System agents are optimized and tested extensively. They work best when you focus on creating great specialist agents with clear names and descriptions.

Optimize for the Router

Since the Router Agent uses names and descriptions to make decisions:

Good Agent Configuration:

  • Name: "Confluence DevOps Documentation Agent"
  • Description: "Expert in CI/CD deployment procedures, infrastructure documentation, and DevOps best practices from the DevOps Confluence space"

Bad Agent Configuration:

  • Name: "Agent 1"
  • Description: "Helps with stuff"

The Router Agent needs clear, descriptive information to make good routing decisions!

Design for Synthesis

When creating specialist agents, consider how their responses will be combined:

Good Response Structure:

  • Clear, concise information
  • Proper context included
  • Specific data points
  • Actionable insights

Poor Response Structure:

  • Vague statements
  • Missing context
  • Unclear references
  • Ambiguous data

The Synthesizer Agent works best when specialist agents provide well-structured, contextual information!

Monitoring System Agents

While you can't modify system agents, you can monitor their performance:

Available Metrics

  • Routing Decisions: See which agents were selected for queries
  • Routing Accuracy: Track if users refine queries (indicates good/bad routing)
  • Synthesis Quality: Monitor user feedback on combined answers
  • Response Times: Track how long system agents take to process

Troubleshooting

If you notice routing issues:

  1. Check specialist agent names and descriptions

    • Are they clear and specific?
    • Do they accurately describe capabilities?
  2. Review query patterns

    • Are users asking ambiguous questions?
    • Are there gaps in specialist agent coverage?
  3. Analyze routing logs

    • Which agents are being selected?
    • Are there patterns in routing decisions?

Summary

AspectRouter AgentSynthesizer Agent
Primary RoleDecision making & routingInformation combining
When It WorksEvery single queryMulti-source queries
InputUser question + available agentsMultiple agent responses
OutputSelected specialist agent(s)Unified, coherent answer
Can Be Deleted❌ No - System critical❌ No - System critical
Can Be Modified❌ No - Optimized behavior❌ No - Optimized behavior
User InteractionIndirect (behind the scenes)Indirect (behind the scenes)

Think of them as your intelligent infrastructure: The Router is your smart receptionist who knows exactly which expert to call, and the Synthesizer is your executive assistant who compiles insights from multiple experts into clear, actionable reports.

System Agents | Junet.io Documentation