Backtest AI agents with historical web search by freezing the index to a date before the outcome, then scoring the agent on what it would have seen. Exa Snapshot, a feature of Exa's search API, serves page content and search results as of a chosen past date, which removes the future information that makes live-web evaluations look better than they are.
What Exa Snapshot Does for Backtest AI Agents
Exa Snapshot is a dated web search feature from Exa, a search API company, that returns page content and search results as they existed on a chosen past date. Ryan Ahern, a full stack engineer at Exa, presented it at an AI Engineer event published on 19 October 2026 as a way to evaluate predictive systems against the web those systems would actually have seen. Treat the product details in this article as first-party descriptions from that talk; check Exa's documentation for current availability, pricing, and API shape before you build on it.
The feature comes in two modes. Content versioning takes a URL and a date and returns the page as of that date, or the nearest earlier capture. Version search runs a normal query but evaluates it against the index state at the snapshot date. Both modes exist so a prediction can be scored using only information that was public before the outcome.
Ahern describes the underlying index as roughly 100 billion documents spanning trillions of URLs, with versions stored whenever a new page version is found. That figure is the speaker's own description of Exa's index and should be read as vendor-reported, not independently verified.
Why Live Search Leaks the Future
Live search leaks the future because the index is deliberately current: a query about a company acquisition will surface confirmation of the acquisition, and a predictive agent can then 'predict' an event it has simply read. Ahern calls this out directly in the workshop, noting that a system which sees a news article announcing the acquisition and then reports the acquisition gets a perfect true-positive rate without any forecasting skill.
The same leak appears in the dates attached to articles. Ahern points out that publish dates change often, sometimes because a page was legitimately updated and sometimes because older articles get refreshed. Any backtest that treats the publish date as an input feature inherits that noise.
Snapshot dates cut both problems at once. By setting the snapshot just before the outcome was announced, the evaluation only exposes information that genuinely preceded the event.
How to Run a Leak-Free Backtest in Four Steps
A leak-free backtest fixes the evidence date before the agent runs, defines the prediction target, and scores only that prediction. The workshop exercise on company acquisitions gives a usable template.
Snapshot lets you backtest AI agents on historical web search by replaying each search against a frozen index, so the system can only consult pages and evidence that existed on the date being tested. The same principle applies whether the model predates the search step or decides its own tool calls.
Where Snapshot Fits: Traditional Models and Agentic Systems
Snapshot serves two different architectures: a traditional model that needs historical features, and a fully agentic system that decides when to search. Ahern separates them because the backtesting question changes with the architecture.
| Architecture | What the model already does | What Snapshot is used for | Where Exa's search sits | What backtesting asks |
|---|---|---|---|---|
| Traditional model | The scoring model already exists | Gathering inputs as of the right date and feeding them into the existing model | May not appear in the prediction loop at all | Would the model have scored the same with the features available then? |
| Agentic system | The live system calls the search API | Replaying that search step against a frozen index | Turns unstructured web content into a structured signal | Would the agent have reached the same conclusion with the evidence available at the time? |
| Fully agentic, self-directed tool calls | The whole system chooses its own tool calls | Freezing the environment just before the task was solved | One of several tools the system may call | Any improvement then comes from the model rather than from leaked future information |
In the traditional case, the model already exists and the problem is feature collection. Historical web pages may no longer be retrievable from their original URLs, and publish dates are unreliable, so Snapshot is used to gather the inputs as of the right date and feed them into an existing scoring model. Exa's search may not appear in the prediction loop at all.
In the agentic case, the live system calls the search API to turn unstructured web content into a structured signal. Exa's own example is a counterparty due diligence flow that scans adverse media before deciding whether to work with a person or business. Backtesting then means replaying that search step against a frozen index and asking whether the agent would have reached the same conclusion with the evidence available at the time.
A third pattern, where the whole system is agentic and chooses its own tool calls, is harder to evaluate but follows the same principle. The system should be able to consult only what existed when it operated. Ahern offers a coding example: freeze a repository just before a pull request was solved, let the system attempt it, and any improvement then comes from the model rather than from leaked future information.
Overfitting Showed Up in a 30-Minute Workshop
Overfitting appeared within a 30-minute workshop, which is the clearest practical argument for holdout sets in any agent backtest. Ahern ran the acquisition exercise with ten companies and a public leaderboard, and the winning entries included rules that named specific companies.
The top-scoring feature asked whether a company was publicly listed. The second asked whether the company was something other than a named list of four specific firms. Ahern identified that list as the equivalent of memorising the test set. Another entry added 'or is it named Dominion' to an otherwise plausible rule about activist investors and share price decline. Both are clear overfitting, and Ahern says so on stage.
The lesson generalises. If the evaluation set is visible while a team iterates, the team will optimise for the visible cases. A backtest is only informative when some cases stay hidden.
The Limits of Dated Search Evidence
Dated search improves evaluation honesty but does not by itself prove a strategy will work in production. A backtest with a frozen index answers a narrow question: given the pages Exa had captured by the snapshot date, would this agent have made this call? It does not answer whether the agent's features are robust across companies, sectors, or time periods.
Coverage is one reason. A snapshot can only return pages Exa captured and stored before the date. Ahern's description of versioning implies that the earliest captured version of a page is what gets served, so a page that was never crawled is invisible to the backtest. Any evaluation using Snapshot measures the agent plus Exa's crawl coverage, not the agent alone.
Feature selection is another. The workshop's scoring gives plus one for a correct acquisition prediction and minus one for a false alarm, with no penalty for misses. That scoring rule rewards aggressive prediction, so a team designing its own evaluation should choose weights that match the cost of being wrong in their actual use.
Commercial availability matters as well. Ahern describes Snapshot as an enterprise feature with some public usage at the time of the talk, and directs interested teams to Exa's enterprise contact. The talk was published in October 2026; confirm current packaging directly with the vendor.
Frequently Asked Questions
- What is Exa Snapshot? Exa Snapshot is a dated search feature from Exa that returns web page content and search results as they existed on a chosen past date. Exa engineer Ryan Ahern described it as a way to backtest predictive agents without exposing information published after the prediction date.
- How do you backtest an AI agent without future data leaking in? Set the snapshot to a date just before the event you want predicted, run the agent against that frozen index, then compare the prediction with what actually happened. Keeping the agent's search confined to that snapshot is what prevents a live index from revealing the outcome.
- Why is a holdout set necessary in agent backtesting? Without a holdout, a team iterating against a visible evaluation set will fit rules to the specific companies in that set. In Exa's 2026 workshop, the leading entries included rules that named specific firms, which Ahern identified as overfitting to the test data.
- Does a good backtest score mean the strategy will work in production? No. A dated backtest shows whether the agent would have made a given call using pages available at that date. It does not establish that the same features generalise to new companies, sectors, or market conditions.
- Can Snapshot be used for non-financial evaluations? Yes. Any task where future information could contaminate the answer can use a frozen index, including software engineering evaluations where a repository is frozen before a pull request is resolved. Ahern gave that coding case as an example during the talk.
A recorded talk can be converted into a reviewable article by transcribing the video, letting a tool draft the structure, and then editing the caveats back in before anyone reviews or cites it — the same holdout discipline that guards an agent evaluation.
Turning a Recorded Talk Into a Reviewable Article
The strongest idea in this article is the holdout set, and it applies to written work as much as to agent evaluations. A recorded talk contains the same raw material a good article needs: a thesis, a worked example, and the caveats the speaker raised, and those caveats are usually the part that survives a careless rewrite.
If you have knowledge like that sitting in a YouTube video, whether it is a technical explanation, an interview, or a lesson from your own work, Skala Blog turns it into a draft you can edit before publishing. Paste a YouTube URL, let the video be transcribed, and get an article shaped for readers rather than viewers.
- Paste the YouTube URL of the talk you want to convert.
- Let the video be transcribed, so the spoken reasoning becomes text you can edit.
- Take the generated article and restore the caveats the speaker raised, since those are what a careless rewrite drops.
- Hand the draft to a reviewer, who now has a place to catch an overfitted claim before it reaches an audience.
Teams learning in public can also follow the work of educators such as Gustavo Dev Doido, whose teaching material appears through Crazystack, alongside programmes like Crazystack Typescript and the Bootcamp do Dev Doido. Those recordings are exactly the kind of source material a transcript-to-article workflow is built for, and written drafts make the reasoning easier to review and cite than a video timeline.
If you run a technical community, a study group, or a paid programme, the same workflow lets one recording produce a written reference that members can search later. Written versions also give a reviewer a place to catch an overfitted claim before it reaches an audience.
Fork this article
Start a new branch from the same video, shaped your way. You keep the credit; the original keeps the attribution.
A fork in another language is filed as a translation of this article, so the two pages point at each other. You can unlink it later from the editor.
0/240
You are creating
- Format
- For
- Language
- Source
- Your angle
You will be asked to sign in before it is generated.
Buy credits