0141GitHub
siftr
Semantic code search for coding agents, benchmarked on SWE-bench Lite.
Bentlybro/jevgrepREADME ↗
# siftr
**Find the right code without reading the whole codebase.** siftr gives AI coding agents
(and you) four read-only tools that answer "where is it?" and "which part matters?" in about
a second, for about a cent — so agents spend their tokens on the work, not on searching.
```console
$ siftr "where are users charged credits when a block runs"
0.83 backend/backend/executor/billing.py:114-193
def charge_usage(
0.81 backend/backend/copilot/tools/helpers.py:439-518
# still settles billing via asyncio.shield — external side effects
```
## Benchmark results
Measured on [SWE-bench Lite](https://www.swebench.com/) — 300 real GitHub issues from 12
Python projects, where we know which file and lines the real fix changed. Numbers are from
a **frozen test split of 202 issues** that siftr was never tuned on.
| Tool | Question it answers | siftr | Best baseline |
|---|---|---|---|
| `search` | Which file does this issue need changed? *(right file in top 5)* | **82%** | BM25 52% · grep 22% |
| `read` | Which parts of this file matter? *(edited lines kept · file cut)* | **92% · 59% cut** | simple cut-off: 67% · 75% cut |
| `pick` | Which of ~550 test files covers this? *(right file in top 5)* | **81%** | BM25 38% |
| `filter` | Which parts of this long log matter? | experimental | grep wins on keyword logs |
- **Speed:** search takes ~2s on a 4,000-file repo (p90 2.9s); read and pick take under half a second.
- **Cost:** 1–2¢ per search on a large repo; read and pick cost well under a cent.
- **Where it doesn't win:** if you already know the exact words, use grep — it's instant
and free. `filter` lost to grep on the one labelled log dataset available, so it's
marked experimental.
Full method, per-project results, and the ideas that *didn't* work: **[BENCHM