Skip to content

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.

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  1. 01

    Start with the shopper’s need

    Plans theresponseBedrock AgentsDescribes aneedShopper

    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.

  2. 02

    Bring the retailer’s material into view

    Stores salesmaterialS3Retrieves salesadviceBedrock KBPlans theresponseBedrock Agents

    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.

  3. 04

    Prepare products for meaning-based search

    Finds semanticmatchesOpenSearchCreates searchvectorsTitan Embeddings

    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.

  4. 05

    Add the shopper’s context

    Runs producttoolsLambdaSuggests forthis userPersonalizeReturns userand itemsDynamoDB

    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.

  5. 06

    Turn evidence into an answer

    Plans theresponseBedrock AgentsWrites thereplyClaude 3 / BedrockDescribes aneedShopper

    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.

Requests producthelpBedrock AgentsCalls separatetoolsLambdaMatches themeaningOpenSearchMatches theshopperPersonalizeSupplies itemdetailsDynamoDB
Illustrative: a backend action gathers semantic matches, user recommendations and item details through separate calls.

Why this design

  1. 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.
  2. 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.
  3. 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

  1. Amazon S3. S3 stores sales pitch data for the knowledge base to reference.
  2. Amazon Bedrock Knowledge Bases. The knowledge base contains historical sales scripts used by Bedrock Agents to guide interactions.
  3. Amazon Titan Embeddings. Titan Embeddings models in Bedrock generate embeddings for vector search that finds relevant products.
  4. Chat client. The user interacts with the chatbot, triggering product recommendation and sales processes.
  5. Amazon Bedrock Agents. The agent acts as the chatbot interface, recommending and selling products according to the user’s inquiries and needs.
  6. Amazon S3. An OpenAPI schema hosted in S3 describes structured backend actions for the agent.
  7. AWS Lambda. Lambda executes backend logic in response to agent triggers, enabling operations and responses during the interaction.
  8. Amazon OpenSearch Service. OpenSearch supports vector search to retrieve relevant products or content.
  9. Amazon Personalize. Personalize generates product recommendations based on user IDs.
  10. Amazon DynamoDB. DynamoDB manages user and item data used for recommendations informed by behaviour and preferences.
  11. 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.