Skip to main content

Real architecture · Staff

QuintoAndar: conversational search with LLM re-ranking

The trade-off is explicit and measured: +4.2 s and +7% cost against +5.3% CTR and +4.8% visits, in an A/B test from Apr 7 to May 8, 2026.

18 min read · Source: QuintoAndar · Content reviewed on October 23, 2026

Short answer

The trade-off is explicit and measured: +4.2 s and +7% cost against +5.3% CTR and +4.8% visits, in an A/B test from Apr 7 to May 8, 2026. QuintoAndar's Concierge is a multi-agent assistant that handles property discovery, questions about listings, and visit scheduling through natural-language conversation.

01 · CONTEXT

Why re-rank with an LLM

QuintoAndar's Concierge is a multi-agent assistant that handles property discovery, questions about listings, and visit scheduling through natural-language conversation.

According to the authors, these preference signals are essentially invisible to traditional faceted search, and retrieval with structured filters produces a reasonable candidate set but cannot distinguish properties that nominally satisfy the same constraints.

The paper's choice was to act at the re-ranking: it operates on a small, latency-tolerant set, integrates with the existing retrieval infrastructure, and can reason about hard constraints, soft preferences, and relative value. This way, the LLM improves search without requiring end-to-end generative retrieval or a rewrite of the serving stack.

02 · ARCHITECTURE

From the natural-language request to the final list

The pipeline follows a retrieval-then-re-ranking architecture: the first stage produces the candidates and the second refines the order with a pointwise LLM scoring function over query-property pairs.

  1. An LLM-based planner is the entry point of every interaction: it classifies the user's intent and routes the request to the most suitable domain agent.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLMentry point
    CPDetails and visits agents
    CPRecommendation agent
    CPText-to-filter converter
    CPRetrieval search
    CPRe-ranker LLM
  2. When the planner routes the query to the recommendation agent, the request enters the retrieval pipeline; the details and visit agents handle other flows.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLM
    CPDetails and visits agents
    CPRecommendation agententers retrieval
    CPText-to-filter converter
    CPRetrieval search
    CPRe-ranker LLM
  3. Text2Filter converts the user's free text into structured search filters.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLM
    CPDetails and visits agents
    CPRecommendation agent
    CPText-to-filter convertertext becomes filters
    CPRetrieval search
    CPRe-ranker LLM
  4. The resulting filters are used to retrieve and rank candidate properties in the existing search system, which serves as the baseline retrieval stage.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLM
    CPDetails and visits agents
    CPRecommendation agent
    CPText-to-filter converter
    CPRetrieval searchbaseline retrieval
    CPRe-ranker LLM
  5. The re-ranking stage refines the order of the candidates with a pointwise LLM scoring function applied to query-property pairs.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLM
    CPDetails and visits agents
    CPRecommendation agent
    CPText-to-filter converter
    CPRetrieval search
    CPRe-ranker LLMreordena
  6. Only the top five properties in the ranking reach the user.

    Architecture diagram: Concierge: from conversation to property list
    CLChat app
    CPPlanejador LLM
    CPDetails and visits agents
    CPRecommendation agent
    CPText-to-filter converter
    CPRetrieval search
    CPRe-ranker LLMfinal list

Text2Filter is a two-stage LLM pipeline based on GPT-4o: in the first stage, the model identifies which filter attributes appear in the query; in the second, it generates the structured values for each identified attribute.

03 · THE RE-RANKER

Scoring one property at a time, with context

Scoring was done pointwise. The table summarizes what the authors say about the LLM ranking.

StrategyWhat the source says
PointwiseEach candidate is scored independently, which allows them to be evaluated in parallel and helps keep re-ranking latency low.
ListwiseEvaluates the candidate set as a whole and captures dependencies between items, but is less compatible with production latency requirements.
PairwiseIt was considered, but the comparison cost grows quadratically.

As an example of the quadratic cost, ranking twenty properties would require one hundred ninety pairwise comparisons.

  1. For each request, a scoring context is assembled by combining the inputs the LLM will receive.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builderassembles the context
    CPSet statistics
    DBUser text profile
    DBProperty metadata
    CPPer-property LLM scorers
    CPFinal ordering
  2. Set-level statistics make it possible to judge whether a candidate is comparatively expensive, better equipped than usual, or distinctive within the retrieved set.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builder
    CPSet statisticsbaseline
    DBUser text profile
    DBProperty metadata
    CPPer-property LLM scorers
    CPFinal ordering
  3. The user's text profile is an LLM-generated summary of the user's historical interactions.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builder
    CPSet statistics
    DBUser text profiletext profile
    DBProperty metadata
    CPPer-property LLM scorers
    CPFinal ordering
  4. Candidate metadata includes amenities, facilities, property attributes, and home descriptions.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builder
    CPSet statistics
    DBUser text profile
    DBProperty metadataproperty evidence
    CPPer-property LLM scorers
    CPFinal ordering
  5. Each candidate is scored by the LLM, and the scores are computed asynchronously across all candidates.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builder
    CPSet statistics
    DBUser text profile
    DBProperty metadata
    CPPer-property LLM scorersscore per property
    CPFinal ordering
  6. Properties are sorted by descending score, and ties are broken by the original retrieval score.

    Architecture diagram: Pointwise LLM re-ranker
    CPRetrieval search
    CPScoring context builder
    CPSet statistics
    DBUser text profile
    DBProperty metadata
    CPPer-property LLM scorers
    CPFinal orderingsorts by score

The scoring prompt considers three complementary dimensions: satisfaction of hard constraints, alignment with stated and inferred preferences, and relative value within the set. The user profile, in turn, treats behavioral signals as soft preferences, not as hard constraints.

04 · OFFLINE EVALUATION

A custom dataset and an LLM judge

To evaluate offline, the authors built their own dataset. They started from a random sample of active listings, treated each listing as an anchor, and defined a taxonomy of six query types, generating one synthetic query per category for each property.

  1. Property data is sampled from the data lake, and each listing serves as an anchor to generate synthetic queries.

    Architecture diagram: Building the offline evaluation dataset
    DBProperty data lake
    CPSynthetic query generatorsynthetic queries
    CPDense embedding index
    DBProduction queries
    CPLLM relevance judge
    DBEvaluation dataset
  2. Semantically similar candidates are retrieved with dense embeddings, to include hard negatives instead of trivial random negatives.

    Architecture diagram: Building the offline evaluation dataset
    DBProperty data lake
    CPSynthetic query generator
    CPDense embedding indexhard negatives
    DBProduction queries
    CPLLM relevance judge
    DBEvaluation dataset
  3. Relevance labels are assigned by an LLM acting as a judge.

    Architecture diagram: Building the offline evaluation dataset
    DBProperty data lake
    CPSynthetic query generator
    CPDense embedding index
    DBProduction queries
    CPLLM relevance judgelabels relevance
    DBEvaluation dataset
  4. The dataset is enriched with real production queries.

    Architecture diagram: Building the offline evaluation dataset
    DBProperty data lake
    CPSynthetic query generator
    CPDense embedding index
    DBProduction queriesreal queries
    CPLLM relevance judge
    DBEvaluation dataset

Neighbor retrieval expanded the dataset from sixty thousand to six hundred thousand pairs. The final dataset has nine hundred sixty thousand query-property pairs; the production portion comes from thirty thousand unique queries in the logs. The relevance distribution is 33% positive pairs and 67% negatives.

The binary relevance labels are assigned by an LLM (Claude Sonnet 4) acting as a juiz. To validate this use, the authors compared labels with human evaluation: on a sample of one thousand pairs, there was 94% agreement with the LLM-generated labels in the validation of synthetic queries and, on another sample of one thousand pairs, 96% agreement with the LLM's judgments.

Component addedReported effect on nDCG@5
Base re-ranker10.4% improvement over baseline retrieval.
Aggregate set statistics0.8% increase over the equivalent setup without them.
Explicit scoring rulesSlight degradation, with a 1.1% reduction compared to the equivalent setup without them.
Property descriptions0.9% improvement over the equivalent setup without descriptions.
User text profile2.8% improvement in nDCG@5 and 2.1% in Recall@5 over the best setup without a profile.

05 · ONLINE EXPERIMENT

The measured gain and the cost paid

The re-ranker went to production in a randomized A/B experiment between April 7 and May 8, 2026, with a 50% treatment and 50% control split and more than 200 thousand real recommendation traces. The treatment group received the LLM-reordered results, and the control group received the baseline retrieval order.

An important detail: the version tested online was the second-best offline configuration, the one that did not use the user text profile, and the profile was not yet integrated into production serving at the time of deployment.

DimensionMeasured result
Click-through rate (CTR)5.3% relative increase, statistically significant.
Scheduled visits4.8% increase, statistically significant, in visits generated by the conversational system.
Response latencyAverage increase of 4.2 s in end-to-end latency compared to baseline retrieval.
Inference costIncrease of approximately 7%.

The authors consider that these costs stayed within acceptable production limits and were outweighed by the gain in engagement and scheduled visits, and they state that production latency remained stable during the experiment.

In parallel, an LLM judge compared, on samples of production traces, the order before and after re-ranking, in a pairwise preference format, with anonymized lists to reduce position and presentation biases. Across 3,944 traces, the judge preferred the reordered list in 95% of cases.

06 · WRAP-UP

Next steps and limits

Among the next steps, the authors mention A/B testing the addition of the LLM-generated user profile as a personalization signal.

Frequently asked questions

What is QuintoAndar: conversational search with LLM re-ranking?

The trade-off is explicit and measured: +4.2 s and +7% cost against +5.3% CTR and +4.8% visits, in an A/B test from Apr 7 to May 8, 2026.

What does the QuintoAndar: conversational search with LLM re-ranking design cover?

It is organized in these sections: Why re-rank with an LLM, From the natural-language request to the final list, Scoring one property at a time, with context, A custom dataset and an LLM judge, The measured gain and the cost paid, and Next steps and limits.

How long is QuintoAndar: conversational search with LLM re-ranking and what level is it?

It takes about 18 minutes to read and is rated Staff level.

Now design it yourself

Run this case as an interview in the System Design school: you make the decisions, the tutor challenges them and you see how your design scores.