Dual‑layer monitoring for production AI agents: what the AWS blog shows

According to Artificial Intelligence, AWS released a reference implementation that pairs Amazon Bedrock AgentCore Evaluations with the AWS DevOps Agent to monitor both the quality of agent responses and the health of the underlying infrastructure in a production airline‑reservation bot.
Multi‑agent swarms can deliver a user‑friendly experience, but they also hide failures. An empty response may stem from a missing IAM permission that never surfaces as an HTTP 500, while a well‑behaved supervisor may silently route 20 % of requests to the wrong specialist. Traditional CloudWatch metrics catch crashes and timeouts, but they miss the fact that the agent answered the wrong question or chose the wrong tool.
The problem: quality vs. infrastructure failures
Infrastructure monitoring tells you whether a Lambda executed, whether a Bedrock model returned a payload, and whether a database query succeeded. Those signals are binary – success or error – and they appear in CloudWatch as counters or latency histograms.
Quality monitoring, on the other hand, asks whether the user’s goal was achieved. An agent can invoke Bedrock, call every configured tool, and still misunderstand the request. In the airline example, the system may retrieve flight options, apply a loyalty certificate, and still violate the company travel policy, leaving the user with a useless itinerary.
The two failure modes look identical on the surface: the user sees a bad answer, but the root cause is either a broken permission (infrastructure) or a wrong prompt/orchestration decision (quality). Distinguishing them early saves costly war‑rooms.
How AgentCore Evaluations scores live interactions
AgentCore Evaluations runs a LLM‑as‑a‑Judge loop on a configurable sample of production sessions. After a request finishes, a background LLM reviews the conversation, the tools that were invoked, and the final output. It returns a numeric score for helpfulness, correctness, and goal completion, plus a short rationale.
When scores dip, the service automatically runs pattern analysis across recent low‑scoring sessions. If the same tool is repeatedly chosen for a request type that should use another, the analysis surfaces that pattern and suggests prompt tweaks or tool‑selection rules.
| Metric | Source | Typical granularity |
|---|---|---|
| Success / error counts | CloudWatch (Lambda, Bedrock) | Per invocation |
| Latency (ms) | CloudWatch | Percentile per service |
| Helpfulness score (0‑1) | AgentCore Evaluations | Sampled request |
| Correctness score (0‑1) | AgentCore Evaluations | Sampled request |
| Goal‑completion flag | AgentCore Evaluations | Sampled request |
The table shows that quality scores live alongside traditional metrics in the same CloudWatch namespace, making it possible to correlate a spike in low helpfulness with a recent IAM policy change.
AWS DevOps Agent automates root‑cause hunting
When an incident alert fires, the DevOps Agent pulls the relevant logs and traces, builds a topology graph of the resources involved, and looks for mismatches such as revoked IAM permissions or Bedrock throttling in a specific region. It then returns a concise remediation plan – e.g., “Add bedrock:InvokeModel to the execution role” – without a human having to stitch together log entries.
Because the agent uses OpenTelemetry‑generated traces from the AgentCore runtime, it can follow a request across the supervisor, flight, user, and reservation agents, even when the execution graph changes on the fly. The result is an “on‑call engineer” that can diagnose a silent failure in minutes instead of hours.
Putting the two layers together – what actually changes
The combination replaces two separate, manual processes with a continuous feedback loop:
- Immediate visibility into user impact. Teams no longer rely on ticket volume or anecdotal complaints; a dip in the correctness score is a measurable signal that something is hurting users.
- Automated infrastructure triage. When a quality dip coincides with a new IAM change, the DevOps Agent can surface the exact permission that broke the call chain.
- Reduced cognitive load. Engineers no longer need to switch between CloudWatch dashboards, log‑search tools, and separate quality dashboards. All data lands in one place.
- New trade‑offs. Sampling for evaluations adds extra LLM compute cost; the blog does not disclose the price, so you should monitor the additional Bedrock usage. The DevOps Agent’s automated analysis can suggest fixes that require policy changes, which may need a security review before applying.
- Who should care. Small teams that run a handful of specialist agents will see the biggest productivity gain because they lack dedicated SRE resources. Large enterprises already invested in custom observability may treat AgentCore Evaluations as an additional quality‑layer rather than a replacement.
- What to watch next. The blog mentions that the evaluation framework can be tuned to score domain‑specific metrics (e.g., compliance with travel policy). Watching for community‑contributed scoring templates will be useful if you need bespoke quality signals.
Quick start: try a basic evaluation loop today
- Clone the FAST (Fullstack AgentCore Solution Template) repository from the AWS GitHub page.
- Deploy the CDK stack in a test AWS account – it creates the React frontend, AgentCore backend, and the CloudWatch log group.
- Install the
agentcore-cliand runagentcore eval start --sample-rate 0.05to evaluate 5 % of incoming requests. - Open the CloudWatch dashboard, add the
HelpfulnessScoreandCorrectnessScorewidgets, and set an alarm for scores below 0.7. - Trigger a sample reservation request (the multi‑city example from the blog) and watch both the quality scores and the DevOps Agent’s investigation report appear in the alarm detail.
By the end of the day you will have a live view of how often your agent meets the user’s intent and a proof‑of‑concept of automated root‑cause analysis for any infrastructure hiccup.


