Most AI coding agents work by stuffing a repository into a context window and hoping the model finds what it needs. Benzi takes a different approach: before answering a single question, it compiles the entire codebase into a structured index that the agent can query directly. The result is an AI tool that reads less code, costs less per task, and resolves bugs with surgical precision.
Compiling codebases into queryable maps
Benzi runs a real compiler built on tree-sitter that parses every file in a project and resolves it into a precise, queryable graph. Every symbol, every call edge, every reference, every class inheritance chain gets captured in a single pass. The output is not a blob of text but a structured index that the agent queries through a set of 35-plus tools.
The tools answer questions that matter for actual development work. get_callers finds every call site that reaches a function, showing exactly what code would feel a change. backflow traces where a wrong value originated without opening every caller. trace_path maps the call chain connecting two functions and the data carried along it. profile gives a full snapshot of one symbol in a single call. The agent answers through structured queries over the index instead of grepping through files and hoping for the best.
Every write passes syntax and semantic gates against the real language parser. A broken parse auto-reverts. The model checks blast radius before changing anything, not just after: the same analysis runs both going in and once a write lands, covering the changed symbol, its callers, its holders, and the selectively relevant existing tests.
78.2% on SWE-bench Verified at nine cents per bug
The full SWE-bench Verified set, 500 real GitHub issues from twelve Python repositories, ran end to end on DeepSeek v4-flash with one attempt per instance. Benzi resolved 391 of the 500 issues, a 78.2% success rate. Total cost across all 500 instances came to $37.33, roughly $0.095 per resolved bug. The system read a median of 379 source lines per instance and ran a median of 27 model turns per instance, with 97% of input tokens served from cache.
Those numbers hold up against other harnesses. On the same 24-bug subset, Benzi with Claude Sonnet read 9,125 lines total. Claude Code with Sonnet read 20,704 lines, 2.3 times more. The DeepSeek harness with DeepSeek read 43,598 lines, 4.8 times more. The gap widens as bugs get harder because the index answers most of what a fix needs before a file is ever opened.
Wall-clock time tracks close across all four configurations, meaning reading less does not make Benzi slower to think, just cheaper to look. Benzi on DeepSeek costs about a cent per bug; Claude Code climbs to $0.18 per step as bugs get harder, roughly 18 times more.
Ten languages, one compiled map
Benzi supports Python, JavaScript, TypeScript, Java, C#, C++, C, Go, Rust, and Ruby. Each language runs its own tree-sitter grammar into the same compiled map. A separate engine handles markup languages including HTML, CSS, and DOM-JS with cascade resolution and selector specificity, including frontend code embedded inside Python strings.
Depth varies by language. Python gets the deepest analysis, including runtime tracing and the strongest parsing. A Go codebase gets the same structural map as a Python one but without runtime traces. The agent does not browse the web and everything it knows about a project comes from the project's own source.
Three tiers of truth govern how the system handles uncertainty. Proven edges carry evidence. Ambiguous calls keep their full candidate lists instead of guessing. Runtime traces settle what static analysis cannot. Every unresolved call gets classified as a real library call, an in-repo call with recorded candidates, or an honest unknown carrying the ID the compiler supposed. Nothing gets silently dropped.
Free to use, available now
Benzi is completely free. The browser version at benzi.fly.dev lets users paste any public GitHub repo and ask questions without installing anything or creating an account. It runs read-only, exploring the map without writing to the repo. The VS Code extension adds edit access with chat, graph visualization, and the agent writing code directly in a local project.
There is no headless or CLI mode as of yet. The browser and VS Code are the only two entry points. The project requires Python 3.10 or later and tree-sitter, which the setup script handles.
To demonstrate what the tool can do with real code, the team pointed Benzi at DOOM's engine. The analysis revealed that id Software wrote a custom memory allocator with cache-eviction policy baked into the allocation path, precomputed every trigonometric value into lookup tables for fixed-point integer math, and built a hand-rolled spatial index for collision detection years before spatial hashing became a common technique. None of it was over-engineering. Every system existed because the standard answer either did not exist on the target hardware or would have been too slow.