← All posts
Release notes

Karpathy's LLM wiki, for teams: a knowledge base that keeps itself whole

Andrej Karpathy described a wiki that AI builds and maintains. We took his ideas to a team setting: page links with backlinks, an index for assistants, an agent handbook, knowledge gaps, saved answers and a Librarian Agent that lints it all every morning.

Knowledge gaps in Groundtruth: four questions nobody could answer yet, most asked first, each with a Write the page button

Andrej Karpathy recently published a short idea file, LLM Wiki, about knowledge bases that an AI builds and maintains. Instead of searching raw documents every time you ask something, the AI compiles what it reads into a set of interlinked markdown pages, so that "the wiki is a persistent, compounding artifact." His argument for why it works is the one we built Groundtruth on: people abandon wikis because keeping them up costs more than they give back, and AI makes the upkeep close to free.

His pattern has a few moving parts:

  • Three layers: raw sources that never change, the wiki the AI writes, and a schema file (like a CLAUDE.md) that tells the AI the wiki's conventions.
  • Three operations: ingest a source and update every page it touches, query with citations and file good answers back as pages, and lint the wiki for contradictions, stale claims, orphan pages and missing topics.
  • Two special files: an index.md the AI reads first, and an append-only log.md.

Groundtruth already had the wiki, answers that always cite their source, an attributed activity log and a Freshness Agent. Reading his gist side by side with our product showed us what was missing for a team. Today we're shipping it.

Page links, and what links here

Write [[Page title]] in any page to link to another one. Every page now shows what links to it, and a link to a page nobody has written yet shows up in red: click it, and a new page with that title opens.

The Refund policy page in Groundtruth: links to Approvals and Billing FAQ, a red link to Escalations, which isn't written yet, and below it Linked from: Approvals, Billing FAQ

Links are how a wiki becomes a web instead of a pile. They also tell your assistants how pages fit together: get_page now returns links_to, links_to_missing and linked_from.

An index, so assistants see the whole workspace at once

Karpathy's index.md is a catalogue the AI reads before anything else. Ours is built for you: every page gets a one-line summary (its first sentence, or a description a person or agent sets), and the pages list shows it.

The Pages list in Groundtruth: the agent handbook at the top, then every page with a one-line summary, its space, owner and how many pages link to it

Assistants get the same view in one call with the new get_index tool, instead of a dozen searches:

{
  "workspace": "Acme",
  "handbook": { "id": "p_VALyjP5H06Cd", "title": "Agent handbook" },
  "spaces": [
    { "space": "Customers", "pages": [
      { "title": "Refund policy",
        "summary": "Customers can cancel with 60 days' notice after month six; remaining months are refunded pro rata.",
        "links_to": ["Approvals", "Billing FAQ"],
        "links_to_missing": ["Escalations"],
        "linked_from": 2 } ] }
  ],
  "open_gaps": 4
}

The agent handbook: your schema file

The part of Karpathy's pattern that's easiest to miss is the schema: one document that tells the AI how this wiki works. Every workspace can now have an agent handbook: where things go, how to write, what to check before changing something. It starts from a template in your workspace's language, and you change it like any other page.

The agent handbook in Groundtruth: where things go (pages, decisions, records, board), how to write, and what to check before you change something

Claude, ChatGPT and Gemini receive it the moment they connect, in the instructions our MCP server sends them:

Follow this workspace's agent handbook ("Agent handbook", page p_VALyjP5H06Cd):

## Where things go
- Pages: how we work (processes, policies, how-tos). Spaces: Customers, Finance, People.
- Decisions: anything decided, with the reason and who decided. ...

Knowledge gaps: the questions nobody could answer

Every time Ask comes back with "not written down yet", that's a missing page. Until now that signal disappeared. Now every unanswered question, from people in the app or from assistants, lands on Knowledge gaps, counted and sorted by how often it was asked. We store the question, never who asked it.

Knowledge gaps in Groundtruth: the parking policy asked 4 times, who our accountant is asked 3 times, home office equipment 2 times, data deletion requests once, each with Write the page and Dismiss

Click Write the page and a new page opens with the question as its title. A gap closes on its own when Ask can answer it, or when a page with that title is written. Assistants see the list too, with list_gaps, and the ask tool tells them when a question became a gap:

{
  "mode": "none",
  "answer": "I couldn't find this in the workspace. Nobody has written it down yet ...",
  "knowledge_gap": {
    "times_asked": 4,
    "note": "Recorded as a knowledge gap for the team. If you learn the answer, write it down (create_page or save_answer)."
  }
}

Save the answer, don't lose it

Karpathy's sharpest point is that good answers should be filed back into the wiki instead of disappearing into chat history. Under every answer with sources there's now Save as page.

An answer in Groundtruth to "Who approves a refund of €6,000?", citing Refund policy and Approvals, with a Save as page button

The saved page keeps the question, the answer and its sources as links, so the source pages list it under "Linked from". If an AI model wrote the answer, the page says so and waits for review. Assistants do the same with the new save_answer tool.

A saved answer as a page: the question, the answer, and its sources Refund policy and Approvals as links

The Librarian Agent lints it every morning

The lint step is what keeps a wiki trustworthy. The new Librarian Agent in the Agent Store checks every page every morning and raises one alert per problem:

  • links to pages that don't exist (not written yet, renamed or deleted);
  • pages that cover the same topic twice;
  • pages nothing links to, once your team links pages;
  • questions asked three times or more that still have no answer.

The Librarian Agent in Groundtruth with five open alerts: two links to pages not written yet and two questions asked several times without an answer

Its alerts close themselves when the problem is fixed. It uses no AI model: it compares titles, links and questions. Our Freshness Agent keeps doing the other half of linting, flagging pages nobody has verified in 90 days.

Where a team wiki has to differ

Karpathy's wiki is personal: the AI owns it and the human reads. A company can't work that way. When an assistant changes the refund policy, someone has to be able to see who changed it, why, and from which source, and be able to undo it. So in Groundtruth:

  • People own pages. Every page has an owner and a date it was last verified.
  • AI writes in the open. Every change by an assistant is attributed and labelled, and AI writing waits for its owner's review.
  • Every answer cites its source, or says it doesn't know.

That's also what's next. Karpathy's ingest step updates ten or fifteen pages when one source comes in. For a team, that has to be one reviewable proposal: "this meeting changes the refund policy and the approvals table: accept?" We're working on it, for everything you capture with Groundtruth Capture, Wispr Flow and Plaud.

Try it

  1. Write [[ in any page to link another one.
  2. Open Pages and create your agent handbook.
  3. Install the Librarian Agent from the Agent Store.
  4. Ask a few questions, then look at Knowledge gaps on your dashboard.

No workspace yet? Sign up free. And thank you, Andrej, for writing the idea down so clearly.