Every business that needs a support assistant already owns the hardest part of the dataset: the documentation it wrote for its customers. Training a model from scratch sounds grander, but an assistant grounded in your own help centre, policy pages and runbooks answers the questions people actually ask, and it is far easier to verify. Here is a practical path from a pile of documents to an assistant you are willing to put in front of customers.
Why documentation makes the best first dataset
Support content has a structural advantage over any other corpus: it is organised around the questions customers ask. Someone wrote an article called "How to reset your password" because customers kept asking to reset their passwords. When the assistant is built on this material, the question space is already partially covered before you touch a model. The classic failure of generic chat assistants — fluent answers that do not match how your product actually works — is exactly what your own docs exist to prevent.
Step 1: Audit and structure what you have
Gather everything the assistant might draw on: help centre articles, onboarding guides, billing FAQs, API references, canned support replies and internal runbooks. Then be honest about quality, because an assistant inherits your contradictions. If two articles state different refund windows, the model will happily blend them into a third answer nobody ever promised. During the audit:
- Archive outdated articles; anything older than a year should be re-verified before it is allowed to answer.
- Merge duplicates and resolve conflicting instructions before indexing anything.
- Write down the unwritten knowledge — the edge cases only your senior agents know — as short, citable answers.
- List the gaps: questions your best agents answer daily that appear nowhere in the docs.
Step 2: Chunk documents the way people ask questions
Retrieval systems fail more often on chunking than on model choice. A support assistant should retrieve self-contained fragments: one procedure, one policy, one product fact. Chunk at heading boundaries rather than by fixed character counts, and prefix every chunk with its article title and section path so a fragment like "Processing time: 3–5 business days" carries the context "Billing > Refunds" with it. Keep chunks around 200–400 words, and split longer ones. A cheap trick that often outperforms fine-tuning the embeddings: prepend each chunk with one or two question phrasings a real customer might use.
Step 3: Retrieve first, generate second
Do not fine-tune a model to memorise your support facts. Policies change weekly, and a weekly retraining pipeline is expensive and error-prone. Use retrieval-augmented generation instead: the customer question goes through a search step (vector or hybrid keyword-plus-vector), and the top few relevant chunks are placed in the prompt with an instruction to answer only from the supplied context and to say so when the context does not cover the question. This division of labour keeps the model responsible for phrasing, synthesis and tone, while the documents stay responsible for facts. Updating an answer then means editing one article, not retraining anything.
Step 4: Ground the answers and design the escape hatch
Plan the assistant to admit the limits of its knowledge:
- Require citation: every factual answer links back to the source document it used.
- Forbid improvisation on sensitive matters — refunds, discounts, account deletion, security incidents — and route those straight to policy templates or people.
- Detect low-confidence moments (no relevant chunk found, contradictory chunks, hesitant phrasing) and escalate to a human with the transcript and the retrieved chunks attached, so the agent never starts from zero.
Escalation is not failure; it is the pressure valve that keeps the whole system trustworthy.
Step 5: Evaluate before launch, then every week
Build a small evaluation set of fifty to one hundred real customer questions taken from tickets, each paired with the answer your best agent would give. Run it against your assistant and score every answer on three axes: factual accuracy against the documents, relevance to the question asked, and tone. Ship only when the failures are embarrassing-but-rare rather than systemic. After launch, log every conversation, review the worst-rated ones weekly, and watch two numbers: deflection rate and reopen rate. High deflection with a high reopen rate means the assistant is confidently unhelpful, which is the worst outcome available.
Common failure patterns to avoid
- Indexing internal-only documents and letting the assistant leak them to customers; tag documents by audience and filter at retrieval time.
- Layering a chat box over broken documentation instead of fixing the content first.
- Removing the escalation path to force a better deflection number.
- Launching multilingual support for languages your training data does not actually cover.
The honest goal is not a support team replaced. It is an assistant that answers the repeated forty percent of questions instantly and correctly, frees your people for the cases that need judgement, and quietly tells you every week where your documentation still falls short.



