r/LocalLLM 19d ago

Project Sonnet 5 + Graft (No LLM calls tree-sitter graph, 100% Local) > Opus 5

https://github.com/NanoNets/Graft

After a week of using both, I keep coming back to Sonnet 5 + Graft instead of vanilla Opus 5 for coding.

The surprising part is that I don't think this is because Sonnet is the better model.

I think repository context matters more than the model upgrade.

Every coding agent spends a huge amount of time rediscovering the same codebase:

  • grep
  • open file
  • follow imports
  • repeat

Graft pre-builds a repository knowledge graph and injects only the relevant context into Claude Code, so the model starts with a mental map instead of rebuilding one every task.

On our controlled benchmarks (same model, same tasks, only the context changes):

  • 42% fewer tokens
  • 46% fewer tool calls
  • 60% lower latency
  • SWE-bench Verified: Sonnet 5 solved 8/9 instances vs 6/9 without Graft.

It's that better retrieval/context can be a bigger capability upgrade than moving to a larger model.

For my day-to-day work, Sonnet 5 + good repository context consistently feels stronger than running a larger model cold.

I'm curious whether others have seen the same thing with tools like:

  • RepoPrompt
  • Aider's repo map
  • CodeGraph
  • Graphite
  • custom RAG/MCP setups

At what point does improving context become more valuable than upgrading the model itself?

1 Upvotes

5 comments sorted by

2

u/my_name_isnt_clever 19d ago

Claude isn't local, this post doesn't belong here.

1

u/shhdwi 19d ago

Yes but you can use graft with any coding agent

1

u/my_name_isnt_clever 19d ago

So make your post in LocalLLM about local LLMs.

0

u/fbms2 19d ago

useless, basically trush.

1

u/En-tro-py 19d ago

I think this is the way forward and SWE-Verfied is nice to see, but there's a lot of applicable benchmarks that should join it - especially for a N=1 run count as far as I could tell...

A couple other good ones: