Last week I watched my usage bar hit its limit halfway through a single feature build
Not because the model was bad
I was running Opus mostly, for the good stuff
But somewhere between the third file read and the fifth tool call, the context window had ballooned so much that half the tokens were just... the agent re-reading itself
That bugged me enough to go digging
Why does an agent that's supposedly smart still burn so much just finding the right file to edit?
Turns out most tools solve this with vector search
Code gets turned into numbers, and the agent matches similar-looking chunks
Sounds reasonable until you realize "send an invoice" and "refund an invoice" look nearly identical to a vector search
One collects money, the other gives it back
The math doesn't know the difference
So I started testing something called Graph instead. No vector search. One command, graft build, and it maps the entire project: how every file, function, and dependency connects to everything else
The agent reads that map instead of guessing its way through grep.
I ran it on one of my own client projects to see if the difference was real:
- First build barely moved the needle, maybe a few minutes faster
- The next change, a full landing page revamp, took under 2 minutes
- The map updates itself too, only the changed parts get remapped, not the whole project
That last part is what actually convinced me to use it more
If you're running Claude Code or Codex on daily basis, has your agent ever felt like it was reading the same file for the fifth time?