AI-Powered Natural Language Search for Vehicle Marketplace
coches.net · E-commerce · 2024 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.4 (schema v2)
Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.
Problem
Domain: Vehicle marketplace search
Coches.net wanted users to search for vehicles in natural phrases instead of manually navigating many filters, while keeping queries relevant, safe, low-cost, and compatible with the existing filter-based search system.
Constraints:
- users may ask for unethical or non-car-search requests that should not reach the search filter pipeline
- the AI must translate natural language into existing structured filters
- the frontend should continue applying normal website filters
- token volume affects latency and cost
- adoption of the new AI search was still limited
- the feature was built in a 15-day sprint
Architecture
Coches.net built a natural-language search bar on Amazon Bedrock using Claude Haiku. The flow first moderates the user's question, returning codes for valid, unethical, or invalid requests. Valid queries are sent to the AI engine with context about Coches.net filters and few-shot examples. The model translates the phrase into structured filter settings. After verification, the filters are sent to the frontend, where the existing website search applies them. The team chose Haiku for speed and cost effectiveness and tracked token economics at current traffic levels.
Diagram confidence: explicit (topology described by the source).
flowchart LR natural-language-search-bar["natural-language-search-bar"] --> moderation-step["moderation-step"] moderation-step --> haiku-filter-translator["haiku-filter-translator"] filter-context-examples["filter-context-examples"] --> haiku-filter-translator haiku-filter-translator --> response-verifier["response-verifier"] response-verifier --> frontend-search["frontend-search"] cost-monitoring["cost-monitoring"] --> haiku-filter-translator
Components
| Component | Role | Interacts with |
|---|---|---|
natural-language-search-bar |
User input interface for phrase-based car search. | moderation-step |
moderation-step |
Pre-filters unethical or invalid/non-car queries before expensive filter-context prompting. | natural-language-search-bar, haiku-filter-translator |
haiku-filter-translator |
Claude Haiku prompt that converts valid natural-language requests into structured Coches.net filters. | moderation-step, filter-context-examples, response-verifier |
filter-context-examples |
Few-shot examples and filter context supplied to the model. | haiku-filter-translator |
response-verifier |
Checks the AI-generated filter response before forwarding it. | haiku-filter-translator, frontend-search |
frontend-search |
Existing website search that applies structured filters to vehicle listings. | response-verifier |
cost-monitoring |
Tracks token usage, model pricing, invocation volume, and daily operating cost. | haiku-filter-translator |
Data flow
A user enters a natural-language car search. The system first moderates the message to block unethical or irrelevant requests. If valid, the query is sent to Claude Haiku through Bedrock with context about available vehicle filters and few-shot examples. The AI returns filter values. The system verifies the response and sends the filters to the frontend, where Coches.net applies its normal search. Cost is monitored through expected input/output tokens, model prices, and daily invocation volume.
4 supporting quotes
Why this architecture
The system keeps the existing search backend intact: AI only translates intent into filters, and the frontend applies them normally. Moderation runs before full filter translation because it is cheap and avoids spending the whole Coches.net context on irrelevant or unethical requests. Haiku was chosen for speed and cost. Few-shot prompting gives the model concrete examples of how natural phrases map to existing filters.
4 supporting quotes
Models used: Anthropic Claude Haiku · Amazon Bedrock
Scale
- The feature was built in a 15-day sprint.“How a 15-day sprint transformed the way we connect cars and searches”article, stated
- Each AI search uses about 6,000 input tokens and 500 output tokens.“Our AI search generates approximately 6,000 input tokens and 500 output tokens per query.”article, stated
- Current traffic was around 20,000 model invocations per day.“Around 20,000 model invocations per day”article, stated
- Daily token usage was about 55 million input tokens and 4 million output tokens.“55 million input tokens * 4 million output tokens”article, stated
- The resulting operating cost was about €19 per day.“This results in a cost of about €19 per day”article, stated
Alternatives considered (roads not taken)
Traditional manual filter navigation
Rejected because: Users wanted to type natural phrases such as car model, location, or use-case constraints rather than manually apply many filters.
Forward every user query directly to the full filter prompt
Rejected because: Irrelevant or unethical queries should be blocked cheaply before adding the full Coches.net context.
Use a larger model by default
Rejected because: Haiku gave the desired balance of speed and cost for filter translation.
Patterns
structured-output-contract (integration)
The LLM translates open-ended phrases into structured filters that the existing frontend search can apply.
guardrails-io-filtering (governance)
A moderation step blocks unethical or irrelevant requests before filter translation.
prompt-chaining (orchestration)
The flow chains moderation, filter translation, response verification, and frontend search application.
cost-aware-routing (model-operations)
The team chose Claude Haiku and tracked token economics for daily operation.
Tradeoffs
Use AI as a filter translator rather than replacing search.
Chose natural-language-to-filters translation over new AI-native search backend.
Rationale: This lets the existing frontend and search infrastructure apply verified filters.
Moderate before full filter translation.
Chose cheap pre-filtering over including full Coches.net context for every query.
Rationale: Moderation prevents invalid requests and saves processing cost.
Choose Claude Haiku.
Chose Haiku for speed and cost-effectiveness over a larger or slower model.
Rationale: Vehicle filter translation must be inexpensive enough for daily invocation volume.
Gotchas (what bit them)
Natural-language search can receive unethical or irrelevant requests.
Root cause: Users may ask for illegal activity or non-car-search tasks.
Resolution: Moderate every message before passing it to the main AI filter-translation prompt.
LLM context costs grow with filter complexity.
Root cause: Supplying the whole Coches.net filter context to invalid requests wastes tokens.
Resolution: Use a cheap pre-filtering moderation step before the full prompt.
Adoption of the new search path remains limited.
Root cause: Only a small portion of traffic uses filters, and fewer users are using the AI-powered search.
Resolution: Continue improving UX and encouraging users to try the feature.
Evaluation
The team verified model responses before applying filters, demonstrated the feature to stakeholders, monitored cost math, and tracked impact and adoption from user behavior and feedback.
Metrics: verified AI response before frontend application · model invocations per day · input and output tokens per day · daily cost · value generated compared to traditional methods · AI search adoption
3 supporting quotes
Outcomes
- users can enter natural phrases and receive applied car-search filters
- AI search users generated more value than traditional methods
- the operating cost was estimated around €19 per day at current traffic
- feedback was encouraging, but adoption remained limited
At current traffic, the feature was estimated at around 20,000 model invocations per day, 55 million input tokens, 4 million output tokens, and about €19/day.