1806. An AI research system for family history
From twenty names to 235 people in eight days
Multi-agentClaude CodeMCPSkillsModel evaluationHuman in the loop
First, I listened
Before any search, the family’s memory and paper: what they remember, what is in drawers, what nobody can check.
Before the search, I mapped the sources.
Six types of sources against the records the line needed.The agents worked through this map in 556 logged searches.
FoundPartlySearched, nothingNot held there
Then I set the goals,and the rules followed from them
What the family told me shaped what the research had to achieve.
- 01Go back further than anyone in the family remembers
- No claim without its source
- “Nothing found” only after every source on the list
- 02Keep the family’s memory, and keep it honest
- Recorded word for word
- Marked as memory, never as fact
- 03Give relatives a tree they can read
- Every fact shows how it is known
- Plain words, and it opens on a phone
- 04Make it the whole family’s tree
- Every relative gets access
- Anyone with access can suggest a change: a date, a photo, a story
Done when every line ends in a document, or in the request that would get one.
The family brings the memory.The agents bring the archives.
Every claim carries its evidence
Each fact is marked with how it is known, so the family sees at once what is proven and what is a guess.
- ■Documentread from the scan of the original
- □Indexfound in a database; the scan not seen yet
- ○Family memorytold by a relative, kept word for word
- ◩Inferencereasoned from several documents
- ⬚Hypothesispossible, not confirmed by anything
- ⊕Unknowna named gap: which document would close it
The status travels with the claim, from the case file to the tree the family opens.
The cheapest model invented facts
Five Claude setups, GPT and Jev (Typesafe AI) on letters and register pages, scored against answer keys written before the runs. Haiku made up 7 of 71 fields.
Decision Sonnet reads the scans: Opus accuracy for 18–32% less. No Haiku on scans. Jev only ranks pages and can’t read them, so I left it out.
One line from 1812
Here is the system at work on one line of my family. Its oldest record: my 5× great-grandfather, in a list of 1812.
TranscriptionFacts with their statusThe line the case is named afterMove the cursor to readTap to move the lens
A revision list of 1812, frame 411, drawn in characters. Through the lens the handwriting becomes the transcription of the entry for my 5× great-grandfather — number 23, name withheld, aged 26, “assigned to settlement in 1806”, in the poll tax from 1809, exempt for 20 years until 1826 — and under each line the agent’s note with its status: born about 1786, an inference; settled in 1806, a document; fifty men share the term, one party.
Seven generations back,every link holds on a document
Births, weddings, deaths and revision lists, read one by one from the scans.
The agent said “exhausted”.I sent it back.
Models stop at the first wall and call it the end. Part of my job was to refuse, say it can be solved, and ask a sharper question.
Agent lines paraphrased, mine translated from Russian · The approach: Felix Rieseberg, “How to be more ambitious” ↗
What workedbecame a rule for the agents
Breakthroughs like this one were collected into the search skill, and every later session starts from it.
Almost half the searches found nothing.Each one is still on record.
An empty search is logged with what was checked, so nobody repeats it and nobody calls it “no records exist”. Where the online trail ends, the agents draft a request for the document that would answer.
Where did my 5× great-grandfather come from? The named list of the 1806 party would answer. It is kept in the Tobolsk archive, not online.
What the family sees now
Built for relatives, not researchers
A tree, a person, a map, and a way to suggest a change. Every fact keeps its status from the case file.
- 1
- 2
- 3
- 4
Demo family: people, dates and places are invented
In the records, it is scattered.On the map, it is one route.
Births, moves and documents from different archives, put on one map: my 5× great-grandfather sent east in 1806, then each generation born further west, back to Leningrad.
It already workedfor another family
The same system and the same rules, for relatives I’m not related to by blood. Their findings stay with them.
- Agent team and MCP
- Evidence statuses
- Search skill
- Model choice
I designed the whole system.The agents did the legwork.
- Designed the architecture: sessions, agents, MCP, skills
- Chose the evidence protocol, shaped the search skill
- Designed the model test and set the pass bar
- Designed what the family sees: tree, map, album
- Steered the agents and made every decision
- Searched 75+ archive sites through MCP
- Read 5.3k scanned pages
- Wrote 421 claims, each with its source
- Logged 556 searches, the empty ones too
My line ends at 1806 for now.The method doesn’t.
What I would build next, for families other than mine
What this taught meabout working with AI
Eight days: from twenty names to 235 people, 178 of them on documents.
- 65kpages in a day
It reads at archive scale
The agents went through 65k register pages in one day. By hand, at a minute a page, that is over 1,000 hours.
- 10minutes
Its first “impossible” is not the last word
The agent called the free sources exhausted. Ten minutes after I pushed back, it found the decree of 1806.
- 7 of 71fields invented
Test the model on your own task
The cheapest model made things up. The one I chose matched the strongest for about a quarter of the price.
- 6statuses
Trust is a design problem
Every claim shows how it is known, so the family sees at once what is proven and what is a guess.
Lev Gorelik, product designer
Claude CodeOpus · Sonnet · HaikuGPTMCPCodex for imagesPhosphor icons