All skills
aws avatar

/agents-optimize

@e15f9b9

Use when measuring or improving agent quality and performance — set up evaluators, online monitoring, CI/CD quality gates, observability, or cost optimization. Triggers on: "evaluate my agent", "add evaluator", "measure quality", "quality gate", "run evals", "agent too slow", "why is it slow", "reduce latency", "set up observability", "CloudWatch dashboard", "how much does my agent cost", "cost optimization", "logs not showing up", "logs missing", "spans not found", "eval failing", "eval error", "dev traces", "local traces", "agentcore dev traces", "traces to CloudWatch". Not for debugging errors or crashes — use agents-debug. Slow but correct routes here; broken routes to debug.

Use this Skill: https://skilld.dev/gh/aws/agent-toolkit-for-aws/agents-optimize

This session only. Nothing lands on disk.

referencescost.md

≈1.8k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Cost Optimization

Understand what drives AgentCore costs and how to control them. Pricing values are volatile — always verify against the AgentCore pricing page.

Cost components

AgentCore charges for several things independently:

Component What you pay for Published rate (verify for current) Biggest cost drivers
Runtime compute vCPU-hours + GB-hours while session is active $0.0895/vCPU-hr, $0.00945/GB-hr Session length, idle timeout, cold starts
Memory events Creating events (writes) $0.25 per 1,000 new events Session volume, number of strategies
Memory storage Long-term memory records stored $0.75 per 1,000 records/month (built-in); $0.25 (override/self-managed) Number of strategies, expiry duration
Memory retrieval Retrieving memory records $0.50 per 1,000 retrievals Retrieval frequency, top_k value
Gateway tool calls Per tool invocation routed through gateway $0.005 per 1,000 (ListTools/InvokeTool/Ping); $0.025 per 1,000 (Search) Tool call volume
Evaluator model calls Bedrock model usage for LLM-as-judge evaluators Built-in: $0.0024/10K input tokens, $0.012/10K output tokens; Custom: $1.50/10K evals Online eval sampling rate × session volume
Bedrock model usage Input/output tokens for every model call Varies by model — check Bedrock pricing Model choice (Sonnet vs Haiku), conversation length
Policy authorization Per authorization request + input tokens $0.000025/request, $0.13/10K input tokens Tool call volume with policy engine attached
Identity Token/API key requests for non-AWS resources $0.010 per 1,000 requests Credential fetch frequency
CloudWatch logs/traces Ingestion and storage Standard CloudWatch pricing Log verbosity, retention policy
ECR storage (Container builds only) Image storage Standard ECR pricing Image size, build frequency

Rates above are published as of the time of writing. Always verify against the AgentCore pricing page — pricing changes between releases.

First-day cost questions

"How much will my agent cost per invocation?"

There's no single number — it depends on:

  • Which model (Haiku is ~10x cheaper than Sonnet per token)
  • How long the session stays active (Runtime bills by vCPU-hour and GB-hour, not per request — idle sessions cost money)
  • Whether it uses tools (gateway calls are $0.005 per 1,000 + any Lambda/API costs)
  • Whether memory extraction is running (async, billed separately at $0.25 per 1,000 events)
  • How long conversations run (more tokens = more model cost, and longer active sessions = more compute cost)

A simple Haiku-based agent with no memory and no tools costs very little per request — Runtime compute is billed by vCPU-hour ($0.0895) and GB-hour ($0.00945), so a sub-second request on a small environment costs fractions of a cent. A Sonnet agent with semantic memory, 5 gateway tools, and online evals at 10% sampling costs significantly more per request — the model token costs alone can be 10–30x higher, plus memory extraction ($0.25 per 1,000 events), gateway tool calls ($0.005 per 1,000 invocations), and eval model usage. These are published rates as of the time of writing — verify against the AgentCore pricing page for current numbers. If the awsknowledge MCP server is available, use the aws___search_documentation tool to look up current AgentCore pricing.

"How much will this demo/prototype cost me?"

Use the --defaults flags (Strands, Bedrock, no memory) during development. Stay under the free tier where possible. The biggest surprises come from:

  • Idle sessions burning compute — Runtime bills by vCPU-hour while the session is active, including idle time before idleRuntimeSessionTimeout reclaims it. Default timeout is 15 minutes. Call StopRuntimeSession when done, or lower the timeout. See agents-harden Session lifecycle management.
  • Leaving an online eval config running at 100% sampling
  • Forgetting to set CloudWatch log retention (defaults to indefinite)
  • Keeping a test memory resource with an expensive strategy (SEMANTIC or EPISODIC)

Cost reduction levers

Model selection

AgentCore supports four model providers — pick the right one for the task, not just the default:

Model tier Examples Good for
Cheapest / simplest amazon.nova-micro-v1:0, claude-3-5-haiku-*, Gemini Flash, GPT-5-nano Classification, extraction, simple routing, short responses
Mid-tier amazon.nova-lite-v1:0, Gemini 2.5 Flash Most general-purpose agents with light reasoning
Premium / reasoning anthropic.claude-sonnet-4-5-*, GPT-5, Gemini 2.5 Pro Complex reasoning, code generation, multi-step planning

Rules of thumb:

  • Haiku or Nova Micro for simple extractive tasks (10–30x cheaper than Sonnet per token)
  • Reserve Sonnet/Opus/GPT-5 for reasoning-heavy workflows
  • Use different models for agent vs evaluator — a Haiku-based evaluator grading a Sonnet agent is a common cost-effective pattern
  • For cost-sensitive customer support or classification agents, start with Nova Lite or Gemini Flash and only upgrade if quality is insufficient

Memory

  • Only enable strategies you actually use — each LTM strategy runs extraction on every session
  • SEMANTIC is the most expensive strategy. If you only need session summaries, use SUMMARIZATION alone.
  • Tune relevance_score up so fewer memory records retrieve per query
  • Set --expiry to the shortest duration that serves your use case (default is 30 days)

Online evals

  • Start at 1–5% sampling in production, not 100%
  • Use agentcore pause online-eval <name> when debugging or iterating — resume when you're ready to measure
  • Pick the smallest evaluator set that gives signal

Logs and traces

  • Set retention policies on log groups:

    aws logs put-retention-policy \
      --log-group-name /aws/bedrock-agentcore/runtimes/<AGENT_ID>-DEFAULT \
      --retention-in-days 30
  • Don't log entire payloads — log structured events with just what you need

  • X-Ray sampling is configured automatically; no dial to turn there

Gateway

  • Tool calls are per-invocation, not per byte. Volume matters, not payload size.
  • If a tool is called on every invocation for the same static data, consider baking that data into the system prompt instead

Container builds

  • If you don't need Container, use CodeZip — no ECR storage charge
  • If you need Container, keep the image small (see agents-harden Initialization time section)

Cross-references

Source: SKILL.md on GitHub

No alerts17d3 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    This skill focuses on optimizing, monitoring, and evaluating AI agents built with AWS AgentCore. The analysis indicates that it follows security best practices, and no patterns of concern were detected.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW · No issues

Signed by skilld at e15f9b9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 5 months ago
All 1 allowed tools
Read Grep Glob Bash
Other metadata
metadata
{
  "type": "skill",
  "version": "1.0.0",
  "author": "aws-agentcore",
  "requires-cli": ">=0.9.0"
}

README badge

README badge for aws/agent-toolkit-for-aws/agents-optimize