Agents & Connections
Understanding the difference between Agents and Connections in Junet
What are Connections?
Connections are the authenticated links to external services and APIs. They handle the technical details of connecting to and authenticating with external systems.
Key Characteristics of Connections:
- Authentication Layer: Stores credentials (API keys, tokens, OAuth configs)
- Service Configuration: Defines how to connect to external APIs (endpoints, headers, timeouts)
- Reusable: One connection can be used by multiple agents
- No Intelligence: Connections don't make decisions or process information
- Pure Infrastructure: They're just the "plumbing" for accessing external services
Connection Examples:
Example 1: Jira Connection
- Name: "Jira Support Tickets"
- Type: Jira
- Server URL: https://company.atlassian.net
- Purpose: Access support tickets and project management
Example 2: Confluence Connection
- Name: "DevOps Documentation"
- Type: Confluence
- Server URL: https://company.atlassian.net/wiki
- Purpose: Access technical documentation and guides
Example 3: Custom API Connection
- Name: "Company CRM System"
- Type: Generic API
- Server URL: https://api.company.com
- Purpose: Access customer data and sales information
What are Agents?
Agents are intelligent assistants that leverage Large Language Models (LLMs) to understand requests, make decisions, and interact with external services through Connections.
Key Characteristics of Agents:
- Intelligence: Uses LLMs to understand natural language and context
- Decision Making: Determines when and how to use tools and connections
- Task-Specific: Configured with specific instructions and knowledge for particular domains
- Routing: Junet's routing system uses agent names and descriptions to direct queries
- Tool Usage: Can access multiple connections and tools to complete tasks
Agent Components:
An agent consists of several key parts:
Identity & Purpose:
- Name: "Confluence DevOps Agent"
- Description: "Expert in CI/CD documentation from the DevOps Confluence space"
Intelligence Settings:
- AI Model: GPT-4o (for understanding and generating responses)
- Behavior Instructions: "You are an expert in DevOps practices..."
- Creativity Level: Medium (balanced between focused and creative responses)
Access & Tools:
- Connected Services: Confluence DevOps Space
- Available Tools: Web search, file analysis
- Knowledge Sources: Deployment guides, best practices documents
The Relationship Between Agents and Connections
Think of it this way:
- Connections = Your car's engine and fuel system
- Agents = The intelligent driver who decides where to go and how to get there
Practical Example:
Scenario: A user asks: "What are the latest deployment guidelines for our production environment?"
-
Routing System analyzes the query and routes it to the "Confluence DevOps Agent" based on its name and description
-
Agent (Intelligence Layer):
- Understands the user wants deployment information
- Knows it needs to search Confluence
- Formulates appropriate search queries
- Decides which documents are relevant
-
Connection (Infrastructure Layer):
- Provides authenticated access to Confluence
- Handles the API communication
- Returns the raw data
-
Agent (Intelligence Layer):
- Processes the retrieved information
- Synthesizes a coherent answer
- Presents it to the user
Multiple Connections Per Agent
An agent can use multiple connections to provide comprehensive answers:
Example: Comprehensive DevOps Knowledge Agent
- Name: "DevOps Knowledge Agent"
- Purpose: Provides complete DevOps information across all systems
- Uses Multiple Connections:
- Confluence → For accessing documentation and guides
- Jira → For checking current work and ticket status
- GitHub → For reviewing code and recent changes
- Monitoring System → For checking system health and alerts
Example Query: "What's the deployment status of the auth service?"
The agent might:
- Check Jira for related tickets → "Are there any open deployment tasks?"
- Query Confluence for deployment docs → "What's the deployment procedure?"
- Check GitHub for recent commits → "What code changes were made recently?"
- Verify Monitoring for system health → "Is the service running properly?"
- Synthesize Answer → Combine all information into a clear, complete response
Best Practices
For Connections:
Name Connections Descriptively: Use names that indicate the service and purpose (e.g., confluence-devops, jira-support, api-production)
- Test connections after creation
- Use environment-specific connections (dev, staging, production)
- Rotate credentials regularly
- Monitor connection health
For Agents:
Descriptive Names and Descriptions: The router uses these to make decisions. Be specific about what the agent knows and does.
-
Name: Clear, concise, and descriptive
- Good: "Confluence DevOps Documentation Agent"
- Bad: "Agent 1"
-
Description: Detailed and specific
- Good: "Expert in CI/CD deployment procedures, infrastructure documentation, and DevOps best practices from the DevOps Confluence space"
- Bad: "Helps with docs"
-
Keep agents focused on specific domains
-
Provide clear instructions in system prompts
-
Test with representative queries
Summary
| Aspect | Connections | Agents |
|---|---|---|
| Purpose | Authentication & Access | Intelligence & Decision Making |
| Contains | Credentials, URLs, API configs | LLM model, instructions, context |
| Intelligence | None | High (LLM-powered) |
| Reusability | Used by multiple agents | Uses multiple connections |
| Decision Making | No | Yes |
| User Interaction | None (infrastructure) | Direct (via queries) |
Think of it this way: Connections are your keys to various buildings, and Agents are the intelligent assistants who know which building to visit, what to ask for, and how to use the information they find.