docs / guides / build-an-agent

Build an agent

Create a persistent persona with its own system prompt, tone, and learning. Three minutes through the UI or a direct edit of the persona file.

Through the UI

  1. Open http://localhost:8765 and go to Agents → New.
  2. Pick a starting template (or start blank). The 15 built-in personas all work as starting points.
  3. Edit the system prompt, tone and language. Add domain rules: weighted statements that constrain behaviour.
  4. Save. The persona lands in data/agents/<agent_id>/agent.json.

By editing the file directly

Personas are JSON files. You can fork an existing one, edit fields, and Soriku picks up the change on next request. Useful for version control.

cp data/agents/code-architect/agent.json data/agents/my-architect/agent.json
# edit the new file
$EDITOR data/agents/my-architect/agent.json
# restart not required — the manager re-reads on demand

Minimum viable persona

{
"id": "my-architect",
"slug": "my-architect",
"name": "My Architect",
"role": "reasoning",
"category": "architect",
"persona": {
"tone": "direct",
"language": "auto",
"tagline": "Designs systems, asks hard questions."
},
"intelligence": {
"system_prompt": "You are a software architect. Be concrete, name trade-offs, prefer simplicity.",
"domain_rules": [
{ "rule": "Always identify the constraint that drives the design.", "weight": 1.0 }
]
}
}

Use the persona

Pass x_agent_id in chat requests, or pick the agent in the UI sidebar. The persona's system prompt and memory get injected automatically.

Full persona schema reference →