> For the complete documentation index, see [llms.txt](https://docs.perception.cx/perception/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.perception.cx/perception/enma-ai/agents.md).

# Agents

<div><figure><img src="/files/m4y1k7R1THPcUdUcAs67" alt=""><figcaption></figcaption></figure> <figure><img src="/files/pHLQAD7SZcR5m2dqyb44" alt=""><figcaption></figcaption></figure></div>

## The roster

* **Core** plans the work, splits it into tasks and delegates to specialists, in parallel when tasks are independent.
* **Coder** and **Frontend** write backend and UI code.
* **Researcher** reads and maps the codebase.
* **Critic** (opt-in) reviews work before it's called done.
* **Media agents** generate images, video, audio, 3D models and skyboxes. See [Game and Media Assets](broken://pages/78046eb8b556aa817b1995c36e0ad7c8d059fb7b).
* **Vision** sees the preview and screen. Any agent can ask it about an image or 3D model.

Every agent can be switched on or off in Settings (Core is always on).

## Custom agents

Add your own specialist with just a name and a purpose (its instructions), on any model. Core delegates to it like a built-in.

## Talk to a running agent

You don't wait for a run to finish to steer it:

* Every working sub-agent card has its own message box. What you type reaches that agent at its next step and shows in the transcript where it landed.
* Each card has a stop button that kills just that agent. The rest of the run continues and Core adapts.
* For the main agent: **Enter** queues your message for after the run, **Ctrl+Enter** sends it into the live run now.

## Per-agent models and fallbacks

Each agent can run on its own endpoint, model, temperature, reasoning effort and context window. Give any agent an ordered **fallback chain**: if its model terminally fails mid-run (server error, rate limit, dropped connection, after retries), the run continues on the next model with a clear line in the chat. Nothing ever switches silently.

{% hint style="warning" %}
Reasoning models in the GPT-5 family often accept only their default temperature. If an agent on one returns empty replies, set its temperature to "model default". Enma also auto-recovers this case with a retry.
{% endhint %}
