- Different teams need agents tuned to their own domain (e.g., a Sales Assistant and a Marketing Analyst).
- You want specialized agents with distinct instructions or tool access in the same deployment.
- You need to isolate context (rules, certified queries, memories) between user groups.
Architecture
A multi-agent setup introduces one new concept on top of the single-agent model: spaces.- A space belongs to the account and is used by one or more deployments — see Space scope.
- A space is an isolated context. It owns its rules, certified queries, and memories — they are not shared across spaces.
- Each agent belongs to exactly one space and inherits everything that space owns. Multiple agents can live in the same space and share the same rules, certified queries, and memories.
auto space that holds all rules, certified queries, and memories — you don’t need to think about it. In a multi-agent setup, you define spaces explicitly and attach rules and certified queries to specific spaces.
What changes from the single-agent setup
Theagents/ file structure is the same. What’s different is how agents/config.yml is shaped:
- Agents are defined as an array. Each agent gets a unique
nameand an optionaldescription, in addition to the standard agent properties (llm,runtime,accessible_views,memory_mode, etc.). - Spaces are introduced. A
spacesarray defines the contexts agents operate in. Each space gets a uniquename. - Rules and certified queries attach to spaces. Use the
spaceproperty in the frontmatter of each rule or certified query Markdown file to attach it to a specific space.
Agents
Replace the flat root-level agent properties with anagents array:
Spaces
A space is the context an agent operates in. Spaces own the rules, certified queries, and memories that the agents inside them share. Define spaces alongside agents:
Each agent must reference exactly one space via its
space property. Multiple agents can share the same space and inherit its rules, certified queries, and memories.
Space scope
Spaces live at the account level, so one space can be used by agents in more than one deployment. When a space is created, you choose its scope:- Global — one space that agents in every deployment can use.
- Per deployment — the space is available to a single deployment only.
- Create space, when you create a space by hand.
- The Create All panel, shown for spaces and agents declared in
agents/config.ymlthat don’t exist yet. Its Create Spaces control offers Global and Per deployment.
Product (production) and Product (staging). Only the displayed name changes — the space stays linked to the space name declared in agents/config.yml, so the YAML entry keeps matching. You can change the scope of an existing space later on the space’s page.
Choose per-deployment scope when the same spaces: entry is declared in several deployments — typically development, staging, and production fed from branches of one data model — and you don’t want them sharing what the space stores.
Spaces created before this option existed have no scope stored. Cube infers the deployment they belong to from the agents linked to them, and the Spaces list shows them as Not scoped. Set the scope explicitly on the space page to make it definite.
Scope affects storage, not configuration
Scope never changes where configuration comes from. Agents always belong to a single deployment, and thespaces: and agents: entries, rules, and certified queries that shape an agent are read from the agents/ directory of the data model of that deployment, on that deployment’s branch. A global space does not merge the configuration of the deployments that use it.
What a global space shares is storage: the space itself and the data held against it — memories in particular. Two deployments using the same global space read and write the same memories, while each of them still applies its own agents/ configuration.
Attaching rules and certified queries to a space
In the single-agent setup, rules and certified queries belong to the implicitauto space. In a multi-agent setup, you must attach each rule and certified query to a specific space using the space property in the Markdown frontmatter:
agents/rules/<space-name>/ or agents/certified_queries/<space-name>/ are attached to that space automatically — no space frontmatter required.