Zum Inhalt springen
lurno
Alle Beiträge
Blog

Grounding AI course generation in your own documents

Ungrounded AI writes plausible material that quietly contradicts your syllabus. How parsing, hybrid retrieval and citations make a draft checkable.

The Lurno teamAugmental11 Min. Lesezeit

Dieser Beitrag ist noch nicht übersetzt – angezeigt wird die englische Fassung.

An AI that writes a lesson from nothing writes a plausible lesson. That is the problem. It uses the vocabulary of your field rather than the vocabulary of your organisation, pitches a topic at the level the internet pitches it rather than the level your syllabus places it, and states your appeal window, your safeguarding escalation or your clinical protocol as the sector average rather than as your policy. None of that looks wrong on a skim. Every sentence has to be checked against a source document by somebody who knows which document that is, which takes longer than writing the lesson would have. Material that is confidently wrong in ways the reader cannot see costs more than a blank page.

The asymmetry is easy to miss, because generation is the part you watch and review is the part you pay for. Writing a 600-word explainer takes a subject lead an hour. Checking a 600-word explainer that might contain two errors, without being told where, also takes an hour — of a more expensive person's time, repeated for every draft, forever. What happens next is predictable: after a fortnight the reviewer starts skimming for tone, and the errors go through.

The failure mode is agreement, not refusal

A model that says it does not know is easy to handle. A model that answers fluently, in your register, about your subject, is the one that costs money. In course material the damage arrives in four shapes.

  • Your words, replaced by the sector's words. A college that says placement supervisor gets mentor; an organisation whose learners are participants gets students. Trivial in one lesson. Across a programme it means two names for one role, a handbook that no longer matches the course, and a support inbox nobody planned for.
  • The right content at the wrong point. A topic introduced two years before your specification introduces it, or a prerequisite the preceding module never covers. Nothing here is false, so a block-by-block review passes it. A learner finds it in week three.
  • Your policy, averaged. Notice periods, resit rules, escalation routes, protocol versions. The model writes the common version, because that is what it has read. A course stating a policy your organisation does not operate is a compliance problem, not a typo.
  • A reference shaped like a reference. A clause number, a standard, a page: right shape, wrong pointer. The most expensive of the four, because a citation is exactly what makes a reviewer stop checking.

Education gets hit harder than most fields here, for a structural reason: it has canonical sources. A marketing page has no correct version. A Year 9 chemistry module has an awarding-body specification, a scheme of work and a department that argued for a term about the order. Against a canon, roughly right is a defect rather than a variant. And the person reviewing generated material is often an instructional designer covering forty subjects rather than the subject lead. They can tell you a lesson is well made. They cannot tell you it is true.

Grounded generation

Generation in which the model is handed passages from documents you supplied and told to answer from those passages, with the passage it used quoted back. The retrieved text enters the prompt as data to be read, never as instruction to be obeyed, and the answer carries a pointer — document, version, page — a reader can open. Ungrounded generation asks a model what it remembers about your subject. Grounded generation asks what your document says. The second is checkable by anyone in seconds; the first only by somebody who already knows the answer.

Why does AI-generated course content contradict our curriculum?

Because a model with no sources answers from what it has read about the subject in general, and the general version is not your version. Your sequencing, your terminology, your policies and your awarding body's wording live in specific documents the model was never shown. It is not contradicting you on purpose; it was never told there was a canon to contradict. The fix is not a better prompt asking it to be accurate — it is putting the relevant passages in front of it and requiring it to cite the one it used.

What retrieval actually does

Grounding is not a checkbox. It is a short line of machinery, and each piece fails in a way that surfaces later as a citation you cannot trust.

  • Parsing. The file becomes text with its structure kept: headings, page numbers, tables, reading order. Most silent damage happens here — a scan with no text layer, a two-column page read straight across, a table flattened into a run-on sentence. A page number never captured cannot be quoted back later.
  • Chunking. Documents are split into passages small enough to retrieve. Boundaries matter more than size: a rule separated from its exception retrieves as a rule with no exception, and reads as authoritative. Carrying the heading a passage sat under, and the pages it spans, is what lets it survive being pulled out of its document.
  • Embedding. Each passage becomes a vector — a position in a space where passages that mean similar things sit near each other. That is what lets what happens if a learner misses the deadline find a paragraph headed late submission that never uses the word misses.
  • Retrieval, both ways at once. Vector search handles paraphrase well and exact strings badly. Ask for clause 7.3 or a competency code like `HC4.2` and it will cheerfully return clause 7.2, the nearest thing by meaning and the wrong thing by fact. Keyword search has the opposite habit. Running both and fusing the rankings — hybrid search — is not a refinement. Where half the real questions are about exact identifiers, it is the floor.
  • Citation. The answer names the document, the version and the page. As decoration this is worthless. Done properly it is the whole point: it turns review from research into a lookup.

None of this makes a model incapable of being wrong. It changes what a wrong sentence arrives with: a footnote pointing at the passage it claims to come from, which a reviewer can open in seconds. The failure nothing downstream can repair is retrieval coming back with nothing relevant. What the system does at that moment is the question worth asking a vendor — refuse and say so, or answer from model memory in the same confident voice as a grounded answer. The second is the difference between grounding and a feature shaped like grounding.

Lurno

Retrieval decides which of your passages the model is allowed to read before it writes a word.

Not this

A check run over the model's output afterwards. There, the model still wrote what it remembered, and something else is now marking its homework.

Does retrieval-augmented generation stop AI hallucinating?

No. It narrows where an answer can come from and makes the errors that remain findable. A grounded generator can still misread a passage, stitch two together badly, or retrieve the wrong section entirely. The difference is that each failure leaves a pointer: open the cited passage, and either it says what the draft says or it does not. Ungrounded output offers nothing to check against, so verifying it means redoing the research. Grounding does not buy accuracy. It buys cheap verification, which over a few hundred drafts is worth more.

Attach the sources once, at the programme

Most AI authoring tools attach documents per prompt. The upload control sits beside the generate control: pick files, generate, move on. For one lesson written by one person it works. It stops working the moment a programme has more than one author or outlives a term, and it stops working quietly.

  • It depends on somebody remembering. Grounding is only as reliable as the most rushed generation in the programme, and a lesson drafted at 5pm on Friday without the specification attached looks exactly like one drafted with it.
  • Different authors attach different sets. Module 1's author attached the specification and the glossary. Module 4's author attached the specification and last year's slides. The programme now disagrees with itself about terminology, invisibly, because each module was reviewed on its own and each was fine.
  • There is no version. People attach the copy sitting on their laptop. The policy changed in March; the copy is from January. Nothing in the output tells you which one it read.
  • Nothing is auditable. Six months later, someone asks which sources a lesson was written from. With per-prompt attachment that answer lives in a chat history, if it survives at all.
  • It does not survive a handover. The author who knew which four documents were canonical moves on. Their replacement attaches what looks relevant, which is a different set, and nobody finds out for a year.

Programme-level grounding inverts the default. The specification, the glossary and the policy set are attached once, to the programme, and every generation inside it inherits them — lesson drafts, assessment items, the tutor a learner talks to at eleven at night. A new author's first draft on their first morning is grounded without their knowing the feature exists. Replace the policy and a new version is created rather than overwriting the old, so next term's material uses the new rule and last term's can still be explained. The audit question stops depending on memory, because the attachment is a record.

The real gain is that grounding stops being an authoring habit and becomes a property of the programme. Habits decay under deadline; properties do not. Per-prompt attachment still has its place for a one-off document. What matters is what happens when nobody does anything at all — whether the default is your canon or the internet's.

Should we attach source documents to each prompt or to the whole programme?

To the programme, with per-prompt attachment kept for genuinely one-off material. Attaching per prompt makes correctness depend on every author remembering every time, under deadline, which fails silently and unevenly across a course. Attaching at programme level means the syllabus, glossary and policy set are inherited by every generation inside it by default, a new author is grounded before they know the feature exists, and six months later you can say which version of which document produced a given lesson.

Questions worth asking before you trust a grounded generator

  • What happens when retrieval finds nothing relevant? Refusal is the correct answer. Falling back to model memory in the same tone is what eventually puts a wrong policy in front of a learner.
  • Can I see the passage behind a sentence, not just the document name? Document-level citation is a bibliography. Passage-level citation is a check.
  • Is my document's text treated as data or as instruction? An uploaded PDF is untrusted input whichever side of the firewall it came from — a supplier's brochure, a partner's policy, a learner's submission. If a sentence inside a file can change how the model behaves, anyone who can get a file into your library can steer what your courses say.
  • Does grounding cover assessment items, or only lesson text? Questions written against a model's general idea of the syllabus are the ones learners complain about, and the most awkward to withdraw after a sitting.

How we build it

We make a learning platform, so read this section as interested rather than neutral. It is also the concrete version of everything above.

In Lurno, a PDF, DOCX or PPTX uploaded into an organisation's library or onto a programme is parsed into a versioned source, heading path and page numbers intact; re-uploading produces a new version rather than silently replacing the old. Each chunk keeps the heading it sat under and the pages it spans. Vector and keyword search run over the same scoped versions and their rankings are fused, so an exact clause reference is found alongside a paraphrase. Answers name the document, version and page.

Attachment is at programme level: attach the sources once and every generation inside that programme inherits them, assessment items and the in-course tutor included. Untrusted document text is classified for injection attempts, redacted for personal data before any provider call, and wrapped in a per-request fence so it is read as data, not instruction. Nothing a model writes enters a programme until a person accepts it. Retrieval only ever searches versions inside your own tenant, and that Separation is enforced underneath the platform rather than by application code — see security. The AI surface covers drafting, tutoring and the copilot; authoring and the content library covers what a person does with the draft once it exists.

A test that takes an afternoon

Find a document whose content changed in the past year — a policy, a specification, a protocol. Ask the generator a question whose answer changed with it, then check three things in order: does the draft state the current answer, does it cite a passage, and does that passage actually say what the draft says. A tool that manages the first without the second is guessing well. One that manages the second without the third is worse than a tool that cites nothing, because it has spent your trust on a pointer that does not hold.

Then run the same question with nothing attached and read the two answers side by side. The distance between them is the size of the problem your reviewers have been absorbing by hand.