Why Multiple Agents?
Use separate agents to:- Isolate projects — Track production vs. staging vs. development separately
- Separate customers — Give each customer their own agent and bill accordingly
- Team organization — Each team member gets their own agent for testing
- A/B testing — Compare routing strategies or model preferences side-by-side
- Cost allocation — Track costs per agent for budgeting and reporting
Agent Hierarchy
Manifest uses a multi-tenant data model:- Has a unique API key (
mnfst_*) for OTLP telemetry ingestion - Stores telemetry data separately (messages, tokens, costs, routing decisions)
- Has independent routing configuration (tier assignments, provider keys)
- Appears as a card in the workspace dashboard
Creating Agents
In Cloud Mode
Navigate to the workspace
Sign in at app.manifest.build. You’ll see the workspace page with a grid of agents.
Create a new agent
Click + New Agent and enter a name:Agent names must:
- Be unique within your tenant
- Use only letters, numbers, hyphens, and underscores
- Be between 1 and 50 characters
Get the API key
After creation, click the agent card → Settings → API Key:Copy this key for configuration.
In Local Mode
Local mode uses a single embedded server. To simulate multiple agents:-
Run separate Manifest servers on different ports:
-
Access each dashboard separately:
- Agent 1:
http://127.0.0.1:2099 - Agent 2:
http://127.0.0.1:2100
- Agent 1:
Local mode is designed for single-agent development. For true multi-agent isolation, use cloud mode.
Switching Between Agents
To switch which agent your gateway reports to:staging agent.
Workspace Dashboard
The workspace view shows all agents in a grid:- Overview — Token usage, costs, message count, model distribution
- Messages — Paginated log of all LLM interactions
- Routing — Tier configurations and provider keys
- Settings — Rename agent, view/rotate API key, delete agent
Agent Settings
Each agent has independent settings:Rename Agent
Rotate API Key
Delete Agent
- Removes all telemetry data (messages, tokens, costs, routing decisions)
- Invalidates the API key
- Cannot be undone
Routing Configuration Per Agent
Each agent has independent routing configuration:Provider Keys
Connect LLM providers separately for each agent:- production agent uses your production OpenAI key
- staging agent uses a separate staging key with lower rate limits
- development agent uses a personal API key
Tier Overrides
Each agent can override model assignments independently:- production uses automatic routing (no overrides)
- staging forces all requests to
gpt-4o-minifor cost savings - development tests new models like
o1-previewbefore deploying
Data Isolation
All data is isolated by agent:| Data Type | Scoped By | Query Filter |
|---|---|---|
| Messages | Agent ID | WHERE agent_id = ? |
| Token usage | Agent ID | WHERE agent_id = ? |
| Costs | Agent ID | WHERE agent_id = ? |
| Routing decisions | Agent ID | WHERE agent_id = ? |
| Provider keys | Agent ID | WHERE agent_id = ? |
| Tier assignments | Agent ID | WHERE agent_id = ? |
Use Cases
Production vs. Staging
Separate agents for production and staging environments:- Test routing changes in staging before deploying to production
- Compare costs and performance side-by-side
- Separate alert rules (notify on staging failures, but not production)
Per-Customer Agents
Give each customer their own agent:- Bill customers based on their agent’s token usage
- Isolate customer data for privacy compliance
- Set per-customer routing policies (cheaper models for low-tier customers)
A/B Testing
Create two agents with different routing strategies:- Cost per message
- Average response quality
- Token usage efficiency
Team Organization
Each team member gets their own agent:- No conflicts when testing new features
- Individual cost tracking for budgeting
- Easy to clean up after team members leave
Best Practices
Naming Conventions
Use consistent naming:API Key Management
Store API keys securely:Cost Tracking
Set up notification rules per agent:Cleanup
Delete unused agents to keep the workspace tidy:- Export message logs (API endpoint:
GET /api/v1/messages?agent_name=old-agent) - Save to long-term storage (S3, database, etc.)
- Delete the agent
API Access
The Manifest API supports multi-agent queries:Next Steps
Custom Providers
Add your LLM provider API keys for routing
Routing
Learn how Manifest routes requests across models