為什麼需要「過去的網頁」?
訓練一個會用搜尋工具的 agent 時,最難處理的問題之一就是資料洩漏。假設你在六月寫好了一批任務和標準答案,但訓練拖到九月才執行。這段期間,解答可能已經出現在論文、GitHub pull request 或部落格文章裡。Agent 只要搜尋一下就能找到答案,你根本分不出它是真的解出問題,還是直接抄了網路上的解法。
Exa 在 2026 年 9 月 18 日推出的 Snapshot 功能,就是為了解決這類時間點測試的問題。它背後有超過 4000 億個網頁快照,橫跨 20 年。只要指定一個日期,Exa 就會回傳「當時」的網頁內容。
把 snapshotAsOf 加進你的搜尋請求
Snapshot 的使用方式很直接:在 /search 或 /contents API 端點加上 snapshotAsOf 參數。以下是用 Python SDK 查詢過去某個時間點 Python 版本資訊的範例:
from exa_py import Exa
exa = Exa()
result = exa.search(
"latest stable Python release notes",
num_results=3,
contents={
"snapshot_as_of": "2026-05-01T00:00:00Z",
"highlights": True,
},
)
for r in result.results:
print(r.title, r.url)
你也可以直接對特定 URL 取得過去的內容:
result = exa.get_contents(
["https://docs.python.org/3/whatsnew/changelog.html"],
snapshot_as_of="2026-05-01T00:00:00Z",
text=True,
)
print(result.results[0].text[:300])
Exa 的公告強調這仍是 research preview,開發會持續進行。完整的索引覆蓋率、rate limits 和 ZDR 等細節,需要直接聯繫他們的團隊。
除了評估模型,還有什麼用途?
金融領域的回測也遇到類似的問題。量化研究人員通常會用 point-in-time datasets 來確保回測只使用當時可得的資訊,但網頁資料沒有這種東西。從網頁內容衍生的交易訊號,往往要花好幾個月手動收集資料才能測試。Snapshot 讓你可以直接在「版本化的網頁」上做回測,省下大量前置工作。
這也呼應了我們之前討論過的為代理挑選網頁搜尋 API:搜尋工具的選擇不只是看結果品質,還要看它能不能支援你需要的評估流程。Snapshot 這類時間點功能,對需要嚴謹驗證的團隊來說,可能比單純的搜尋速度更重要。
一個值得留意的限制
Exa 的公告沒有說明 Snapshot 的索引覆蓋率有多完整,也沒有提到快照的更新頻率。如果你要回測的網頁不在他們的快照範圍內,結果可能會有缺口。在把 Snapshot 放進正式的評估 pipeline 之前,最好先抽樣測試幾個關鍵日期和網域,確認資料的可用性。
對產品團隊來說,Snapshot 最大的價值在於把「時間」變成一個可控的參數。你可以重複執行同一個評估,不用擔心網頁內容改變影響結果。這對需要長期追蹤模型表現、或要對外證明評估可重現的團隊,會是一個實用的工具。
參考來源
本文由 AI 協助自上述來源整理,經人工審核後發布。
