Independent architecture study
Recommendations that start with conversation
Personalised E-Commerce Recommendations with Amazon Bedrock Agents
A shopper may know the problem without knowing the product name. This independent architecture study combines a conversational agent, catalogue search and personalisation to turn that description into suggestions grounded in the retailer’s own material.
An independent architecture study based on public AWS guidance. A design exercise, not a client engagement.

- Workload
- Conversational product discovery and personalised suggestions
- Constraint
- Responses need relevant catalogue evidence and shopper context
- Approach
- An agent calls structured backend actions and uses retrieved sales material
What makes this difficult
Needs arrive as sentences
A shopper describes a situation rather than a catalogue category, so the assistant must connect everyday language to relevant products.
Fluent is not factual
A convincing answer can still contain unsupported product claims, making retrieval and checks on returned information central to the design.
Relevant to whom
Products that match a question are not necessarily the best suggestions for that shopper, so semantic relevance and personalisation need separate attention.
Follow a shopping question
A shopper’s question reaches an agent that retrieves guidance, calls product tools and generates a personalised response.
- 01
Start with the shopper’s need
The shopper describes what they need in chat, and Bedrock Agents interprets the request so the conversation can lead into product discovery and sales actions.
Illustrative example Illustrative example: a shopper asks for a bag suitable for commuting.
- 02
Bring the retailer’s material into view
Sales material stored in S3 supplies the knowledge base, which gives the agent relevant guidance for the conversation instead of relying only on generated text.
Illustrative example Illustrative example: retrieved sales advice informs the assistant’s response.
- 03
Call a defined product tool
An OpenAPI schema describes the backend actions available to the agent, which invokes Lambda to search OpenSearch for products matching the meaning of the request.
Illustrative example Illustrative example: a product search returns relevant catalogue candidates.
- 04
Prepare products for meaning-based search
Titan Embeddings generates vectors used by OpenSearch to find relevant products or content, supplying the search representation behind the assistant’s catalogue lookup.
Illustrative example Illustrative example: catalogue content becomes searchable through semantic similarity.
- 05
Add the shopper’s context
Backend logic requests recommendations from Personalize using the user ID and reads user and item data from DynamoDB, adding individual context to product discovery.
Illustrative example Illustrative example: suggestions reflect the shopper as well as the question.
- 06
Turn evidence into an answer
The agent uses Claude in Bedrock to generate a personalised response, bringing the conversation back to the shopper with suggestions informed by the retrieved material.
Illustrative example Illustrative example: the shopper receives a recommendation with a product explanation.
- Request
- Data
- Later, queued
- Control
The hard part
Matching the question and matching the shopper
Semantic search and personalisation answer different questions. OpenSearch finds products related to what the shopper describes, while Personalize supplies recommendations for a user ID. Lambda calls these services separately and can also retrieve item details. The application must decide how to combine the results; the diagram does not imply that OpenSearch calls Personalize.
Why this design
Make discovery conversational
- Chosen
- Use Bedrock Agents to interpret questions and invoke product actions.
- Because
- A conversation can capture needs that a fixed recommendation strip cannot ask about.
- Cost
- Generated interactions add latency, model charges and behaviour that needs evaluation.
- Reconsider when
- Use a fixed recommendation component when shoppers already know the relevant product category.
Retrieve before explaining
- Chosen
- Ground the assistant in sales material and catalogue search results.
- Because
- Retrieved evidence gives the model business-specific information for its response.
- Cost
- The team must maintain source content, search indexes and checks for unsupported claims.
- Reconsider when
- Use a simpler search interface when generated explanations provide little additional value.
Keep relevance signals distinct
- Chosen
- Use OpenSearch for semantic matching and Personalize for user-specific recommendations.
- Because
- The meaning of a question and a shopper’s behaviour contribute different evidence.
- Cost
- Combining the results requires application decisions and separate service costs.
- Reconsider when
- Start with semantic search alone when useful behavioural data is unavailable.
Cost and operating assumptions
Model and knowledge usage
Response generation, embedding generation and knowledge base operations contribute charges according to the selected models and operations.
Vector search capacity
OpenSearch Serverless compute and stored search data contribute costs even when individual conversations are short.
Personalisation
Personalize training and recommendation requests depend on the data preparation and serving choices used by the application.
Backend actions and data
Lambda requests and execution duration combine with DynamoDB capacity and storage as the assistant calls backend tools.
Assumptions behind the numbers
The supplied guidance provides no monthly total; pricing depends on usage, region and options, including model choice, conversation length, search capacity and recommendation demand.
How it stays reliable
Keep evidence current
Design refresh procedures for sales material and catalogue data so generated responses do not rely on stale source information.
Handle unavailable tools
Define how the assistant responds when search, recommendation or data calls fail, including when it should withhold a product claim.
Configure data recovery
Use DynamoDB backup and replication options according to recovery needs; multi-Region replication requires an explicit configuration choice.
Restrict each action
Use IAM and OpenSearch access controls to constrain data access, and validate action inputs in backend logic before processing them.
When this is a poor fit. A poor fit when the catalogue is small, product information is unreliable or a straightforward search and filter interface already answers shoppers’ questions.
Full technical detailThe numbered AWS flow, every service and the Well-Architected notes.
How the AWS guidance describes it
- Amazon S3. S3 stores sales pitch data for the knowledge base to reference.
- Amazon Bedrock Knowledge Bases. The knowledge base contains historical sales scripts used by Bedrock Agents to guide interactions.
- Amazon Titan Embeddings. Titan Embeddings models in Bedrock generate embeddings for vector search that finds relevant products.
- Chat client. The user interacts with the chatbot, triggering product recommendation and sales processes.
- Amazon Bedrock Agents. The agent acts as the chatbot interface, recommending and selling products according to the user’s inquiries and needs.
- Amazon S3. An OpenAPI schema hosted in S3 describes structured backend actions for the agent.
- AWS Lambda. Lambda executes backend logic in response to agent triggers, enabling operations and responses during the interaction.
- Amazon OpenSearch Service. OpenSearch supports vector search to retrieve relevant products or content.
- Amazon Personalize. Personalize generates product recommendations based on user IDs.
- Amazon DynamoDB. DynamoDB manages user and item data used for recommendations informed by behaviour and preferences.
- Anthropic Claude 3 on Amazon Bedrock. Claude generates personalised responses or product descriptions for the interaction.
Well-Architected
- Operational Excellence
- Managed backend processing, monitoring, scaling and backup capabilities reduce manual operational work.
- Security
- IAM and OpenSearch Serverless access controls restrict access to application data.
- Reliability
- Lambda operates across Availability Zones, while DynamoDB offers scaling, backups and configurable multi-Region replication.
- Performance Efficiency
- Triggered Lambda execution and DynamoDB retrieval capabilities support changing application demand.
- Cost Optimisation
- OpenSearch Serverless adjusts compute capacity with usage to reduce manual overprovisioning.
- Sustainability
- S3 Intelligent-Tiering can move stored data between tiers according to access patterns.