AI Product Recommendation Agents: Turn Product Discovery Into Guided Selling (2026)
Quick summary: Guided selling ranks on intent and attributes, not "frequently bought together." Reuse Gateway ~180 ms → ~95 ms and ~$791/mo at 50K sessions — not a rec-conversion KPI.
Key Takeaways
- Reuse Gateway ~180 ms → ~95 ms and ~$791/mo at 50K sessions — not a rec-conversion KPI
- Baymard still puts average cart abandonment at 70
- 22% (50 studies, updated 22 Sep 2025)
- On 17 June 2026, AgentCore Harness reached general availability (What's New)
- Agents Classic is in maintenance for new customers after 30 July 2026

Table of Contents
Product discovery still fails in the same place: the shopper can describe what they need, and your merchandising stack answers with a related-products rail that does not know width, compatibility, or stock. Baymard still puts average cart abandonment at 70.22% (50 studies, updated 22 Sep 2025). Wrong recommendations do not “fix” that number. They add another untrue claim before checkout.
This is guided selling: natural-language requirements in, structured catalog out, ranked. It is not shopping-agent readiness. Readiness asks whether APIs tell the truth. This post asks how you rank once they do.
On 17 June 2026, AgentCore Harness reached general availability (What’s New). Agents Classic is in maintenance for new customers after 30 July 2026. A rec bot should not start on Classic InvokeAgent.
This is post 13 in the 15-automations map. It is not an anonymized client engagement. We do not invent click-through or AOV lifts.
First-party signals we reuse (not eCommerce client outcomes) — Gateway server-side tools cut median tool round-trip ~180 ms → ~95 ms on a B2B CRM assistant (12 tools, ~8k turns/day) — Gateway post. Platform TCO silhouette: support-style AgentCore at 50K sessions/mo ~$791/mo platform + model (decision guide). Model your mix on the AgentCore pricing calculator.
Reproduce this — Copy
recommendation-agent-decision-matrix.md. Fill Owner and Approval. Score FBT as secondary. Ship gates:monday-checklist.md.
Opinionated take: do not recommend a SKU because it is frequently bought together. Rank on intent attributes, catalog fields, stock, and compatibility. FBT may break a tie. Trade-off: fewer recs, more honest carts. The alternative is a related-rail that sells inventory you cannot fulfill.
The business problem
Shoppers state constraints in language: “waterproof trail shoe under $140, wide, in stock, works with my gaiters.” Facets can encode some of that if they click. Most of them do not. Merchandisers then fill homepage slots and “complete the look” widgets from rules or batch ML that never saw this session.
Why it matters: a rec that ignores size, voltage, or fit becomes a return, a WISMO ticket, or a chargeback. Catalog quality work in AI product catalog management is the input. Ranking is the output. Who breaks without structured attrs: anyone selling accessories, replacements, or sized goods.
How stores handle this today
| Layer | What it does | Where it dies |
|---|---|---|
| Merch rules | Pin a collection, boost a brand | Cannot parse “wide + waterproof + in stock” |
| Batch collaborative filtering | People who bought X bought Y | No compatibility; stale stock |
| On-site search | Keywords + facets | Shopper must know the facet names |
| Human stylist / sales | Actually guided selling | Does not scale to every session |
Keep search and merchandising rules. They own deterministic ranking and promotions. The agent is a conversational ranker over the same facts — hybrid, same thesis as agent vs workflow.
What the agent can automate
- Map messy intent to a structured query (attrs + constraints).
- Call catalog, inventory, compatibility tools.
- Return a ranked list with evidence fields (sku, attrs used, stock as-of).
- Compare two SKUs on the same schema.
- Propose a bundle candidate when items actually fit.
It does not merchandiser-publish collections. That is post 17. It does not mint a discount to make the rec convert. That is personalized offers. Upsell / cross-sell is the cart-aware slice of this same ranking discipline.
What stays deterministic
- Inventory truth, price, tax, restricted categories.
- Promo eligibility in the promo engine — not in the prompt.
- Compatibility as data, not as a vibe (“this bag goes with that camera”).
- Hard filters: OOS (unless backorder policy), restricted, over stated budget.
flowchart TD
intent[Shopper intent]
agent[Recommendation agent]
tools[Catalog inventory compatibility]
rank[Rank and compare]
present[Present SKUs]
escalate[Merch or CX]
intent --> agent
agent --> tools
tools --> rank
rank -->|evidence complete| present
rank -->|missing attrs restricted unknown stock| escalateWhere humans stay
Merchandisers own relationship graphs and which collections exist. CX owns “will this fit my weird case.” Legal owns restricted. Nobody should need a human to answer “is size 11 wide in stock” if the tools work.
Escalate when attrs are missing, stock is unknown past SLA, or the shopper asks for a deal the promo engine does not have.
Systems to access
Week-one allow-list:
| Tool | Purpose | Evidence to return |
|---|---|---|
searchProducts | Intent → SKU shortlist | sku, parent id, attrs used |
getProduct | Variant + schema fields | size, width, voltage, care |
getInventory | On-hand or unknown | quantity, asOf |
getCompatibility | Fits / works-with | pair id, pass/fail |
getRestrictedFlag | Age / hazardous / Rx | flag + policy version |
Writes in week one: none. Later cart-add is a Gateway tool with Cedar and a shopper confirm — still not a price write. Knowledge Bases hold size charts and restricted policy. Memory holds this session’s constraints. Do not dump the catalog into Memory.
There is no native Shopify AgentCore connector. Shopify Admin GraphQL, a headless catalog, or Elasticsearch sit behind your OpenAPI. AgentCore Gateway talks to that host.
Production implementation
Bedrock is the model layer (Converse / Guardrails), not the agent host. Harness (GA 17 June 2026) or Runtime hosts the loop. Gateway + Cedar on any write. Browser and Code Interpreter off unless a named supplier portal has no API — recs should never need a browser. Payment capture stays out of tools. Next.js (or the storefront) is the HITL / presentment surface, not the runtime. Strands can orchestrate specialists; it does not give you Gateway, Identity, Policy, or microVMs.
Harness is enough for ≤5 read tools and one team. Graduate to Runtime when a supervisor must stop the rec specialist from calling issueDiscount (Harness + Strands ship map). The store-agents sample is the topology, not a mandate to copy four specialists.
Gateway ~95 ms median from the CRM canary is a platform floor. Your search cluster will dominate. Measure that; do not quote our canary as PDP latency.
What broke — Week-two rec harness ranked from an FBT table because “the related-products widget already existed.” A stove accessory that was frequently bought with brand A was recommended for brand B; voltage did not match. Detection: golden eval “fits stove X” returned the FBT SKU; Gateway traces showed
getFrequentlyBoughtTogetherand nogetCompatibility. Recovery: FBT demoted to tie-break; compatibility required for accessory intents; fail the eval if FBT is the only tool. Lesson: co-occurrence is not fit.
That failure is an engineering counter-case, not a client conversion number.
What to automate first
One category with a real compatibility graph (accessories, replacements, sized footwear). Ten goldens: fit, stock, budget, restricted, “just give me what people buy.” Fail the last one if FBT wins without attrs.
Do not start with homepage personalization. That is merchandising (post 17) and a bigger blast radius.
What to Do This Week
- Score shopping-agent readiness for one category. Below 8: stop. Fix PIM.
- Copy
recommendation-agent-decision-matrix.md. Mark FBT secondary. Name Owner and Approval. - Expose
searchProducts,getProduct, inventory, compatibility. NosetPrice. - Stand up Harness; Gateway reads; Policy
LOG_ONLY; default-deny writes. Browser off. - Ten goldens + three must-escalate (restricted, unknown stock, discount demand).
- HITL queue for merch when attrs are missing. Session id + tool trace.
- Price sessions on the AgentCore pricing calculator. Run
monday-checklist.md.
Need Gateway on catalog search before a rec widget hits production? Contact us. Related: Amazon Bedrock consulting, Generative AI on AWS, AWS for retail / eCommerce.
What This Post Doesn’t Cover
- Shopping-agent readiness (data contract) — that post.
- Cart-aware upsell / cross-sell — next in this cluster.
- Personalized discount issuance — offers post.
- Homepage / collection publishes — dynamic merchandising.
- Measured rec CTR, AOV, or conversion from a FactualMinds engagement — we are not inventing them.
- A native Shopify AgentCore connector (there isn’t one).
- Vector DB bake-offs as a substitute for structured attributes.
FAQ
When should we NOT deploy an AI product recommendation agent?
Skip it when attributes live only in HTML, variants have no parent/child ids, inventory is a nightly dump, or leadership wants the widget to “just use frequently bought together.” That is a merchandising rule, not an agent. Fix catalog quality first — shopping-agent readiness. Also skip Agents Classic for net-new work after 30 July 2026.
What could go wrong if we recommend only because items are frequently bought together?
You attach incompatible accessories, out-of-stock SKUs, and restricted add-ons because co-occurrence does not know fit, voltage, or policy. FBT is a secondary signal after attributes, stock, and compatibility pass. If FBT disagrees with the catalog, FBT loses.
What could go wrong if the agent writes prices or invents a discount to close the rec?
Margin leaks and ungoverned codes. Recommendation tools are reads. Price writes and promo minting stay in merchandising systems and HITL. Prompt text is not an authorization boundary.
How is this different from shopping-agent readiness?
Readiness is the data contract. This post is decisioning: given those facts plus intent, what should rank. Do not staff a ranking agent on a catalog that still fails the checklist.
Is there a native Shopify connector for AgentCore recommendations?
No. Attach PIM, catalog search, inventory, and compatibility as OpenAPI or MCP behind Gateway. Do not wait for a native AgentCore Shopify SKU.
Harness or Runtime for a recommendation agent?
Harness fits a short read-tool list and one team. Use Runtime plus Strands when recs sit under a supervisor with hop caps. Strands does not provide Gateway, Identity, Policy, or microVMs. Bedrock is the model layer, not the host.
AWS Cloud Architect & AI Expert
AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.




