The Stylist Agent
A multimodal stylist that sees what you see
Role
Agent design, search architecture, vision pipeline
Timeline
2024 - now
Status
Running in production
Stack
Stack
- ~70K
- search requests a month
- 11K
- products, 60K variants
- 2.3K
- customers served monthly
The stylist agent is the product half of Harrir's AI surface: search, styling advice, outfit pairing and shop-the-look. Where the support agent's complexity sits in its safety nets, this one's sits in its tools. The graph itself is a plain ReAct loop; everything interesting happens inside what it can call.
The toolbox
- Product search over the catalog, with filters the model fills in from natural language.
- Image search, so a customer can send a photo instead of describing what they want.
- Outfit builder, which assembles complementary pieces around an item.
- Web search, for questions the catalog cannot answer on its own.
Each tool has a strict argument schema. A fine-tuned model that invents a filter value is a worse failure than one that asks a clarifying question, so the schemas are narrow on purpose and the agent is trained to ask when a query is ambiguous.
Search built for fashion
Product search runs a hybrid engine over Qdrant: dense vectors alongside sparse retrieval, fused and then reranked in two stages. Images share the space with text through SigLIP embeddings, so a customer can search by typing or by sending a photo and both land in the same index.
- ~70K
- requests a month across text and image
- 11K
- products indexed
- 60K
- variants
Replacing keyword search with semantic retrieval mattered most for a catalog where customers describe garments in four language registers and rarely use the exact words in the product title.
One agent, several doors
The same graph serves the mobile apps and the web chat. Cross-agent handoff is symmetric: the stylist sends order questions to the support agent, and the support agent sends styling questions back, each through a tool with a strict single-key schema so a fine-tuned model cannot invent arguments.