Lettuce vs Graphify vs grep

Same agent, same issues, three toolsets. Fewer input tokens is better.

โˆ’37%
Lettuce vs grep
+31%
Graphify vs grep
๐Ÿฅฌ Lettuce (graph map)965k tokens
Graphify (graph map)2008k tokens
grep + read (no tool)1529k tokens

Total input tokens across 12 tasks (median of repeated runs per side).

Per repository

RepoLanggrepLettuceGraphify
flask #6044python88k112k119k
flask #6023python117k62k119k
zod #6027typescript160k90k212k
zod #5917typescript328k109k306k
express #7271javascript106k62k105k
express #7268javascript60k62k150k
gin #4622go103k77k104k
gin #4638go103k112k165k
ripgrep #3419rust78k95k237k
ripgrep #3263rust129k62k156k
sinatra #2138ruby171k62k184k
sinatra #2076ruby87k61k150k

How we did the research

Same agent, three toolsets. For each of the 12 tasks (real GitHub issues across 6languages), the identical Claude Code agent (Claude Opus 4.8) located the relevant code three times: with plain grep + file reads, with Graphify's MCP, and with Lettuce's MCP. Same model, same task โ€” only the navigation tool changes.

Latest versions, used as intended. Graphify is the current release (v0.8.39) with its own graph built per repo; Lettuce uses its graph + the exact two-tool prompt a real user gets. Each tool is given a prompt that tells the agent to use it first โ€” so each is measured at its best, not handicapped.

Both really use their MCP. We verified from the transcripts that the Graphify arm calls Graphify's graph tools and the Lettuce arm calls understand โ€” neither silently falls back to grep. Token counts come straight from the agent's own usage meter; the median over repeated runs is reported.

Run 3way-lang-20260615 ยท 6/14/2026.