How Agents Work
An agent is an AI entity with a defined personality, a set of tools, and a model configuration. When you chat with an agent, it uses its system prompt and tools to respond to your messages.
What makes up an agent
Section titled “What makes up an agent”Every agent has:
- Name: a display name shown in the UI
- Description: a short summary of what the agent does
- Model group: which LLM configuration to use (e.g.,
primary,coding,reasoning) - Tools: which tools the agent can access
- Identity: key-value pairs that define personality traits (name, emoji, style)
- Sandbox config: optional restrictions on network access and execution timeouts
Agent lifecycle
Section titled “Agent lifecycle”When you send a message to an agent:
- The platform loads the agent’s system prompt, identity, and any relevant memory (user facts, agent facts, space context).
- Your message is sent to the configured LLM along with the conversation history.
- If the agent decides to use a tool, the tool executes server-side and the result feeds back into the conversation.
- This tool loop continues until the agent produces a final text response.
- The response streams back to you token by token via SSE.
Agents can run multiple tool calls in sequence within a single response. The maximum number of tool turns is configurable (default: 200).
Built-in vs. custom agents
Section titled “Built-in vs. custom agents”Frona ships with several built-in agents that cover common use cases. See Agent Types for details on each one.
You can also create custom agents through the UI or API. Custom agents let you define your own system prompt, pick specific tools, and tune model settings. See Agent Configuration for how to set them up.
Ownership
Section titled “Ownership”Every custom agent belongs to a user. You can only see and modify agents you created. Built-in agents are available to all users.
Concurrent tasks
Section titled “Concurrent tasks”Each agent can handle multiple tasks at once. The max_concurrent_tasks setting controls how many tasks an agent can run in parallel (the server-wide default is 10).