Anthropic 的爬蟲:ClaudeBot、Claude-SearchBot 與 Claude-User

發布於

簡短回答

Anthropic 有三個代理程式:ClaudeBot 收集可能用於訓練其模型的內容,Claude-SearchBot 為改善 Claude 的搜尋結果而爬取,Claude-User 則在 Claude 使用者的問題需要時擷取頁面。三者各有自己的 robots.txt 標記,Anthropic 表示都會遵守 robots.txt。只封鎖 ClaudeBot 並不會阻止搜尋或使用者擷取。

Anthropic 將其爬蟲記載在同一個說明頁面中,結構與其他 AI 廠商相仿:一個負責訓練,一個負責搜尋,一個負責代表使用者即時擷取。如果你希望 Claude 能找到並引用你的頁面,後兩者最重要。

本頁內容
  1. ClaudeBot 的用途是什麼?
  2. Claude-SearchBot 的用途是什麼?
  3. Claude-User 的用途是什麼?
  4. 如何為 Claude 撰寫 robots.txt 規則?
  5. Anthropic 的做法與 OpenAI、Perplexity 有何不同?
  6. 應該用 IP 位址封鎖 Anthropic 嗎?
  7. 為什麼 Claude 仍可能讀不到我的頁面?

ClaudeBot 的用途是什麼?

ClaudeBot 收集可能有助於訓練 Anthropic 生成式 AI 模型的網路內容。依據 Anthropic 的說法,禁止它代表你網站日後的內容應排除在訓練資料集之外。

Anthropic 還表示,它會遵守依據 IETF 草案制定、機器可讀的禁止 AI 訓練訊號,而在 robots.txt 中點名 ClaudeBot 的規則,優先於這項通用設定。與其他訓練爬蟲一樣,封鎖它屬於政策選擇。

Claude-SearchBot 的用途是什麼?

Claude-SearchBot 爬取網路,以提升 Claude 搜尋結果的相關性與準確度。Anthropic 表示,封鎖它會使你的內容無法被索引用於搜尋,可能降低你在使用者搜尋結果中的能見度與準確度。

如果你希望 Claude 的搜尋功能在有人詢問之前就已知道你的頁面,就該允許這個代理程式。因為它是搜尋爬蟲,所以和任何搜尋爬蟲一樣,受惠於相同的幾件事:列在 robots.txt 中的 sitemap、乾淨的內部連結,以及第一次回應就帶出內容的頁面。

Claude-User 的用途是什麼?

當 Claude 使用者提出的問題需要存取網站時,Claude-User 就會前往,例如有人分享網址,或請 Claude 查詢某些資料。Anthropic 表示,封鎖它會阻止針對使用者查詢的擷取,可能降低你在使用者主導的網路搜尋中的能見度。

請留意它與某些其他廠商的差異。Anthropic 表示其機器人會遵守 robots.txt 指令,並說明可透過 robots.txt 封鎖 Claude-User。相對地,OpenAI 與 Perplexity 則表示,它們由使用者要求的擷取程式可能不會遵守 robots.txt。

如何為 Claude 撰寫 robots.txt 規則?

每個代理程式都有自己的標記,依 RFC 9309,點名某個爬蟲的群組會取代該爬蟲的 * 群組。常見的選擇是允許搜尋與使用者擷取,並退出訓練:

User-agent: Claude-SearchBot
User-agent: Claude-User
Allow: /

User-agent: ClaudeBot
Disallow: /

User-agent: *
Allow: /

Anthropic 也支援 Crawl-delay 作為非標準擴充,例如在 User-agent: ClaudeBot 下寫 Crawl-delay: 1,適合想放慢爬取而不是封鎖的情況。規則必須放在每個主機最上層目錄的 robots.txt 中,所以想涵蓋的每個子網域都要加上。

Anthropic 的做法與 OpenAI、Perplexity 有何不同?

三家廠商採取相同的模式,只是名稱不同,因此合併成一份 robots.txt 時很容易理解。主要差別在於,各家對使用者要求的即時擷取如何看待 robots.txt。

如果你要為三者寫同一份 robots.txt,請把搜尋與使用者標記放在同一個群組,訓練標記放在另一個。這樣政策容易閱讀,也能清楚看出你對各個用途做了什麼選擇。

應該用 IP 位址封鎖 Anthropic 嗎?

Anthropic 建議不要這麼做。其文件指出,封鎖 IP 位址可能無法正確或持續保證退出,因為這也會讓爬蟲無法讀取你的 robots.txt。請用 robots.txt 來表明你的政策。

Anthropic 確實在 claude.com/crawling/bots.json 公布了爬蟲的 IP 位址。這份清單有用的用法,正好與封鎖相反:讓防火牆驗證自稱是 Claude-SearchBot 或 Claude-User 的請求是否真的來自 Anthropic,然後放行。

為什麼 Claude 仍可能讀不到我的頁面?

即使 robots.txt 設定寬鬆,你的防火牆或 CDN 仍可能以 403 或驗證挑戰頁回應 Anthropic 的代理程式。Anthropic 表示其機器人會遵守反規避技術,不會嘗試繞過 CAPTCHA,所以驗證挑戰頁就等於結束這次造訪。文字要等 JavaScript 執行後才出現的頁面,送達時也可能幾乎是空的。

AISeeWhy 會以 ClaudeBot、Claude-SearchBot 與 Claude-User 的身分,與瀏覽器並排請求你的頁面,並檢查你的 robots.txt 對各者的規則,讓你看出自己寫的政策是否就是伺服器實際執行的政策。

常見問題

封鎖 ClaudeBot 會讓我的網站從 Claude 的答案中消失嗎?

不會單憑這一點。搜尋索引與使用者要求的擷取使用的是 Claude-SearchBot 與 Claude-User,它們有各自的 robots.txt 標記。

Claude-User 會遵守 robots.txt 嗎?

Anthropic 表示其機器人會遵守 robots.txt,並說明可在其中封鎖 Claude-User,效果是 Claude 無法為使用者的問題擷取你的頁面。

Anthropic 的爬蟲會破解 CAPTCHA 嗎?

不會。Anthropic 表示其機器人會遵守反規避技術,不會嘗試繞過 CAPTCHA。

可以放慢 ClaudeBot 的速度而不是封鎖它嗎?

可以。Anthropic 支援 Crawl-delay 作為非標準擴充,例如在 robots.txt 的 ClaudeBot 群組中寫 Crawl-delay: 1。

如何確認請求真的來自 Anthropic?

將來源 IP 與 Anthropic 在 claude.com/crawling/bots.json 公布的清單比對。光看 user agent,任何人都能複製。

資料來源

更多文章