Production AI Agents for Insurance Policy Management with Amazon Bedrock

cdl · Insurance · year n/a · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Insurance policy administration and customer self-service

CDL needed production AI agents that could let authenticated insurance customers manage policies conversationally while safely invoking existing policy APIs and respecting regulated insurance constraints.

Constraints:

Architecture

CDL uses Amazon Bedrock as an AI front door for insurance policy-management journeys. Authenticated customer intent is routed to a Bedrock supervisor agent, which delegates to domain-specific helper agents. Each domain agent receives OpenAPI tool specifications and customer policy context at runtime, then calls Lambda functions in an AI integration/anti-corruption layer that maps agent actions to existing CDL policy APIs. Bedrock evaluations, LLM-as-judge scoring, human expert review, monitoring hooks, and Bedrock Guardrails surround the flow.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  customer-insurance-portal["Customer insurance portal"] --> ai-front-door["AI front door"]
  ai-front-door["AI front door"] --> bedrock-supervisor-agent["Bedrock supervisor agent"]
  bedrock-supervisor-agent["Bedrock supervisor agent"] --> domain-policy-agents["Domain policy agents"]
  domain-policy-agents["Domain policy agents"] --> openapi-action-groups["OpenAPI action groups"]
  domain-policy-agents["Domain policy agents"] --> ai-integration-layer["AI integration layer"]
  ai-integration-layer["AI integration layer"] --> existing-cdl-apis["Existing CDL APIs"]
  ai-integration-layer["AI integration layer"] --> monitoring-hooks["Monitoring hooks"]
  existing-cdl-apis["Existing CDL APIs"] --> policy-administration-system["Policy administration system"]
  bedrock-evaluations["Bedrock evaluations"] --> domain-policy-agents["Domain policy agents"]
  bedrock-evaluations["Bedrock evaluations"] --> human-domain-experts["Human domain experts"]
  bedrock-guardrails["Bedrock Guardrails"] --> ai-front-door["AI front door"]
  bedrock-guardrails["Bedrock Guardrails"] --> domain-policy-agents["Domain policy agents"]
  bedrock-guardrails["Bedrock Guardrails"] --> specialized-human-agent["Specialized human agent"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Customer insurance portal Authenticates customers and captures policy-management intents. AI front door
AI front door Entry point that routes authenticated customer intent into the Bedrock agent system. Customer insurance portal, Bedrock supervisor agent
Bedrock supervisor agent Coordinates the interaction and delegates to specialized policy-domain agents. AI front door, Domain policy agents
Domain policy agents Specialized agents aligned to insurance business domains such as non-rating midterm adjustments. Bedrock supervisor agent, OpenAPI action groups, AI integration layer
OpenAPI action groups Expose tool paths and schemas so the model knows which policy action and parameters are available. Domain policy agents
AI integration layer Lambda-based anti-corruption layer mapping agent calls to existing policy APIs. Domain policy agents, Existing CDL APIs, Monitoring hooks
Existing CDL APIs Policy-administration APIs that maintain policy lifecycle changes. AI integration layer, Policy administration system
Policy administration system Back-end system of record for insurance policy changes. Existing CDL APIs
Bedrock evaluations Automated and human evaluation workflows used to compare models and prompts. Domain policy agents, Human domain experts
Human domain experts Legal, compliance, and insurance experts who create ground truth and review responses. Bedrock evaluations
Bedrock Guardrails Input and output safety filters for high-risk insurance topics and unsafe content. AI front door, Domain policy agents, Specialized human agent
Specialized human agent Human escalation path for blocked or high-risk policy questions. Bedrock Guardrails
Monitoring hooks Operational tracing and monitoring around Lambda/tool execution. AI integration layer

Data flow

A customer authenticates in the insurance portal and expresses an intent. The front end injects identity and policy context into the prompt and sends the intent to a Bedrock supervisor agent. The supervisor delegates to a domain agent, whose OpenAPI action group tells the LLM which tool path and schema are available. When the LLM has the needed policy reference and parameters, it calls a Lambda integration layer, which maps the request onto existing policy-administration APIs. Guardrails can intercept risky input before the model or risky output after generation.

3 supporting quotes
“the front end into the prompt is injecting that um stuff it's got by me authenticating. So it knows it's me. It knows I'm okay.”transcript, stated
“the supervisor agent has one or more agents that basically it's helpers. Um so we do domain driven design to work out the number of agents that we need”transcript, stated
“what happens at runtime within Bedrock, this this tool spec is what it's called gets injected as part of their prompt”transcript, stated

Why this architecture

The supervisor/domain-agent shape lets CDL map agent responsibilities to insurance business domains while preserving existing policy APIs behind an AI-specific integration layer. OpenAPI action groups constrain tool use to known schemas, and Bedrock evaluations/guardrails give CDL a repeatable way to compare models and block regulated topics before broad release.

3 supporting quotes
“we do domain driven design to work out the number of agents that we need to map on to the specific business domains.”transcript, stated
“our APIs as they are now are designed to be uh interacted with programmatically. They weren't designed to be interacted with AI.”transcript, stated
“I want to know what is the what's going to be the best model for my particular use case. And how we're doing that is through evaluations.”transcript, stated

Models used: Amazon Bedrock-hosted LLMs · Anthropic models · Amazon models · DeepSeek models · Meta models · Mistral models · LLM-as-judge evaluator model

Scale

Alternatives considered (roads not taken)

Let agents call existing APIs directly without an AI integration layer

Rejected because: CDL says those APIs were designed for programmatic clients, so an AI-specific Lambda anti-corruption layer makes agent interaction safer and easier.

“that is a set of lambda functions that then map on to those existing APIs. uh and we have that layer because our APIs as they are now are designed to be uh interacted with programmatically.”transcript, stated

Choose a single model without ongoing comparison

Rejected because: CDL treats model choice as use-case-specific and runs Bedrock evaluations across many enabled models.

“for me, I want to know what is the what's going to be the best model for my particular use case. And how we're doing that is through evaluations.”transcript, stated

Rely only on automated model-as-judge evaluation

Rejected because: The automated pass is backed by human expert evaluation from legal, compliance, and domain specialists.

“we build out this test pack of questions. So we have the like I said the first one is the automated where you have one LM check check check another LM and then we back that up with human evaluations.”transcript, stated

Patterns

multi-agent-orchestration (architecture)

A Bedrock supervisor agent routes work to specialized helper agents aligned with insurance business domains.

“the supervisor agent has one or more agents that basically it's helpers. Um so we do domain driven design to work out the number of agents that we need”transcript, stated

tool-use-orchestration (architecture)

Domain agents receive OpenAPI tool specs at runtime, including paths and schemas required to call policy-changing actions.

“you define an action group for the agent is you give it an open um API spec. Um, and you can see here there's different paths in this one.”transcript, stated

structured-output-contract (tooling)

Tool schemas define required fields such as policy reference and boolean consent before the LLM can call an API.

“it needs the web reference of the policy. So that's like a policy number. And it also needs to know in this case whether it's like a true or false.”transcript, stated

eval-driven-development (evaluation)

CDL runs Bedrock evaluations whenever models, prompts, or configurations change, using domain-grounded questions and metrics.

“we build a set of prompts which are basically just another word for questions and we have um human experts uh basically write the question write the an uh answer”transcript, stated

llm-as-judge (evaluation)

Automated evaluations use one LLM to answer and another to grade against ground truth across completeness and hallucination-related factors.

“the first LLM answers the question and then a second LLM determines if it's got it right and it assesses it against different factors like completeness of answer”transcript, stated

human-in-the-loop-gate (governance)

Human domain experts, legal, and compliance teams define and assess evaluation packs for regulated insurance responses.

“We work with like legal team, compliance team, um domain experts who deal with like um like um we're like highly regulated.”transcript, stated

safety-policy-enforcement (safety)

Bedrock Guardrails block risky insurance topics before model invocation and can also inspect model outputs.

“it will also check the response from the LLM on the way out to see if that contains any of that sort of information and it give a slightly different output message.”transcript, stated

observability-tracing (operations)

The Lambda integration includes monitoring hooks around tool execution, shown through Dynatrace instrumentation.

“So the start of the lambda function effectively I've got some dino trace stuff here for monitoring. We'll come on to that a bit later.”transcript, stated

Tradeoffs

Agent boundary design

Chose Supervisor plus domain-specific helper agents over One broad agent for all insurance policy operations.

Rationale: Domain-driven design maps agents to business domains, giving CDL clearer boundaries for policy-management tasks.

“we do domain driven design to work out the number of agents that we need to map on to the specific business domains.”transcript, stated

Integration strategy

Chose AI integration layer of Lambda functions over Letting Bedrock agents directly use legacy policy APIs.

Rationale: The existing APIs were not designed for AI interaction, so Lambda mapping reduces coupling and adapts them for agent use.

“that is a set of lambda functions that then map on to those existing APIs. uh and we have that layer because our APIs as they are now are designed to be uh interacted with programmatically.”transcript, stated

Evaluation strategy

Chose LLM-as-judge backed by human expert evaluation over Automated LLM scoring alone.

Rationale: Insurance correctness depends on regulated domain nuance, so automated comparisons need human legal/compliance/domain oversight.

“one LM check check check another LM and then we back that up with human evaluations.”transcript, stated

Risk handling

Chose Guardrail block and human escalation over Allowing the LLM to answer sensitive high-risk questions.

Rationale: CDL prefers to redirect risky topics such as crime or claims to specialized human agents.

“your query may relate to high-risisk policy details. So, it's best handled by a specialized human agent.”transcript, stated

Gotchas (what bit them)

Existing APIs were not AI-ready.

Root cause: Policy APIs were designed for deterministic programmatic clients rather than LLM-driven interactions.

Resolution: CDL inserted an AI integration/anti-corruption layer of Lambda functions between agents and existing APIs.

“our APIs as they are now are designed to be uh interacted with programmatically. They weren't designed to be interacted with AI. So we've built a specific layer”transcript, stated

Insurance answers can be technically correct but incomplete.

Root cause: Policy questions often require conditions and caveats rather than binary answers.

Resolution: Evaluation metrics explicitly include completeness, correctness, faithfulness to ground truth, and domain-expert review.

“technically saying a model just saying yes is technically that's correct”transcript, stated

High-risk policy topics need escalation rather than generative free-form answers.

Root cause: Insurance conversations may involve credit history, criminal records, claims, or other sensitive risk topics.

Resolution: CDL configures Bedrock Guardrails to block or redirect those topics to specialized human agents.

“we don't want to talk about like credit history. We don't want to talk about things like crime. We don't want to talk about like past claims.”transcript, stated

Runtime context must include both authenticated customer state and tool schemas.

Root cause: The model cannot safely execute policy actions without policy reference, user authentication, and the relevant action schema.

Resolution: The front end injects authenticated policy context while Bedrock injects OpenAPI tool specs into the prompt.

“it's injected my policy number already. and it's also injected this tool spec. So the LOM now has the information that it needs”transcript, stated

Evaluation

CDL uses Bedrock evaluations with curated insurance questions, domain-expert ground truth, automated LLM-as-judge scoring, and human review through SageMaker/Mechanical Turk-backed workflows.

Metrics: completeness · correctness · faithfulness to ground truth · hallucination risk · responsible AI factors · human expert assessment

3 supporting quotes
“it assesses it against different factors like completeness of answer um is it has it strayed from the ground truth data so that hallucinations risk”transcript, stated
“bedrock does behind the scenes is it uses some of the features of Sage Maker and Mechanical Turk um so um to basically help you do evaluations.”transcript, stated
“if you go to my um website mattton.cloud, go to the blogs, you will see cicd bedrock evaluations and all the code um of how to do that.”transcript, stated

Outcomes

The transcript is a production-oriented demonstration rather than a numeric business outcome report. The clearest scale signals are the multiple Bedrock model families, 25-question demo evaluation, and reusable guardrail IDs assignable to multiple agents.

3 supporting quotes
“So the start of the lambda function effectively I've got some dino trace stuff here for monitoring.”transcript, stated
“guardrail intervened. >> Yeah. >> And your query may relate to high-risisk policy details. So, it's best handled by a specialized human agent.”transcript, stated
“I've uploaded 25 insurance questions to this before the show and I've said evaluate the answers that the LLM gives against my ground truth data”transcript, stated