The self-improving knowledge base

Part of: How an organisation learns

Your knowledge base launched six months ago. The first three weeks were great: people wrote articles, the search worked, customers got answers. Then the product changed. Nobody updated the articles. The knowledge base did not complain. It just quietly served wrong answers.

This is the lifecycle of nearly every wiki, every help centre, every shared drive I have ever seen. They start strong and decay silently. Not because people are lazy, but because nobody can see what is going wrong. The knowledge base does not tell you which answers are outdated. It does not flag the questions it cannot answer. It sits there, looking exactly the same whether it is 95% accurate or 40% accurate.

That silence is the problem. And it is what a self-improving knowledge base is designed to fix.

The maintenance trap

The traditional approach to keeping a knowledge base alive is to assign someone to maintain it. A knowledge manager. An editor. Someone who periodically reviews articles, checks for accuracy, and updates what is outdated.

This works at 30 articles. It barely works at 300. It is impossible at 3,000.

The reason is simple: the editor has no signal. They do not know which articles are causing problems. They do not know which questions go unanswered. They do not know whether the article about your return policy is read ten times a day or once a month. So they review everything, or they review nothing. Usually the latter.

Even in companies that invest heavily in knowledge management, the review cycle is often calendar-based where you want it to be signal-based.

In organisations where knowledge management works best, everybody becomes the editor. But in most organisations, systems just grow out of that. What if you did not need more editors? What if you had a system that knows where it is failing?

Three signals that something is missing

A knowledge system that monitors its own performance can detect gaps from three sources.

Unanswered questions

When your AI chat widget or internal search cannot find a good match for a question, that is a signal. Not every unanswered question is a gap. Sometimes people ask vague questions or use the wrong words. But when the same type of question keeps coming up and the system keeps failing to answer it, that is not a bad question. That is a missing article.

Low-confidence answers

Sometimes the system finds something, but the match is weak. The retrieved article is tangentially related but does not actually answer the question. These partial matches are arguably worse than no match at all, because they look like answers. The user reads them, gets confused, and loses trust in the system. Detecting these low-confidence retrievals is harder than detecting zero results, but it is more valuable.

Patterns in support conversations

Your helpdesk team has conversations every day that contain the answers to questions your knowledge base cannot handle. When a support colleague explains something to a customer that is not documented, that conversation is evidence of a gap. Most support tools already capture these exchanges: ticket notes, escalation trails, chat transcripts. The challenge is not recording them, it is spotting the pattern.

Three patterns are worth watching:

  • “Ask Sarah.” When the same name keeps coming up as the answer to “who knows about X?”, Sarah is the documentation. That is a gap with a notice period attached.
  • “Let me check with finance.” Every escalation where a support colleague hands off because they cannot answer the question is a signal. The answer exists somewhere, just not where the front line can find it.
  • Repeated explanations in ticket notes. When five different tickets contain variations of the same internal comment (“heads up, this customer is on the legacy billing plan”), that rule is real. It just lives in your team’s heads, not your knowledge base.

None of these signals is useful on its own. A single unanswered question could be noise. A single low-confidence retrieval could be a badly worded query. What matters is the pattern: when the same type of question fails repeatedly, across multiple users, over a period of time, that is a real gap.

From signal to action

Detecting a gap is the easy part. The hard part is making sure the right person does something about it.

In most knowledge tools, the gap sits invisible in a log file somewhere. Maybe someone notices it in a support ticket. Maybe not. There is no systematic way to surface “here is what is missing” to the people who can fix it.

What a self-improving system does differently is create a pipeline from detection to action:

  1. Aggregate. Group similar failing queries together. Ten different phrasings of “how do I cancel my enterprise contract” are one gap, not ten.
  2. Prioritise. Not all gaps are equal. A gap that comes up twenty times a week matters more than one that comes up twice a month. A gap triggered by an escalation matters more than one from a casual browse. A gap from this week matters more than one from six months ago.
  3. Route. Present the prioritised gaps to the people who can write the answer. Not as a vague notification, but as a specific brief: here is the question, here is how often it comes up, here are example conversations where someone asked it, and here is where the new article should fit in your existing taxonomy.

The output is an editorial inbox. Not a list of everything that might be wrong, but a ranked list of the highest-impact gaps with enough context to write a good article without having to do additional research.

The loop that closes itself

Here is where it gets interesting. When someone writes an article to fill a gap, the system re-indexes. The next time a user asks that question, the system finds the new article and serves it. The gap resolves. The editorial inbox gets shorter.

This creates a feedback loop:

Users ask questions. Some of those questions produce low-confidence answers. Those failures become gap candidates. Gap candidates get aggregated and prioritised. An editor writes an article. The article gets indexed. The same question now gets answered correctly. Fewer failures. Fewer gaps. Shorter inbox.

The human is in the loop at one point: the editorial step. Everything else (the detection, the aggregation, the prioritisation, the re-indexing) is automated. Humans decide what to write, not whether something needs writing.

And there is a second-order effect. Every article that fills a gap also improves retrieval for related questions. An article about enterprise contract cancellation also helps with questions about enterprise billing changes, because the retrieval model now has more context in that topic area. One article can close multiple gaps.

Why gaps should never disappear

In the previous post, I wrote about why knowledge should evolve rather than get deleted. The same principle applies to gaps.

A gap that was detected in January and resolved in February carries useful information: for four weeks, your team did not have a documented answer to a common question. If the same gap re-opens in August because the article became outdated, you want to see the full timeline. First detected, resolved, re-opened.

That pattern tells you something about the stability of knowledge in that area. If a gap keeps re-opening, the underlying topic is volatile and needs a different approach. Maybe it needs a more general article that references changing details rather than hardcoding them. Maybe it needs an owner who reviews it quarterly. The gap history tells you this. A deleted gap tells you nothing.

In Klai Knowledge, resolved gaps are never deleted. They carry a link to the article that resolved them. If the same problem reappears in three or more new conversations after resolution, the gap re-opens with its full history. This creates an audit trail: “Gap G47 was first detected 14 January, resolved 28 February by article X, re-opened 12 March because the article was too generic.”

The 90/10 split

The self-improving loop is where the 90/10 principle from the first post plays out most concretely.

AI does the detection. AI does the clustering. AI calculates the priority scores. AI even drafts articles when the gap is straightforward enough. But the decision to publish is a human decision. A system that auto-publishes everything it detects will confidently add noise alongside signal. That 10% of human judgment is what keeps the knowledge base trustworthy.

What this means in practice

Ask any knowledge manager what they spend most of their time on. It is not writing articles. It is figuring out which articles need writing: auditing existing content, cross-referencing support tickets, trying to guess what is outdated. The self-improving loop removes that guesswork. The system tells editors exactly what is missing, how urgent it is, and provides example questions and conversations as raw material. The editors spend their time writing, not searching.

For a support team, this means fewer repeated questions that nobody documents. For a product team, it means the knowledge base stays current with product changes without someone manually auditing every article after every release. For compliance teams, it means gaps are detected and documented with timestamps, which matters when a regulator asks “how quickly do you update your documentation after a policy change?”

And for the organisation as a whole, it means the knowledge base gets better over time instead of worse. Not because someone decided to maintain it, but because the system is designed to improve itself, with humans making the final call.

What you can do today

You do not need a self-improving knowledge system to start detecting gaps. Three things you can do this week:

Track what your support team explains repeatedly

Ask your support colleagues: “What questions do you answer most often that are not in our knowledge base?” They know. They have a mental list. Write those down. That is your gap backlog.

Monitor your search analytics

If your knowledge base has search, look at the queries with zero results or low click-through rates. Those are gaps. Most knowledge tools have this data; almost nobody looks at it.

Create a simple feedback loop

Add a “was this helpful?” button to your knowledge base articles. When users say no, ask what was missing. That single question generates more useful gap signals than any automated system.


Knowledge bases do not fail because the knowledge disappears. They fail because nobody notices when the knowledge stops being useful. The difference between a knowledge base that decays and one that improves is not the amount of effort you put in. It is whether you can see where the effort is needed.

That visibility is what the self-improving loop provides. Not perfect knowledge, but a system that knows what it does not know, and can tell you where to look next. The technical mechanics of that detection (and how it classifies failures into hard and soft gaps) are covered in the retrieval-that-works series.


Next up in this series: why a knowledge system needs a deliberate spine before self-improvement can do anything useful, and why handbook-first companies get more value out of AI tools than handbook-less ones. Read the handbook is your knowledge base’s first draft.