Agent Pool
Description
Section titled “Description”An agent pool is the static definition and factory layer for agents. It contains the code and configuration needed to scaffold agents, including supporting concerns such as memory, MCP tools, skills, and A2A (agent-to-agent) connections.
The pool abstraction separates reusable build-time and configuration-time concerns from runtime execution. That distinction makes it possible to reason about the shape of an agent independently from the specific task or environment in which an agent is running. A pool is to an agent what a container image is to a running container, or what a Kubernetes Deployment is to a Pod: the durable, versioned specification from which instances are created.
What a Pool Declares
Section titled “What a Pool Declares”A pool definition pins the configuration that gives an agent class its identity:
- Harness and model defaults which harness runs the agent and the default model, subject to override by Smart Routing at dispatch.
- Baseline context packages the organisation, project, and repository Context Layers the agent class depends on, declared so the Orchestrator can resolve gaps via Declare/Diff/Inject.
- Skills the capability packages the class loads, statically or via the Skill Gateway.
- Tool and MCP access the tool surface the agent is permitted, scoped to least privilege per Security.
- Sandbox and resource constraints the isolation tier and resource limits the runtime enforces.
Relationship to the Factory Interface
Section titled “Relationship to the Factory Interface”The pool exposes a factory interface that the Orchestrator calls when no suitable running agent exists. The pool owns scaffold and configuration; the Orchestrator owns when and why creation happens and establishes the log channel once the agent is live (see ACRI Create/Start). This clean split is what lets the same pool definition back a local in-process spawn, a Coder workspace, or a Kubernetes job without changing the agent’s declared shape.
Versioning
Section titled “Versioning”Because a pool is a specification, it is versioned like one. A change to a pool’s skills, context baseline, or model defaults is a change to every agent subsequently instantiated from it, and should be evaluated before promotion (see System Evaluation Harness) and recorded in the Execution Ledger so any invocation can be traced back to the exact pool configuration that produced it.
Related Concepts
Section titled “Related Concepts”- Agent - The runtime instance a pool produces.
- Cohort - Groups pools into organisational and communication structures.
- Orchestrator - Calls the pool’s factory interface.
- Context Layers - Baseline context packages a pool declares.
- Skill Gateway - How pools resolve and pin skills.
- Execution Ledger - Records which pool configuration shaped each invocation.