// HACKER NEWS — CYBERSECURITY
Needle: The benchmark your search engine can't memorize
Machines are now the majority of consumers of web content. AI agents will soon be the largest consumers of search. Agents need search because the information required to complete real tasks is often too fresh (”Who won the Dodgers game yesterday”) or too niche (”Can the same GM sensor be used across both 2007 and 2008 Silverado and Sierra platforms?”) to live in model weights or context. But search is not built for agents: every engine, including Keenable, falls short of what’s achievable on agentic traffic. That gap is hard to measure, because overfitting and data leakage make standard search benchmarks like BrowseComp unreliable.
To fix this, we introduce NEEDLE, a live, open-source benchmark for search engine quality. NEEDLE’s queries are drawn partly from real agent search logs and partly generated to reflect the search intents we observe in production. It runs continuously in public and anyone can reproduce it. All queries and metrics are on the live benchmark page, and the full evaluation code is in our GitHub repo. Contributions are welcome.
Machines are now the majority of consumers of web content. AI agents will soon be the largest consumers of search. Agents need search because the information required to complete real tasks is often too fresh (”Who won the Dodgers game yesterday”) or too niche (”Can the same GM sensor be used across both 2007 and 2008 Silverado and Sierra platforms?”) to live in model weights or context. But search is not built for agents: every engine, including Keenable, falls short of what’s achievable on agentic traffic. That gap is hard to measure, because overfitting and data leakage make standard search benchmarks like BrowseComp unreliable.
To fix this, we introduce NEEDLE, a live, open-source benchmark for search engine quality. NEEDLE’s queries are drawn partly from real agent search logs and partly generated to reflect the search intents we observe in production. It runs continuously in public and anyone can reproduce it. All queries and metrics are on the live benchmark page, and the full evaluation code is in our GitHub repo. Contributions are welcome.
Most of the existing benchmarks are static: a fixed set of questions frozen in time. Static benchmarks allow easy overfitting.
Systems can overfit on test data even indirectly. Qwen3-Max-Instruct topped Epoch AI's SimpleQA Verified leaderboard, which Epoch itself flags as likely contaminated; shuffling MMLU answer options drops accuracy for every model tested; and search agents simply pull the benchmark with ground-truth labels straight from HuggingFace for ~3% of HLE questions.
That last failure mode deserves attention, because agentic evaluation makes it trivially easy. Web search and fetch tools can access HuggingFace datasets. Fetch tools can even download and read dataset files, so a model being tested on a benchmark can locate that same benchmark mid-evaluation and read the answer key. We've seen many cases of frontier models doing exactly this, and allowing custom Python or Bash commands makes it even easier: one wget and one grep, and the "search task" is over.
Even without leakage at test time, memorization corrupts the measurement. Sometimes models simply know the answers. On BrowseComp, for instance, questions are built so that the answer is hard to find but easy to verify, yet a model that has already memorized the answer skips the "hard to find" part entirely. It knows what to search for right away and queries the final answer directly.
Live benchmarks are much less prone to overfitting: if questions are newer than the model and change constantly, there is nothing to memorize and nothing to leak.
This is already standard practice in other domains: LiveBench refreshes questions monthly, LiveCodeBench scores models only on problems newer than their training cutoff, SWE-bench-Live rebuilds tasks from fresh GitHub issues. Search deserves the same design, yet no live benchmark for web search exists.