TL;DR: a session with MaxGraph memory starts on ~4,200 tokens of context versus ~8,900 for reading the project from scratch — 2.1× smaller (honest range 1.4–3.3×). On pinpoint questions spanning two files — up to 4.2×. The headline says −43%: that’s the conservative floor, not the marketing maximum.
The ritual nobody counts
Open a new chat, explain the project again. The stack, the conventions, “yesterday we fixed the auth bug”, “deploys only go through the preflight script”. Anyone working with an agent beyond a single session does this daily. The ritual is so habitual that nobody measures its cost.
We did. The project under test is MaxGraph itself (repo at v0.18.3), and the task is starting a working session — every token up to the agent’s first useful answer.
Methodology
Four session-start scenarios over the same project:
- A. With memory. The agent calls
session_start(a graph digest with a hard budget of ~10,000 characters) plus one targeted search. - B. From scratch. The agent reads the README, the work protocol, the last five CHANGELOG versions and the landing page text — the minimum to understand the project. Plus 10% for file navigation.
- B2. Manual briefing. Same, but the owner writes a 1,000–1,500 character brief — and the agent still needs the README and protocol.
- C. Pinpoint question. “What’s the status of task X” — one memory search versus reading one or two files.
Token counts are character-based estimates (RU ≈ 2.5 chars/token, EN ≈ 3.8) because tiktoken wasn’t available in the environment. These are estimates, not billing data — which is why everything below comes in ranges, not pretty point values.
Results
| Scenario | Tokens to start | vs memory |
|---|---|---|
A. MaxGraph (session_start + 1 search) | ~4,200 (3,300–5,100) | 1× |
| B. Reading the project from scratch | ~8,900 (7,300–11,000) | 2.1× (1.4–3.3×) |
| B2. Manual briefing | ~5,300 (4,300–6,700) | 1.3× (0.8–2.0×) |
| C. Pinpoint question: memory | ~1,000 | 1× |
| C. Pinpoint question: 2 files | ~4,300 | 4.2× (3.0–6.8×) |

Three findings that surprised us too:
Memory isn’t free. The session_start digest costs 2,500–3,900 tokens every session — that’s included in scenario A. The saving isn’t magic; it’s the difference between “read exactly what’s needed” and “read everything”.
A good manual briefing is token-competitive (1.3×, parity at the low end). The difference is elsewhere: a human writes the brief, every time, and it’s incomplete. At measurement time the graph held 24 owner decisions, 97 events and task statuses — you can’t pack that into a hand-written brief.
Memory can lose against a single small file (low end 0.9×): if the answer lives in the README, reading the README is cheaper. Memory wins where answers are spread across several sources — and on “who decided what” state that doesn’t exist in any file.
Why −43% and not −60%
The mid-range saving on scenario B is about 53%. For the headline we took the conservative estimate: a mixed workload of from-scratch starts and manual briefings averages ≈1.7× — that’s the ~43%. We’d rather underclaim and show the methodology than the reverse.
One more asymmetry: the memory digest budget is fixed, while the CHANGELOG and docs keep growing (the full CHANGELOG alone is already ~21,000 tokens). Today’s 2.1× will only grow — the price of memory won’t.
Reproduce it
The repository is open; Docker and ten minutes will do:
git clone https://github.com/RuMemory/maxgraph
cd maxgraph
docker compose up -d
# access token: data/local_token.txt
Hook it up to your agent over MCP, work for a week, and compare your own session starts. We’d love numbers from other people — write to help@rezon-ai.ru.
Give your agent memory
7-day trial, no card. Installation is one prompt — your agent does the rest.