Does Corograph's codebase index make an AI coding agent more accurate, more consistent and cheaper than lexical search?
This site reports one benchmark epoch in which the Corograph Ask agent, the model plus Corograph's index of the codebase, built by its own proprietary indexing system and designed for LLM consumption, answered 50 questions about usememos/memos under three exam protocols, beside bare Claude Code, bare Codex, bare Cursor Agent, and five codebase-indexing tools installed on Claude Code, at the same models and from the same clean checkout. Every figure is computed from the run records in the public repository, and every number links to the runs behind it.
What is measured
The benchmark measures codebase understanding: whether an agent, asked a question about a codebase it has never seen, arrives at the correct answer. Understanding precedes development. Correct code follows from a correct reading of the existing code and from loading the right context; an agent that misreads the codebase writes against a wrong model of it. No protocol in this epoch asks the agent to write code; every question tests context-building alone. Protocols in development extend the same method to planning code changes (refactors and new features) and to executing plans.
The questions are published with their grading key (gold answers, accepted variants, scoring policies and the judge's exemplars). Every arm'sruns are published in full: the answer to each question, thejudge's verdict with its stated reason, the per-run tokens, cost, tool calls and time, and the session transcript.
What every arm could do
No arm was restricted. Each comparison arm ran in its own container with full permission to call every tool it ships with and any shell command, so grep, directory listing and file reading were available to all of them. The codebase-indexing tools were installed inside their containers as shipped, and whatever each install adds to the environment (an MCP server, skills, instruction files) was kept; the container definitions are published. The Corograph arm had the same file tools and one addition: a tool that queries Corograph's index of the codebase. The comparison is therefore between tool sets, at the same models, on the same questions.
Caveats
- Fable 5 refused many questions. The questions concern the structure of a public codebase and touch nothing sensitive, yet the model declined a large share of them under the per-question protocols. Repeated attempts did not yield a complete set, so Fable 5 is a thin roster in this epoch and its columns should be read with their run counts. The exact figures are on theLimitations page.
- Haiku 4.5 and the whole-battery protocol. Haiku 4.5 has a 200K-token context window where the other models have 1M. Under HumanExam, which presents the entire battery in one prompt, some Haiku 4.5 runs exceeded it and did not finish. They are published unscored and never enter a mean.
- Planned additions. Anthropic's Fable 5.1 and OpenAI's ChatGPT-6 (Astra) will be added in a later epoch.
2,480 valid and scored · 212 did not finish
1 Corograph · 8 comparison
Anthropic, OpenAI, xAI, Cursor
one scorer era: tabench-1.1
Key results — ZeroShot and MultiTurn protocols, both batteries (Epoch-4)
- Context. At every model both arms ran, bare Claude Code read 1.9× to 2.9× the context tokens Corograph read to answer the same battery (Haiku 4.5: 8.75M vs 16.53M; Sonnet 5: 3.37M vs 9.69M; Opus 4.6: 2.63M vs 7.03M; Opus 4.8: 2.86M vs 5.51M; Opus 5: 3.24M vs 6.37M; Fable 5: 1.90M vs 4.66M). — Figure 1
- Accuracy. Corograph's pooled accuracy is 93.3% against 89.4% for bare Claude Code and 90.6% for the best indexing tool (GitNexus). — Figure 2
- Reliability. 77% of Corograph's runs scored at least 90%, against 67% for bare Claude Code. — Figure 5
Pooled figures average protocol × battery × model cells with equal weight; see each figure's How this figure is computed. Change protocols, battery and model on every figure page. HumanExam (the whole battery in one prompt) is off by default because it is the stress probe, not the usage shape; switch it on to see it.
Headline figure
Raw token counts are never pooled across vendors (tokenizers differ), so arms whose selected models span vendors are shown one column per model; ★ marks the best value at each model.
Figure 1. Context tokens are the tokens the model read to answer a whole run: the uncached input plus every cache read, summed over every API call in the run, all threads included. Each column is the mean over the valid, scored runs of one arm at one model, every arm split by model because token counts are model facts; the dashed lines mark Corograph's and each bare harness's pooled value wherever pooling is licensed. At every model the Corograph column sits well below the same model running bare, and the indexing tools cluster at or above bare Claude Code: the index replaces reading. Controls, data table and method →
The figures
How to read this site
An arm is one configuration of tooling; a model is the LLM behind it; a run is one repetition of one arm × model × exam protocol × battery. Runs are independent sessions. Means are taken over valid, scored runs only; a run that did not finish is published unscored and never enters a mean.
Every figure page has three parts: the figure with its controls, the formal definition of what was computed, and the data table with a link per row into the repository. The Method page is the repository's README rendered; the Limitations page collects every disclosure in one place.