An e-commerce platform is building a visual product search system. Users upload photos of items they want to find (e.g., a photo of a lamp they saw at a friend's house). Claude must identify: (1) item category, (2) style attributes (mid-century, industrial, etc.), (3) approximate price range, and (4) 3-5 specific product recommendations from the platform's catalog. The catalog has 2 million SKUs. The team debates whether vision processing should happen in Claude or in a dedicated computer vision pipeline before Claude. Which architecture is correct?
Select an answer to reveal the explanation.
Short Explanation and Infographic
Here's the deal — option C implements the correct architectural separation of concerns. Claude's vision capabilities are genuinely superior for semantic interpretation tasks (style, category, price bracket) — these require understanding context, cultural style references, and visual nuances that CV classifiers struggle with.
Full explanation below image
Full Explanation
Option C implements the correct architectural separation of concerns. Claude's vision capabilities are genuinely superior for semantic interpretation tasks (style, category, price bracket) — these require understanding context, cultural style references, and visual nuances that CV classifiers struggle with. However, searching 2 million SKUs is not a Claude task — it requires an embedding-based vector search system operating at catalog scale. Claude correctly outputs structured attributes (category, style, price range) which then parameterize a retrieval query against the product catalog. Option A is wrong because RAG-retrieving a 2M SKU catalog shortlist adds retrieval complexity and still can't surface the right products without the structured interpretation step first. Option B discards Claude's superior style interpretation by reducing the image to a structured vector first — losing the semantic richness that makes the product search accurate. Option D is architecturally absurd — chunking 2M product descriptions across multiple API calls is economically and technically infeasible.