Skip to main content

Managing Agents

List, update, and maintain your agent configurations.

List Agents​

View all your configured agents.

Via Web Interface​

  1. Navigate to Agents in the sidebar
  2. View all agents with:
    • Name and type
    • Model used
    • Tools configured
    • Creation date
    • Last activity

Via API​

import requests

response = requests.get(
"http://localhost/api/v1/agent/configs",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"}
)

agents = response.json()["configs"]
for agent in agents:
print(f"ID: {agent['id']}")
print(f"Name: {agent['name']}")
print(f"Display Name: {agent.get('display_name', 'N/A')}")
print(f"Model: {agent['model']}")
print(f"Tools: {agent.get('builtin_tools', [])}")
print(f"Created: {agent['created_at']}")
print("-" * 40)

Get Agent Details​

Retrieve full configuration for a specific agent.

import requests

agent_id = "your-agent-id"

response = requests.get(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"}
)

agent = response.json()
print(f"Name: {agent['name']}")
print(f"System Prompt: {agent['system_prompt']}")
print(f"Temperature: {agent['temperature']}")
print(f"Max Iterations: {agent['max_iterations']}")

Update Agents​

Modify existing agent configurations.

Update Personality​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"system_prompt": "You are now a senior research assistant. Provide more detailed and technical answers.",
"temperature": 0.2 # Lower temperature for more focused responses
"fallback_responses": [
"Let me research that further.",
"Would you like me to consult the technical documentation?"
]
}
)

print(f"Updated agent: {response.json()['name']}")

Update Tools​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"builtin_tools": ["rag_search", "web_search", "code_execution"],
"tool_choice": "auto"
}
)

Update Model​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"model": "gpt-4" # Upgrade model
}
)

Update Tool Choice Strategy​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"tool_choice": "required" # Force tool usage
}
)

Update Max Iterations​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"max_iterations": 10 # Allow more tool iterations
}
)

Update Tool Resources​

response = requests.put(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"tool_resources": {
"code_execution": {
"timeout": 60,
"allowed_libraries": ["pandas", "numpy", "scikit-learn"]
}
}
}
)

Clone Agents​

Create a new agent based on an existing one.

import requests

original_id = "original-agent-id"

# Get original agent
get_response = requests.get(
f"http://localhost/api/v1/agent/configs/{original_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"}
)

original = get_response.json()

# Create new agent with same config
create_response = requests.post(
"http://localhost/api/v1/agent/configs",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
json={
"name": f"{original['name']} - Copy",
"system_prompt": original["system_prompt"],
"model": original["model"],
"builtin_tools": original["builtin_tools"],
"mcp_servers": original.get("mcp_servers", [])
}
)

new_agent = create_response.json()
print(f"Created copy: {new_agent['id']}")

Delete Agents​

Remove agents you no longer need.

Via Web Interface​

  1. Navigate to Agents
  2. Find the agent to delete
  3. Click Delete
  4. Confirm deletion

Via API​

import requests

agent_id = "your-agent-id"

response = requests.delete(
f"http://localhost/api/v1/agent/configs/{agent_id}",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"}
)

if response.status_code == 204:
print("Agent deleted successfully")
else:
print(f"Error: {response.status_code}")

Monitoring Agent Performance​

Track how well your agents are performing.

Check Agent Stats​

import requests

agent_id = "your-agent-id"

response = requests.get(
f"http://localhost/api/v1/analytics/agent-performance",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
params={
"agent_id": agent_id,
"period": "7d"
}
)

stats = response.json()
print(f"Success Rate: {stats['success_rate']:.2%}")
print(f"Average Response Time: {stats['avg_response_time']}ms")
print(f"RAG Hit Rate: {stats['rag_hit_rate']:.2%}")
print(f"Average Tool Usage: {stats['avg_tools_per_request']:.1f}")

Tool Usage Analysis​

response = requests.get(
f"http://localhost/api/v1/analytics/tool-usage",
headers={"Authorization": "Bearer YOUR_JWT_TOKEN"},
params={
"agent_id": agent_id,
"period": "30d"
}
)

stats = response.json()
for tool in stats["tool_breakdown"]:
print(f"{tool['tool_name']}:")
print(f" Usage Count: {tool['usage_count']}")
print(f" Success Rate: {tool['success_rate']:.2%}")
print(f" Avg Response Time: {tool['avg_response_time']}ms")

Best Practices​

Organization​

  1. Use Descriptive Names - Make agents easy to identify
  2. Categorize Agents - Group by purpose (research, support, analysis)
  3. Document Changes - Keep track of configuration updates
  4. Version Agents - Include version in names when updating

Lifecycle Management​

StageAction
DevelopmentCreate and test extensively
TestingDeploy to staging environment
ProductionMonitor and optimize
DeprecationMark as deprecated, plan migration

Security​

  1. Separate Permissions - Use dedicated API keys for different agents
  2. Monitor Tool Access - Be aware of which agents have tool permissions
  3. Review MCP Servers - Regularly audit custom tool connections
  4. Audit Usage - Monitor agent performance and costs

Troubleshooting​

Agent Not Responding​

Problem: Agent returns errors or doesn't generate output

Check:

  • Agent is enabled
  • Model is available
  • System prompt is not too restrictive
  • Tool configurations are correct

Poor Tool Selection​

Problem: Agent doesn't use available tools

Solution:

  • Adjust tool_choice to auto or required
  • Verify tools are in builtin_tools list
  • Check MCP server connections
  • Review system prompt to encourage tool use

Exceeding Iterations​

Problem: Agent hits max iterations without completing task

Solution:

  • Increase max_iterations in configuration
  • Simplify the task or prompt
  • Improve tool selection and efficiency
  • Break complex tasks into smaller steps

Next Steps​