Subchapter 23.8
references/agentcore-registry-evaluations.mdMarkdown6 KBView on GitHub
Assets
Kb Shim PyCatalog, discover, and govern AI agents and tools across an organization.
The key non-obvious behavior — two modes:
| Mode | Behavior | Use For |
|---|---|---|
| Auto-approve | Records become discoverable immediately | Development environments (isolated accounts only) |
| Manual approval | Records require explicit approval before discovery | Production environments |
Status transitions: PENDING → APPROVED → ACTIVE (or REJECTED)
Common failure: Record stuck in PENDING — governance workflow is set to manual approval but no one has approved. Check governance configuration or switch to auto-approve for dev.
Resource types: MCP servers, A2A agents, agent skills, custom types.
Constraints:
aws bedrock-agentcore-control create-registry-record --registry-id <registry-id> --name <name> --descriptor-type <MCP|A2A|CUSTOM|AGENT_SKILLS> --description "<desc>"aws bedrock-agentcore-control list-registry-records --registry-id <registry-id>Verify availability: aws bedrock-agentcore-control list-registry-records --registry-id <registry-id> --region <region>. Registry is a Preview feature — region availability is expanding.
Automated agent quality assessment using LLM-as-a-Judge.
Evaluation Setup:
- [ ] Step 1: Instrument agent with OTEL (see [memory & observability](agentcore-memory-observability.md))
- [ ] Step 2: Create evaluators (built-in or custom)
- [ ] Step 3: Configure online evaluation (sampling rate, data source)
- [ ] Step 4: Monitor scores in CloudWatch| Evaluator | What It Measures |
|---|---|
Builtin.Helpfulness | Does the response help the user? |
Builtin.Faithfulness | Is the response grounded in provided context? |
Builtin.Harmfulness | Does the response contain harmful content? |
Refer to the latest AWS documentation on AgentCore Evaluations built-in evaluators for the full current list.
Define your own evaluation criteria:
Create custom evaluators: aws bedrock-agentcore-control create-evaluator --evaluator-name <name> --level <TOOL_CALL|TRACE|SESSION> --evaluator-config '{"llmAsAJudge":{"instructions":"<criteria>","ratingScale":{"numerical":[{"value":1,"description":"Poor"},{"value":5,"description":"Excellent"}]}}}'
| Type | When | Use For |
|---|---|---|
| Online | Continuous, samples production traffic | Monitoring quality over time |
| On-demand | Batch, against a test dataset | Regression testing, A/B comparison |
Online evaluation constraints:
Evaluation scores publish to CloudWatch automatically
Create alarms for quality degradation: score drops below threshold
Investigate low-scoring sessions: trace → evaluation result → root cause
Create quality alarms — first discover the exact namespace (CloudWatch namespaces are case-sensitive):
aws cloudwatch list-metrics --namespace "Bedrock-AgentCore" — if no results, try --namespace "Bedrock-Agentcore"aws cloudwatch put-metric-alarm --alarm-name <name> --metric-name <metric> --namespace "<discovered-namespace>" --statistic Average --period 300 --threshold <value> --comparison-operator LessThanThreshold --evaluation-periods 3 --alarm-actions "<sns-topic-arn>"
Registry access control:
list-registry-records) from write (create-registry-record) permissions. Avoid bedrock-agentcore:*aws:SourceArn and aws:SourceAccount conditions to resource policies on registry resourcesEvaluation data protection:
Monitoring security:
You MUST encrypt SNS topics used for alarm actions with KMS
You MUST validate that SNS topic subscribers are authorized to receive evaluation data
You MUST enable CloudTrail for all bedrock-agentcore-control API calls — tracks who registered resources, who approved/rejected records, and who modified evaluations
Refer to the latest AWS documentation on Bedrock AgentCore security best practices.