Log in·Sign up
BestRelay

Back to the Journal

Retrieval quality decides the value of every FAQ answer

Most FAQ assistants fail at retrieval before they generate

A retrieval-augmented FAQ assistant is a search system wearing a conversational coat. When someone asks a question, the assistant does not depend on facts stored inside the model. It searches a collection of approved passages, picks the handful that look relevant, and asks a language model to answer using only those passages. Retrieval supplies the knowledge; generation supplies the sentences. In practice, almost every serious problem lives on the retrieval side.

That division of labour matters because language models are fluent about almost everything and precise about very little that is specific to your organisation. Pricing rules, return windows, integration limits and internal naming conventions are exactly the kind of detail a model will invent if it cannot find them. Keeping those details in a searchable store you control means the assistant can be corrected without retraining anything. You fix a passage and the next answer is better.

New teams judge early prototypes by tone. A calm, well-shaped answer feels correct even when the underlying facts are wrong, and that is the trap. Separate the score into two questions. Did the system retrieve the passage a human expert would cite. Did the model stay faithful to that passage. When the second number is high and the first is low, the problem is retrieval, and no amount of prompt polishing will fix it.

A cheap way to start is to collect thirty real questions from support threads, write the answer you would want each one to receive, and then check whether retrieval surfaces the passage you would cite. If the right passage never appears, the collection needs restructuring rather than a bigger model.

Questions and answers need different shapes before embedding

Passages are the unit of retrieval, so write each one to stand alone. A useful passage carries a short descriptive heading, the answer in plain sentences, and the specific numbers or conditions that make the answer true. It should make sense when it is read outside its document, because retrieval will almost always pull it out of context. Very long sections bury the useful sentence in noise, while very short fragments lose the qualifications that make an answer correct.

Questions and answers rarely share the same vocabulary. A customer asks about getting money back, and your document discusses refund eligibility. Bridge that gap by attaching several example questions to each answer passage, written in the words customers actually use, including common misspellings and abbreviations. Search both the example questions and the answer text, and matches improve noticeably.

Metadata deserves the same care as prose. Record which product an answer covers, who owns it, when it was last reviewed, and which regions or plans it applies to. Filters built on that metadata prevent a correct passage from the wrong plan reaching the wrong person, and ownership keeps stale content from surviving indefinitely.

Near-duplicates are surprisingly damaging. Two passages that say almost the same thing crowd out other candidates in the retrieved set, and contradictory versions confuse the model. Keep one canonical answer per question, merge overlapping explanations, and archive superseded material rather than deleting it.

A reranker converts loose matches into defensible context

Single-stage search is rarely enough. Embedding search is excellent at recall, meaning it finds many plausible passages and some irrelevant ones. A reranker then reads the question together with each candidate and scores the real fit, which is slower but far more accurate. Cast a wide net first, then rank carefully, and finally send only the strongest few passages to the model.

Keep the final context small and varied. Four to eight passages is a workable range for most FAQ work, and they should cover different aspects of the question rather than repeating one idea. Remove overlapping passages before generation, since repetition steals attention and gives the model a false sense of consensus.

Two-stage retrieval also makes debugging tractable. When an answer is wrong, you can inspect whether the correct passage entered the candidate set and where the ranking pushed it. That trace turns a vague complaint into a concrete fix: better example questions, clearer headings, stronger metadata, or a tuned ranking threshold.

Context size has a cost in both latency and tokens, so budget it deliberately. Stable, well-labelled passages also let you reuse cached results for repeated questions, and most relays price cache reads and writes separately from fresh generation, so structure that keeps cache hits high pays for itself.

Citations make answers verifiable and easier to maintain

Treat citations as an interface feature rather than an afterthought. Ask the model to point at the passage supporting each claim, and show that reference alongside the answer. Readers can confirm a detail in seconds, support staff can spot outdated wording, and disagreements move from opinions about tone to discussions about which passage is authoritative.

Refusal is part of the contract. When no retrieved passage supports the question, the assistant should say that it does not know and offer a human handoff. A confident answer built on thin retrieval is more damaging than a polite admission, especially for billing or legal topics.

Build a small evaluation set early and treat it like a test suite. Record the question, the passage that should answer it, and the answer you expect. Run the set after every collection change or ranking adjustment, and keep the failures visible so improvements do not silently regress older behaviour.

Real usage gives the best signal. Log the questions people ask and the passages that ended up in context, and review the queries that received a thumbs-down. A single recurring unanswered question is usually a sign that an answer passage is missing, not that the model needs replacement.

Small operational details keep a FAQ assistant trustworthy

Freshness beats cleverness over time. Answers expire when prices change, policies move or products are renamed, so give every passage a review date and an owner, and let the assistant prefer the most recently confirmed passage when two candidates conflict. A quiet review queue is more reliable than a heroic annual cleanup.

Watch the boring metrics. Retrieval latency, answer latency, token spend and the share of questions answered without escalation tell you more than any single demo. Cache frequent questions with care, and invalidate cached answers whenever the underlying passage changes, or stale wording will outlive the fix.

Model choice follows the question mix. Most FAQ traffic is short and factual, so a compact fast model handles it well, while a stronger model earns its cost on multi-step or ambiguous questions. I tested retrieval queries on Claude Haiku 4.5 and answer drafting on Gemini 3.1 Pro while assembling this workflow.

BestRelay is the API relay I used for that setup. It forwards each request to the official model named in it without substitution, which keeps benchmarks honest, and it works with Claude Code, Codex, Gemini CLI and any OpenAI SDK. Billing is pay-as-you-go from the token counts the provider reports, with cache reads and writes priced separately, so cost follows real usage. Create a BestRelay account when you are ready to run the assistant end to end. Members also earn a referral commission when people they invite top up.

The craft in a FAQ assistant is mostly discipline: clean passages, honest retrieval measurements, visible citations and steady maintenance. Get those right and the model only has to do the easiest part of the job.