Skip to main content

Overview

Production voice agents typically handle multiple concurrent conversations. Conversimple’s agent architecture is designed for this use case, with each agent instance managing a single conversation session.

One Agent Per Conversation

The recommended pattern is one agent instance per conversation:
###Why This Pattern?
  • Isolation: Each conversation has its own state
  • Fault Tolerance: One conversation crash doesn’t affect others
  • Simplicity: No need to manage conversation routing
  • Scalability: Python’s async handles thousands of agents

Agent Pool Manager

Manage multiple agent instances effectively:

Resource Management

Memory Management

Track memory usage per agent:

Conversation Limits

Limit concurrent conversations:

Load Balancing

Round-Robin Distribution

Distribute conversations across multiple instances:

Least-Loaded Distribution

Route to the manager with fewest active conversations:

Conversation Routing

Route by Customer

Route customers to specific agents:

Monitoring and Health Checks

Health Check Endpoint

Expose agent pool health:

Alerting

Set up alerts for capacity issues:

Graceful Shutdown

Handle shutdown without dropping conversations:

Best Practices

1. Set Appropriate Limits

2. Monitor Resource Usage

3. Handle Cleanup Properly

Next Steps

State Management

Advanced state management patterns

Scaling

Scale to thousands of conversations