Skip to main content
The agent is DecimalAI’s unit of identity. Every trace is filed under one agent, and every manifest version, saved prompt, setup version, regression check, dataset and evaluator belongs to one.

What an agent is

An agent is a name. Pick a string, pass it to your framework’s agent_config("support-agent"), and every run of that agent is traced under that name and gets that agent’s prompt and skills. Code that only traces names it with decimalai.init(agent_name="support-agent") or DECIMAL_AGENT_NAME, and that name reaches every adapter, start_trace(), @decimalai.trace and SkillRouter. An agent comes into being in one of two ways:
  • Create it in the dashboard, with a system prompt and skills, from scratch or from a skill pack. decimalai init <agent-name> then writes the code that runs it. The Quickstart walks through it.
  • Send a trace from your existing code under a new name, and the agent appears on its own.
Traces, manifests, the regression baseline, evaluators, datasets, skill usage and setup versions all join on that name. It isn’t a string to change casually, but a rename keeps the history.

Saved prompt and setup versions

An agent’s page opens on Prompt & skills: the saved prompt and skill list agent_config() hands your code. Each change is reviewed before it goes live and recorded as a numbered setup version, which you can compare and roll back. Prompt & skills, versions and roll back covers all of it. Two histories sit side by side:

Naming agents

  1. Lowercase, hyphenated, no spaces. support-agent, not Support Agent or SupportAgent. Names appear in URLs (/agents/support-agent), CLI commands and API payloads.
  2. Describe the role, not the implementation. langchain-react-bot stops being true when you switch frameworks.
  3. Use a stable prefix if you’ll have many. triage-frontline, triage-escalation and triage-billing are easier to filter than three unrelated names.
Avoid agent, bot and assistant, which collide with default examples, and model names, which go stale on every swap.

When to use one agent vs. multiple

If yes, use one agent. They behave the same and are only routed differently. Tell them apart with session_id and session metadata.If no, use multiple agents, so a manifest change to one doesn’t pollute the regression report for the other.
A customer-facing support-agent needs strict checks before each deploy, and an internal-research-agent can ship looser changes. If they need different policies, split them: evaluators and compatibility policies are per agent.
The common shape is one agent per product surface that ships independently.

When NOT to split

Renaming an agent without losing history

1

Choose the new name

Follow the naming rules, and confirm the name isn’t taken on the Agents page or with GET /api/v1/agents.
2

Rename the agent record

Call POST /api/v1/agents/<old-name>/rename with {"new_name": "<new-name>"}. Manifests, traces and datasets stay attached, and the old name keeps resolving through a forwarding alias, so existing URLs and agent_name= filters don’t break. To fold two agents together, re-ingest under the surviving name: a rename isn’t a merge.
3

Use the new name in your next deploy

Update the name your code passes: agent_config()’s argument, or decimalai.init(agent_name=...) and DECIMAL_AGENT_NAME in code that only traces.
4

Update references

Search your repo and workflow files for the old name, such as .github/workflows/decimal.yml, evaluator names and dataset filters.
If you deploy the new name first, a fresh agent claims it and the rename returns 400. Rename that new record out of the way, then rename the original.

Per-agent evaluation

The evaluators attached to an agent control how strictly its traces are scored:
Evaluations explains how built-ins, @eval functions and LLM judges combine. Compatibility Policies covers the separate per-agent rules for what a manifest change does to old traces.

Sub-agents and orchestrators

A sub-agent that runs as its own traced run is its own agent, linked to its orchestrator by parent_trace_id, with its own manifest. A handoff inside one run stays in the orchestrator’s trace. Multi-agent systems shows what each gives you.

What’s next

Manifests

How code versions are tracked and what gets hashed.

Evaluations

Define what “good” means for each agent.