
AI 代理上網查到的資料,是誰抓的、放多久了
四份官方文件裡,快取都是預設值
我最近在調一個代理的查資料流程,順手把它用到的幾個工具的官方文件從頭讀了一遍。想弄清楚的只有一件事:「上網查一下」這五個字底下,實際上發生了什麼。
讀完的結果是,那份資料在進到代理的上下文之前,通常已經過了四層。而且四層裡的每一層,都有自己的一套快取規則。
公開資料供應鏈指的是:一份公開資料從它原本住的地方,到出現在你的代理眼前,中間經過的每一層服務。由遠而近是四層——資料原本住的平台、真正去發出請求的抓取基礎設施、把結果轉賣或聚合起來的資料商與統一 API,以及你自己接的那個工具或 MCP server。
這條鏈跟你的關係只有兩件事:你讀到的東西是誰抓的,以及它放多久了。下面四層各自回答這兩題。
第一層:資料原本住的地方,現在有門房
最外面那一層是網站與平台自己。這一層在 2026 年跟兩年前最大的差別,是它多了一道專門管 AI 的閘門。
Cloudflare 的 AI Crawl Control 是這道閘門現在最常見的形狀。照它的官方文件,站方可以對個別爬蟲逐一設放行或封鎖規則,可以在儀表板上看到哪些 AI 服務來過、請求長什麼樣,也看得到各家爬蟲有沒有照 robots.txt 走。文件另外列了一個仍在私測的機制:允許 AI 爬蟲存取內容,但按每次抓取收費。
對你來說,這一層的變動幾乎察覺不到。它不會回你一個「你被擋了」,它只會讓下游某一天開始查不到某個站。我們去年拆過 Cloudflare 把這件事做成生意的那一步(AI 爬你的網站,Cloudflare 讓你分三種處理),也拆過機器人流量早已過半的整體背景(你的網站流量,一半以上已經不是人)。這一層是那些事的落點。
第二層:誰去按下那個請求
第二層是真正去發出 HTTP 請求的那一方。這一層要處理的東西很不浪漫:代理 IP、反機器人偵測、JavaScript 渲染、動態載入的內容。
Firecrawl 的文件把這件事寫得很直白,它自陳處理的就是「proxy、反機器人、JavaScript 渲染與動態內容」這些麻煩事。也就是說,這一層是真的有人去按門鈴。
但同一份文件裡,還有兩行更值得你記住。第一行是快取的預設新鮮度:maxAge 的預設值是 172,800,000 毫秒,換算就是兩天。快取副本只要比兩天新,就直接回給你,不會重抓。第二行是錢:快取命中的結果一樣扣 1 點,官方文件自己寫明快取改善的是速度與延遲,不是點數消耗。
這兩行合起來的意思是,你可能付了全額,拿到一份兩天前的頁面,而且沒有任何地方會提醒你。
第三層:資料商與統一 API
第三層是把上游結果轉賣、聚合、標準化的那一層。多數「一個 API 打天下」的服務住在這裡。
DataForSEO 的文件把時效寫在方法名稱上:Standard 方法的結果會保存 30 天,Live 方法的結果不保存。同一家服務、同一個端點,你選哪個方法決定了資料的年紀,也決定了那份結果還躺在誰的資料庫裡多久。
Tavily 走的是另一種形狀。它的官方說明頁寫的是單次 API 呼叫最多聚合 20 個網站,再用自家的排序挑出最相關的內容。但整頁讀完,我查不到一句話說明那 20 個網站是從自有索引來的,還是向第三方搜尋供應商調的。
這不是指控,是這一層的常態:文件會告訴你格式、額度與速度,很少告訴你上游是誰。 願意公開列出供應商名單的服務屬於少數,而那份名單通常不在定價頁,在隱私政策或資料聲明裡。
第四層:你自己接的那個工具
最靠近你的一層,是模型內建的工具或你裝的 MCP server(什麼是 MCP 那篇講的是這層的介面規格)。這一層的文件通常最完整,可以拿來當讀其他三層的範本。
以 Anthropic 的兩個官方工具為例。web search 是由 API 端代跑搜尋再把結果交給模型,每一千次搜尋收費 10 美元,回傳的每一筆結果帶一個 page_age 欄位,寫的是該網站最後更新的時間。但整份文件沒有一句話說明那個搜尋索引來自誰——你拿得到結果的年紀,拿不到索引的來歷。
web fetch 這一格更值得逐字讀。它不另外收費,只算 token;它會快取,而官方文件自己寫明「回傳的內容不一定反映該網址上可取得的最新版本」,要新鮮內容得明確把 use_cache 設成 false,代價是延遲變高。它也認 robots.txt——被 robots.txt 擋掉的網址會回一個 url_not_allowed 錯誤。另外有一條為了防資料外洩的限制:它只能抓先前已經出現在對話裡的網址,模型自己憑空生出來的網址抓不了。
把這四格排在一起看,第四層其實是整條鏈裡唯一一層,會主動告訴你「我給你的可能是舊的」。
接任何一家之前,你自己查得到的五個問題
這五題全部在對方的公開頁面上查得到,不需要問業務。
- 這一層自己抓不抓? 去隱私政策或資料聲明裡找上游供應商名單。沒有名單,不代表它自己抓;代表你不知道。
- 回我的是現抓還是快取?預設是多久? 找文件裡的快取參數與它的預設值。找不到那一行,就當作有快取而且你控制不了。
- 快取命中要不要照樣算錢? 這一題跟上一題要分開問,兩者的答案可以不一致。
- 它認不認 robots.txt,取的是不是免登入就看得到的內容? 這決定法遵責任落在誰身上,也決定平台哪天收緊時你會不會整條斷掉。
- 我的請求與結果被存多久? 30 天跟不保存是兩種不同的風險,尤其當你查的東西本身敏感。
這篇不處理的事
這頁講的是這條鏈的形狀與判準,不是操作指南。怎麼抓、怎麼繞過限制,這裡不寫。哪一家的服務條款合不合理,這裡不評。也沒有推薦名單——上面四家出現的原因是它們的文件寫得夠清楚,可以當標本,不是因為它們比較好。
還有一個常見的混淆值得先擋掉:這篇講的快取是內容快取,跟 prompt caching 完全是兩回事。前者決定你讀到的資料新不新,後者決定你重讀同一份長文件要付多少錢。
我自己改了什麼
讀完這輪文件,我對自己的代理只改了一件事:把「這件事需要多新」寫進工具設定,而不是留給預設值。查價格、查條款、查今天發生的事,強制繞過快取;查定義、查規格、查歷史,讓它吃快取沒關係,還比較快。
預設值是別人替你做的時效決定。它通常很合理,但它不知道你在查什麼。
查核備註:四層的說法是我為了講清楚而分的,不是任何官方文件的分類。Firecrawl 與 Tavily 的公開文件都沒有說明自己是否自營索引或向第三方調資料,本文只寫它們寫了什麼、沒寫什麼,不推論。Cloudflare 的文件我沒讀到新網域是否預設封鎖 AI 爬蟲的說明。我今天想讀一家統一抓取 API 公開上游供應商名單的實例,但該站的資料聲明與隱私政策兩頁今日對我都回 404,所以本文沒有寫任何一家的具名上游名單。上述快取、計費與保存期規則全部來自各家官方文件,我沒有實際跑測試驗證任何一條有沒有照著執行,也沒有向任何一家求證。
FAQ
常見問題
- AI 代理「上網查資料」時,資料實際上是從哪裡來的?
- 通常經過四層:①資料原本住的平台或網站;②真正去發出請求的抓取基礎設施(代理 IP、反機器人處理、JavaScript 渲染);③把結果轉賣或聚合起來的資料商與統一 API;④你自己接的工具層,例如模型內建的 web search/web fetch,或一個 MCP server。你付錢的那一層不一定是真正去抓的那一層——服務商的法律文件與隱私政策才會寫清楚上游是誰。
- 代理查回來的網頁內容一定是最新的嗎?
- 不一定,而且快取在多數地方是預設值。Anthropic 的 web fetch 官方文件明寫回傳內容不一定反映該網址上的最新版本,要新鮮內容得把 use_cache 設成 false;Firecrawl 的預設新鮮度是兩天,兩天內的快取副本會直接回給你,而且一樣計費。要判斷時效,先去看該工具文件裡的快取預設值那一行。
SOURCES
- AWeb fetch tool — Claude Platform Docs
- AWeb search tool — Claude Platform Docs
- AFast scraping / caching(maxAge 預設值)— Firecrawl Docs
- AIntroduction — Firecrawl Docs
- AAbout Tavily — Tavily Documentation
- ADataForSEO API v3 文件(Standard 與 Live 方法)
- AAI Crawl Control — Cloudflare Docs
來源分級:A = 一手公告/論文/官方文件 · B = 可信媒體 · C = 可參考但需脈絡 · D = 觀察用,不可當事實。
本文由 AI 協助研究,矽基前沿編輯部撰稿,總編輯廖玄同審閱定稿。 編輯方針與 AI 使用說明


