Blueprints

Blueprints are the core configuration abstraction of the AWS Agent Platform. A blueprint is a YAML file that fully declares a resource — its model, runtime behaviour, tools, memory, identity, observability, and access-control policy. The platform reads blueprint YAML at both SDK load time and Terraform plan time, driving code execution and infrastructure provisioning from a single source of truth.


Blueprint Types

Type File Convention Purpose Terraform Consumer
Agent blueprints/agents/*.yaml Declares a single AI agent: model, runtime, tools, memory, identity, observability, evaluation, policy modules/agents
Strategy blueprints/strategies/*.yaml Declares an evaluation strategy: entry/exit conditions, parameters, evaluation criteria, risk controls Domain-specific modules
Workflow blueprints/workflows/*.yaml Declares a multi-agent pipeline: state machine structure, agent references, parallel branches, retry logic modules/workflows

Directory Layout

blueprints/
  agents/
    researcher.yaml       # one file per agent
    synthesizer.yaml
  strategies/
    confidence-threshold.yaml
  workflows/
    analysis-pipeline.yaml

Blueprint IDs use kebab-case by convention (matching the shipped example blueprints). The schema enforces no specific format, but kebab-case is the standard across all platform tooling.


How Blueprints Are Consumed

At SDK load time, BlueprintLoader reads YAML from disk, validates it against the Pydantic schemas in agent_core.schemas and agent_core.blueprints, and returns a typed object that drives runtime wiring — model construction, hook registration, memory setup, gateway connection, and policy engine attachment.

At Terraform plan time, modules/agents and modules/workflows call fileset() and yamldecode() over the same YAML files and provision the corresponding AWS resources (AgentCore Runtimes, ECR repositories, IAM roles, Step Functions state machines) per blueprint entry.

flowchart LR
    YAML["Blueprint YAML"] --> SDK["SDK: BlueprintLoader\nValidates + wires agent"]
    YAML --> TF["Terraform: modules/agents\nCreates Runtime, ECR, IAM..."]
    SDK --> Runtime["AgentCore Runtime\n(microVM)"]
    TF --> Runtime

Env-Template Expansion

String fields in blueprints support ${VAR} and ${VAR:-default} expansion at load time. This is most commonly used in model.model_id to allow runtime model selection without image rebuilds:

model:
  provider: litellm
  model_id: ${AGENT_MODEL_ID:-claude-sonnet-4-6}

If AGENT_MODEL_ID is set in the environment, that value is used. Otherwise claude-sonnet-4-6 is the fallback. The vertex provider uses os.path.expandvars for the same effect.


Blueprint Validation

Blueprints are validated at load time by Pydantic v2. Invalid blueprints fail loudly — there are no silent defaults or fallback paths for required fields. Use the CLI to validate before deploying:

agentcli blueprint lint blueprints/agents/researcher.yaml
agentcli blueprint lint blueprints/workflows/analysis-pipeline.yaml

Pages in This Section

Page Description
Agent Blueprint Full specification for agent blueprints — all configurable blocks, all four inference providers
Strategy Blueprint Specification for strategy evaluation blueprints
Workflow Blueprint Specification for multi-agent workflow blueprints

Table of contents