Skip to content

Agent Types

Agent Types are templates that define the configuration, behavior, and capabilities for agents. Think of them as blueprints from which agents are created.

What is an Agent Type?

An Agent Type defines:

  • System prompt (agent personality/behavior)
  • Default LLM provider and model
  • Tool capabilities
  • API endpoint slug (for pool routing)

Agent Type vs Agent

Agent Type Agent
Template/Blueprint Running instance
Defines configuration Uses configuration
One type → many agents Each agent has one type
Static definition Dynamic lifecycle
graph LR
    AT[Agent Type: support] --> A1[Agent: support-1]
    AT --> A2[Agent: support-2]
    AT --> A3[Agent: support-3]

Creating an Agent Type

Via Dashboard

  1. Navigate to Agent Types (or create during agent creation)
  2. Click Create Agent Type
  3. Configure the template

Configuration Options

Field Required Description
Name Yes Display name for the type
Slug Yes URL-friendly identifier
System Prompt Yes Default instructions for agents
Provider Yes Default LLM provider
Model Yes Default model to use
Endpoint Slug No API endpoint for pool routing
Capabilities No Enabled tool categories
Temperature No Default temperature (0-1)
Max Tokens No Default response limit

Endpoint Slug

The endpoint slug enables API access to agent pools:

Endpoint Slug: support
API URL: POST /api/v1/ask/support

When set, customers can send messages to any available agent of this type without specifying an agent ID.

Capabilities

Capabilities are predefined tool bundles that can be assigned to agent types:

Available Capabilities

Capability Tools Included Use Case
code_review Git read + file read Code review bots
file_operations Full filesystem access File management
git_full All git operations DevOps automation
web_http HTTP GET/POST API integration
research Web search + HTTP Research assistants

Capability Details

code_review

- read_file
- list_directory
- git_status
- git_diff
- git_log

file_operations

- read_file
- write_file
- delete_file
- list_directory
- file_exists

git_full

- git_status
- git_diff
- git_log
- git_commit
- git_push
- git_pull
- git_branch
- git_checkout
- git_merge
- git_stash
- git_reset
- git_clone

web_http

- http_get
- http_post

research

- web_search
- http_get
- http_post

Example Agent Types

Customer Support

Name: Customer Support
Slug: customer-support
Endpoint Slug: support

System Prompt: |
  You are a customer support agent for Acme Corp.

  Your responsibilities:
  - Answer product questions
  - Help with account issues
  - Troubleshoot common problems

  Guidelines:
  - Be friendly and professional
  - Keep responses concise
  - Escalate complex issues to humans

Provider: OpenAI
Model: gpt-4o
Capabilities: [web_http]
Temperature: 0.7

Code Reviewer

Name: Code Reviewer
Slug: code-reviewer
Endpoint Slug: review

System Prompt: |
  You are a senior software engineer performing code reviews.

  Focus on:
  - Security vulnerabilities
  - Performance issues
  - Code style and best practices
  - Potential bugs

  Provide actionable feedback with code examples.

Provider: Anthropic
Model: claude-sonnet-4-20250514
Capabilities: [code_review]
Temperature: 0.3

Research Assistant

Name: Research Assistant
Slug: researcher
Endpoint Slug: research

System Prompt: |
  You are a research assistant that helps gather and
  synthesize information from the web.

  When researching:
  - Search for multiple sources
  - Verify information across sources
  - Cite your sources
  - Summarize findings clearly

Provider: OpenAI
Model: gpt-4o
Capabilities: [research]
Temperature: 0.5

Using Agent Types

Creating Standalone Agents

  1. Go to Agents page
  2. Click Create Agent
  3. Select your Agent Type
  4. Optionally override defaults
  5. Create the agent

Creating Team Deployments

  1. Go to Teams page
  2. Select or create a team
  3. Click Add Deployment
  4. Select the Agent Type
  5. Set replica count
  6. Deploy

API Pool Access

If an endpoint slug is configured:

# Send to any available agent of this type
curl -X POST https://agents.ag2trust.com/api/v1/ask/support \
  -H "X-API-Key: cust_xxx" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello, I need help"}'

Best Practices

1. One Purpose Per Type

# Good: Focused types
- customer-support-general
- customer-support-technical
- customer-support-billing

# Avoid: Catch-all types
- customer-support-all-in-one

2. Use Clear Naming

Type Name Slug Endpoint
Customer Support Tier 1 customer-support-t1 support-t1
Code Review - Python code-review-python review-py
Data Analysis data-analysis analyze

3. Minimal Capabilities

Only grant necessary capabilities:

# Customer support doesn't need git
Capabilities: [web_http]

# Code reviewer doesn't need web search
Capabilities: [code_review]

4. Version System Prompts

Track prompt changes in your own version control:

prompts/
├── customer-support-v1.md
├── customer-support-v2.md
└── code-reviewer-v1.md

Agent Type API

List Agent Types

GET /api/agent-types

Get Agent Type

GET /api/agent-types/{id}

Create Agent Type

POST /api/agent-types
Content-Type: application/json

{
  "name": "Support Agent",
  "slug": "support",
  "endpoint_slug": "support",
  "system_prompt": "You are a helpful assistant...",
  "provider_id": "uuid",
  "model": "gpt-4o",
  "capabilities": ["web_http"],
  "temperature": 0.7
}

Update Agent Type

PATCH /api/agent-types/{id}
Content-Type: application/json

{
  "system_prompt": "Updated instructions..."
}

Updates Don't Affect Running Agents

Changing an agent type doesn't update already-running agents. Stop and restart agents to pick up changes.