CROW: Classifier-Routed Organization of LLM Wikis is a paper by Federico Cesarini and Marco Sassarini, published on Zenodo in 2026. It proposes a decision layer for LLM wikis: a typed classifier decides where each new document is filed and which notes can answer a question, and the LLM is called only when text must be written.
The PDF on this site is version 1.0 from Zenodo (CC BY 4.0). The engine llm-wiki-v2 and the Crow desktop app both run CROW.
Abstract
LLM wikis have been proposed as an alternative to classical retrieval-augmented generation (RAG): a large language model (LLM) incrementally organizes knowledge into a directory of notes that can be inspected directly and grows with little manual upkeep, at the price of LLM calls whose cost grows with the knowledge base. Many of these calls are spent on decisions rather than on writing: where a new source belongs, which notes it relates to, which notes answer a question.
We introduce CROW (Classifier-Routed Organization of LLM Wikis), a decision layer for LLM wikis that delegates these routing and consolidation decisions to a general-purpose typed classifier, such as the recently released Jev, and reserves generative calls for the steps that require writing text. In CROW, ingestion relies on a short sequence of classifier calls and invokes an LLM only to summarize the incoming source, to name new folders and, when an existing note must be updated, to rewrite it, while retrieval uses the classifier to select the relevant notes and leaves to the LLM only the final answer. CROW does not replace the compilation of entity, concept and synthesis pages that gives LLM wikis much of their value.
We specify how each decision maps onto classifier primitives, position the design with respect to memory systems for LLM agents, model routing and candidate-then-verify pipelines, and evaluate it on Google's Open Knowledge Format against an LLM that takes the same decisions, on 525 documents. CROW ingested the documents at 0.47 times the cost and 0.48 times the latency, with an LLM cost per document that stayed flat as the wiki grew, and at retrieval found the right note in 89.2% of asks against 61.8%, in about half the time. A cost model built on these measurements keeps an ingest at about $0.006 up to a million documents, so an LLM wiki with CROW can grow into a large, production knowledge store. The same mechanism also works as zero-shot, incremental clustering, in which named categories emerge from a stream of documents without training.
What problem does CROW solve?
CROW addresses the cost of LLM wikis. In an LLM wiki, a language model files every new source and finds the notes for every question, and each of those calls reads the wiki's index, so the cost of one ingestion grows with the knowledge base. Many of the calls are decisions, not writing.
An LLM wiki is the pattern Andrej Karpathy described in April 2026 in a GitHub gist: an LLM compiles sources once into linked Markdown notes and keeps them current, instead of retrieving raw fragments at every question as RAG does. Summaries have to be written; choosing where a source belongs, which notes it relates to and which notes to read is the kind of decision typed classifiers are built for.
The decisions are also the part that grows. In the paper's benchmark (525 documents, the authors' own measurements on a private corpus), the LLM-only baseline spent 71.8% of its LLM tokens on decisions, and its tokens per document grew by 1,197 per 100 notes in the wiki.
How does CROW work?
CROW keeps the notes of an LLM wiki and its two phases, ingestion and retrieval, but changes who takes the decisions. A typed classifier answers each one as a choice among options or a yes/no question, with probabilities, and an LLM is called only to summarize a source, name a new folder, rewrite a merged note or write the answer.
The paper describes each decision with the primitives of Jev, a typed classifier released in early access by TypeSafe AI on 15 September 2026: a Choice picks one of up to 255 options, and a Noul gives the probability that a yes/no statement holds. Any classifier that returns such probabilities can take its place. Every decision but one sees notes and folders only through their titles and one-line summaries.
Ingestion: filing a new document
- Summarize (LLM, optional). An LLM turns the source into a candidate note: title, one-line summary and body. It is the only generative call every ingestion pays.
- Route (classifier). From the root down, a Choice at each folder picks one of its subfolders, Here, New subfolder, or None of these. An LLM names each new folder, and decides instead when every path ends in None of these or scores too low.
- Find the related note (classifier). A Noul per note in the candidate folders asks whether the new content concerns the same subject, all in parallel.
- Merge or create (classifier). With no match, code files a new note. Otherwise a Choice decides between modifying the best note and a new one, choosing new when unsure. Only a modification calls an LLM, to rewrite the note.
- Link (classifier). The paper's implementation adds a Noul per nearby note; code writes up to five See-also links, and the LLM never writes links.
Retrieval: answering a question
- Route (classifier). A Noul per subfolder asks whether it likely holds notes that help answer the question; folders above a threshold are explored.
- Score the notes (classifier). A Noul per candidate note, on its title and one-line summary, ranks the notes across folders.
- Answer (LLM). The top notes (up to 8 in the evaluation) go in full to an LLM, which writes the answer.
When nothing clears its threshold, classical LLM navigation takes over. A confidently wrong classifier still passes every threshold, and since the selected notes are read once, multi-hop or aggregating questions may be answered less well.
CROW is not a complete LLM wiki: it leaves out entity, concept and synthesis pages, the upkeep of cross-references, and lint. The paper also presents the same ingestion as zero-shot clustering, where named categories emerge without training.
What did the benchmark measure?
The CROW paper's benchmark ran CROW against a baseline that runs the same pipeline but lets an LLM take every decision, on 525 documents from the first author's personal knowledge base, which is not public. The authors measured ingestion cost, latency and LLM tokens, and how often the right note reached the answering LLM, over 400 asks per pipeline.
69.9% of the documents are in Italian. The LLM was DeepSeek V4.1 Flash and the classifier Jev 1.13, both through OpenRouter, at list prices. Twenty questions, each written from one document, were asked at 20 wiki sizes from 26 to 525 documents. A hit means the right note was among the notes passed to the answering LLM.
| Measure (Table 2 of the paper) | Baseline (LLM decides) | CROW | Ratio |
|---|---|---|---|
| Ingestion cost, total (billed) | $5.62 ($5.11) | $2.62 ($2.35) | 0.47 |
| Ingestion LLM calls | 2,945 | 796 | 0.27 |
| Ingestion LLM tokens | 9.10 M | 2.89 M | 0.32 |
| Latency per document, mean / 95th percentile | 38.6 / 134.1 s | 18.4 / 54.3 s | 0.48 |
| Right note found (hit), Wilson 95% interval | 61.8% [56.9, 66.4] | 89.2% [85.8, 91.9] | |
| Questions answered | 90.5% | 98.0% | |
| Latency per question, mean / 95th percentile | 4.88 / 10.03 s | 2.61 / 3.93 s | 0.53 |
| Cost per question (billed) | $0.0029 ($0.0021) | $0.0020 ($0.0013) | 0.69 |
Costs are in US dollars at list price, billed amounts in brackets. CROW's hit rate was 90% at both the smallest and the largest wiki, while the baseline's fell from 75% to 55%. Beyond 525 documents the paper only projects: about $0.006 per CROW ingest up to a million documents, if the folder tree is kept bounded.
Limitations the paper states
- One corpus of 525 short personal documents, mostly in Italian, one LLM and one classifier version. Other corpora, languages and models may give different results.
- The baseline is the same pipeline with an LLM deciding, not a classical wiki's agent loop. Comparisons with a small LLM, embeddings and a cross-encoder, the agent loop and hybrid search remain to be made.
- The ingestion thresholds were not calibrated, and the retrieval thresholds were set on questions from some of the evaluated documents. On 9 questions from documents never used for that, CROW led 77.8% to 69.4%, too few questions to establish it statistically.
- A hit means the right note was read, not that the answer was correct. The latencies include a local gateway that weighs more on the baseline.
- Errors compound across steps, and a misfiled note stays where it is.
Where is the code?
The code of CROW is the open-source repository crow-hq/llm-wiki-v2 on GitHub, installed from PyPI as llmwiki2, where CROW is the default mode. All the paper's experiments ran on this repository, and the harnesses used for the paper are in its history at commit f51e926. The paper's corpus is not public.
The repository's benchmarks/ folder holds the scripts behind the authors' later measurements of llm-wiki-v2, with their corpora or pins to public sources, and every script has a --dry-run. The paper's 525 documents are not there, since they are the first author's personal notes.
The code has moved on since the paper. In llmwiki2 1.0.0, CROW files a document with one Choice among every folder, the LLM also lays out and splits folders, and answering starts from the wiki's search, which the classifier reorders (docs/wiki/crow.md).
Use it through llmwiki2, the Python library and command line, or Crow, the free desktop app built on it.
Which version should I cite?
Cite the concept DOI 10.5281/zenodo.22898752 to refer to the CROW paper as a whole: it covers all versions and resolves to the latest one. To pin the exact text, cite 10.5281/zenodo.23260209, version 1.0 as published on Zenodo on 9 October 2026, which links the public code and is the PDF served on this site.
| Version | On Zenodo | DOI | What it is |
|---|---|---|---|
| Preprint, version 0.1.1 | 22 September 2026 | 10.5281/zenodo.22900601 | The design; its effects stated as hypotheses, not measured. |
| Version 1.0 | 29 September 2026 | 10.5281/zenodo.23034952 | Adds the evaluation on 525 documents. |
| Version 1.0, with the code link | 9 October 2026 | 10.5281/zenodo.23260209 | Same text, with the link to the public code. The PDF on this site. |
| All versions (concept DOI) | Resolves to the latest | 10.5281/zenodo.22898752 | The paper as a whole. |
How to cite
BibTeX, with the concept DOI:
@misc{cesarini2026crow,
title = {{CROW}: Classifier-Routed Organization of {LLM} Wikis},
author = {Cesarini, Federico and Sassarini, Marco},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.22898752}
}As plain text: Cesarini, F. and Sassarini, M. (2026). CROW: Classifier-Routed Organization of LLM Wikis. Zenodo. https://doi.org/10.5281/zenodo.22898752
To cite the software, see the repository's CITATION.cff.