Multi-Agent AI Banking Assistant Using Amazon Bedrock

bunq · Finance · 2026 · source Agentic: yes · promotional bias: high · 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: Banking customer support and financial-services operations

bunq needed to provide instant, multilingual, round-the-clock banking support and operational automation for 20 million users while preserving security, privacy, regulatory controls, and response quality across transaction disputes, account management, financial advice, bug reports, and feature requests.

Constraints:

Architecture

bunq built Finn as an in-house multi-agent banking assistant on Amazon Bedrock, Claude models, Amazon ECS, DynamoDB, OpenSearch Serverless, S3, MemoryDB, CloudFront, WAF, CloudTrail, GuardDuty, CloudWatch, and SageMaker-hosted fine-tuned models. The system moved from a central router to an orchestrator pattern: three to five primary containerized agents handle user requests and dynamically call specialized agents as tools for transaction analysis, documentation retrieval, account operations, and complex query processing. RAG over OpenSearch grounds answers in bunq knowledge, DynamoDB and MemoryDB maintain conversation/session context, and AWS security/observability services protect and monitor the banking workload.

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

flowchart LR
  App["bunq app and web interface"] --> Edge["AWS WAF and CloudFront"]
  Edge --> Identity["bunq identity system"]
  Identity --> Orchestrator["Finn orchestrator"]
  Edge --> Orchestrator
  Orchestrator --> Primary["Primary agents"]
  Orchestrator --> Bedrock["Amazon Bedrock Claude models"]
  Primary --> Tools["Specialized tool agents"]
  Primary --> Bedrock
  Primary --> Dynamo["DynamoDB conversation memory"]
  Primary --> Memory["MemoryDB session store"]
  Primary --> Search["OpenSearch RAG store"]
  Tools --> Search
  Tools --> S3["S3 document storage"]
  Tools --> SageMaker["SageMaker fine-tuned models"]
  Tools --> Bedrock
  Orchestrator --> Observe["Observability and security stack"]
  Primary --> Observe
  Tools --> Observe
  S3 --> Search
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
bunq app and web interface Customer-facing entry points where users make natural-language banking, support, and account requests. AWS WAF and CloudFront
AWS WAF and CloudFront Edge security and traffic layer protecting user access before requests reach Finn. bunq app and web interface, bunq identity system, Finn orchestrator
bunq identity system Proprietary authentication layer for banking users. AWS WAF and CloudFront, Finn orchestrator
Finn orchestrator Primary orchestration agent on Amazon ECS that routes work to three to five primary agents instead of maintaining a central all-purpose router. AWS WAF and CloudFront, bunq identity system, Primary agents, Amazon Bedrock Claude models, Observability and security stack
Primary agents Containerized Amazon ECS agents that own broad support domains and decide when to invoke specialized agents as tools. Finn orchestrator, Specialized tool agents, DynamoDB conversation memory, MemoryDB session store, OpenSearch RAG store, Amazon Bedrock Claude models
Specialized tool agents Domain-specific agents for capabilities such as transaction analysis, documentation retrieval, complex query processing, account operations, image recognition, and support tasks. Primary agents, OpenSearch RAG store, S3 document storage, SageMaker fine-tuned models, Amazon Bedrock Claude models
Amazon Bedrock Claude models Foundation-model access layer for natural-language understanding and generation with managed security, scalability, and compliance features. Finn orchestrator, Primary agents, Specialized tool agents
SageMaker fine-tuned models Specialized banking models that complement foundation-model calls for domain-specific scenarios. Specialized tool agents
OpenSearch RAG store Serverless vector-search layer for semantic retrieval over bunq's knowledge base. Primary agents, Specialized tool agents, S3 document storage
DynamoDB conversation memory Persistent storage for agent memory, conversation history, and session data. Primary agents, MemoryDB session store
MemoryDB session store Real-time session-management layer for active customer interactions. Primary agents, DynamoDB conversation memory
S3 document storage Document storage supporting the assistant's knowledge and document-processing flows. OpenSearch RAG store, Specialized tool agents
Observability and security stack CloudTrail, GuardDuty, and CloudWatch monitoring, audit, threat-detection, and compliance visibility for the banking AI workload. Finn orchestrator, Primary agents, Specialized tool agents

Data flow

A bunq user submits a natural-language request through the app or web interface. CloudFront and WAF secure traffic, bunq's identity system authenticates the user, and the Finn orchestrator running on ECS receives the request. The orchestrator sends work to a small set of primary agents, which invoke specialized tool agents when the request needs transaction analysis, documentation retrieval, account operations, or other domain-specific help. The agents call Claude through Bedrock, use OpenSearch Serverless for RAG over bunq knowledge, rely on DynamoDB and MemoryDB for conversation and session context, and write operational/security traces through CloudTrail, GuardDuty, and CloudWatch.

3 supporting quotes
“Users can interact with Finn through bunq’s application and web interface, using natural language for their requests, such as account information, transaction history, financial advice, and support issues.”article, stated
“The system processes requests in real time, accessing only pertinent data to the request, while maintaining strict security and privacy controls.”article, stated
“Each primary agent is empowered to invoke specialized agents as needed. These specialized agents (Specialized Agent 1, 2, 3, and so on) act as tools that primary agents can call upon for specific capabilities”article, stated

Why this architecture

bunq chose a managed AWS, multi-agent, agent-as-tool architecture because the original router pattern became hard to maintain as support domains and agent capabilities overlapped. Limiting orchestration to a few primary agents while allowing those agents to call specialized tool agents reduces central routing complexity, avoids a single router bottleneck, and preserves flexibility as new banking capabilities are added. Managed services also let the team focus on Finn's agent logic rather than model serving, container orchestration, vector-search scaling, and security monitoring.

3 supporting quotes
“With multiple specialized agents, the router needed increasingly sophisticated logic to determine the correct destination.”article, stated
“Every new agent or capability meant updating the router’s logic. Adding a new specialized agent required comprehensive testing of all routing scenarios.”article, stated
“With this agent-as-tool pattern, primary agents detect when they need specialized help. Tool agents are invoked dynamically by primary agents.”article, stated

Models used: Anthropic Claude models through Amazon Bedrock · Amazon SageMaker hosted fine-tuned models · Amazon OpenSearch Serverless vector search · Image recognition models or capabilities for receipt and document processing

Scale

Alternatives considered (roads not taken)

Central router agent that sends each user query directly to a specialized sub-agent

Rejected because: The router became increasingly complex, had to predict overlapping downstream capability needs, and became a single point of failure and development bottleneck as new agents were added.

“The initial multi-agent support system for banking services followed a seemingly straightforward pattern: a central router agent directed user queries to specialized sub-agents.”article, stated
“The router became a single point of failure and a potential development bottleneck.”article, stated

Route every possible support scenario from the orchestrator

Rejected because: bunq instead routes only to a small number of primary agents and lets those agents invoke specialized tool agents when context requires it.

“Instead of trying to route to all possible agents, the orchestrator performs the following actions:”article, stated
“Delegates decision-making to the agents themselves”article, stated

Rely only on a foundation model for banking responses

Rejected because: The architecture combines Claude through Bedrock with RAG and SageMaker-hosted fine-tuned models to cover knowledge grounding and specialized banking scenarios.

“Amazon Bedrock provides access to Anthropic’s Claude models for natural language understanding, complemented by Amazon SageMaker hosted fine-tuned models for specialized banking scenarios.”article, stated
“OpenSearch Service serves as a vector store for RAG capabilities, enabling semantic search across bunq’s knowledge base.”article, stated

Operate self-managed vector-search capacity for retrieval

Rejected because: OpenSearch Serverless automatically scales compute resources and removes search-cluster capacity management from the Finn team.

“OpenSearch Serverless automatically scales compute resources based on application needs and provides vector search capabilities for Finn’s Retrieval Augmented Generation (RAG) implementation”article, stated

Patterns

multi-agent-orchestration (architecture)

Finn uses a hierarchical multi-agent architecture in which an orchestrator routes to a small set of primary agents and those agents dynamically invoke specialized agents as tools.

“A multi-agent architecture allows specialized agents to handle distinct tasks—one agent might excel at understanding the user, another focuses on extracting relevant documentation, and a third handles transaction analysis or account operations.”article, stated
“This hierarchical structure avoids the routing complexity bottleneck while maintaining flexibility.”article, stated

tool-use-orchestration (architecture)

Specialized banking agents are exposed as callable tools that primary agents invoke through a defined interface when they need a particular capability.

“Agents can call other agents through a well-defined interface—they become tools in each other’s toolkits.”article, stated
“These specialized agents (Specialized Agent 1, 2, 3, and so on) act as tools that primary agents can call upon for specific capabilities”article, stated

rag-retrieval (knowledge)

Finn uses OpenSearch Serverless as a vector store so agents can semantically retrieve bunq knowledge-base content before responding.

“OpenSearch Serverless automatically scales compute resources based on application needs and provides vector search capabilities for Finn’s Retrieval Augmented Generation (RAG) implementation”article, stated
“OpenSearch Service serves as a vector store for RAG capabilities, enabling semantic search across bunq’s knowledge base.”article, stated

agent-memory (state)

The assistant stores conversation history and session data across DynamoDB and MemoryDB so agents can maintain context during customer interactions.

“DynamoDB delivers single-digit millisecond performance and stores agent memory, conversation history, and session data, enabling Finn to maintain context across customer interactions.”article, stated
“Amazon MemoryDB manages user sessions for real-time interactions.”article, stated

safety-policy-enforcement (governance)

The banking assistant is wrapped in security, privacy, identity, WAF, VPC, audit, threat-detection, and compliance controls rather than being allowed broad data access.

“Customers expect instant access to essential banking functions like transaction disputes, account management, and financial advice, and banks need to maintain strict security protocols and compliance standards.”article, stated
“Comprehensive observability through AWS CloudTrail, Amazon GuardDuty, and Amazon CloudWatch helps the team monitor performance, detect threats, and maintain compliance”article, stated

observability-tracing (operations)

Finn uses CloudTrail, GuardDuty, and CloudWatch as the monitoring, threat-detection, audit, and compliance visibility layer for the production AI system.

“Comprehensive observability through AWS CloudTrail, Amazon GuardDuty, and Amazon CloudWatch helps the team monitor performance, detect threats, and maintain compliance”article, stated

Tradeoffs

How to scale multi-agent routing as banking domains and capabilities expanded.

Chose A small-orchestrator plus agent-as-tool hierarchy. over A central router that directly maps every request to specialized sub-agents..

Rationale: The orchestrator reduces the central routing surface while letting domain agents make context-aware calls to specialized capabilities.

“Instead of trying to route to all possible agents, the orchestrator performs the following actions:”article, stated
“Empowers these primary agents to invoke other agents as tools when needed”article, stated

How much infrastructure to operate directly versus consume as managed services.

Chose AWS managed services for model access, container orchestration, vector search, memory, session management, monitoring, and security. over Self-managing model-serving, orchestration clusters, and search-scaling infrastructure..

Rationale: The article frames ECS, Bedrock, DynamoDB, and OpenSearch Serverless as ways to reduce operational overhead and let bunq focus on Finn's agent architecture.

“Amazon ECS alleviates the need to install and operate container orchestration software or manage clusters of virtual machines, helping bunq focus on building Finn’s multi-agent architecture.”article, stated
“A fully managed service that makes high-performing FMs from leading AI companies and Amazon available through a unified API.”article, stated

How to keep customer conversations responsive while retaining durable context.

Chose A split state layer: DynamoDB for agent memory/history and MemoryDB for real-time sessions. over A single undifferentiated persistence layer for both active sessions and durable conversation memory..

Rationale: The architecture separates persistent conversation history from real-time session management, implying different latency and durability needs.

“DynamoDB delivers single-digit millisecond performance and stores agent memory, conversation history, and session data, enabling Finn to maintain context across customer interactions.”article, stated
“Amazon MemoryDB manages user sessions for real-time interactions.”article, stated

How to balance general foundation-model reasoning with domain-specific banking behavior.

Chose Claude through Bedrock plus SageMaker-hosted fine-tuned models for specialized banking scenarios. over Only using general-purpose foundation-model calls for every banking support task..

Rationale: The combined architecture lets general language understanding handle broad requests while preserving specialist models for banking-specific scenarios.

“Amazon Bedrock provides access to Anthropic’s Claude models for natural language understanding, complemented by Amazon SageMaker hosted fine-tuned models for specialized banking scenarios.”article, stated

Gotchas (what bit them)

A central router became increasingly difficult to maintain as the number of specialized banking agents grew.

Root cause: The router had to encode more destination logic and retesting every path became expensive whenever new agents or capabilities were added.

Resolution: bunq replaced all-scenario routing with an orchestrator that dispatches to a small set of primary agents and lets those agents call specialized agents as tools.

“With multiple specialized agents, the router needed increasingly sophisticated logic to determine the correct destination.”article, stated
“Adding a new specialized agent required comprehensive testing of all routing scenarios. The router became a single point of failure and a potential development bottleneck.”article, stated

Specialized-agent capabilities overlapped, so the router could not reliably know all downstream capabilities needed for a request.

Root cause: Multiple agents needed access to the same data sources and secondary capabilities, making primary-intent classification insufficient.

Resolution: Primary agents were empowered to decide when they needed specialized help and invoke tool agents dynamically.

“Multiple agents required access to the same data sources and capabilities, forcing the router to predict not just the primary intent but also which secondary agents might be needed downstream—an impossible task at scale.”article, stated
“With this agent-as-tool pattern, primary agents detect when they need specialized help. Tool agents are invoked dynamically by primary agents.”article, stated

Banking agents cannot answer by freely browsing all available customer or bank data.

Root cause: Financial-services support combines privacy, security, compliance, identity, and least-privilege data-access constraints.

Resolution: Finn processes only pertinent request data and sits behind identity, WAF, CloudFront, VPC, threat-detection, audit, and monitoring controls.

“The system processes requests in real time, accessing only pertinent data to the request, while maintaining strict security and privacy controls.”article, stated
“Users access the service through bunq’s application, with traffic secured by AWS WAF and Amazon CloudFront, while authentication flows through bunq’s proprietary identity system.”article, stated

The source reports headline automation metrics but gives limited detail about AI-specific quality evaluation, rollback, hallucination handling, or user-satisfaction measurement.

Root cause: The article is an AWS/bunq success story focused on architecture and business outcomes rather than a full postmortem of operational controls.

Resolution: Treat the automation and latency metrics as reported outcomes while preserving the missing-evaluation caveat in downstream synthesis.

“Finn now handles 97% of bunq’s user support activity, with over 82% fully automated. Average response times dropped to just 47 seconds”article, stated
“Explore how Anthropic’s Claude on Amazon Bedrock can transform your customer experience with enhanced security features and scalability.”article, stated

Evaluation

The article evaluates Finn through operational support metrics, deployment cadence, automation share, response time, language coverage, and user-support volume. It does not describe a formal offline model-evaluation harness, hallucination benchmark, or banking-risk acceptance process.

Metrics: 97% of user-support activity handled by Finn · Over 82% fully automated in one impact bullet · 70% fully automated in the quoted outcome and conclusion · 47-second average response time · 38 languages · 3-month concept-to-production timeline · 80-person cross-functional rollout team · Three deployments per day during rollout

3 supporting quotes
“Finn now handles 97% of bunq’s user support activity, with over 82% fully automated. Average response times dropped to just 47 seconds”article, stated
“We went from concept to production in 3 months. Before the orchestrator architecture, escalations were mainly manual.”article, stated
“bunq brought together a team of 80 people—from AI engineers to support staff—who worked together to test, learn, and deploy updates three times a day.”article, stated

Outcomes

The source reports a production banking system serving 20 million users across Europe, with Finn handling 97% of support activity, 47-second average response times, 38-language application translation, and a 3-month concept-to-production rollout by an 80-person team.

3 supporting quotes
“The solution enabled bunq to become Europe’s first AI-powered bank, offering capabilities no traditional support system could deliver: real-time speech-to-speech translation”article, stated
“Beyond efficiency gains, the solution expanded bunq’s reach to 38 languages and positioned the company as Europe’s first AI-powered bank.”article, stated
“By freeing internal resources from manual processes, bunq can now focus on what it does best: building a bank that makes life easy for its users.”article, stated