AI News HubLIVE
站内改写1 分鐘閱讀

AgentRail:為網站打造的AI代理友好層

AgentRail 是一個部署在 Cloudflare 邊緣的層,它會為已知的 AI 代理提供確定性的 Markdown 響應,而人類和傳統爬蟲則繼續獲取原始 HTML。它包含機器人檢測、Markdown 提取、爬蟲和 Worker 執行時等元件,並支援透過 Cron 觸發器進行後臺爬取。專案旨在減少 AI 代理對網站造成的負載,並確保內容提取的一致性。

來源Hacker News AI作者: xgharibyan

AgentRail 是一個新穎的 Cloudflare 邊緣層解決方案,專門為日益增長的 AI 代理流量而設計。它的核心思想是對已知的 AI 代理(如 GPTBot、ClaudeBot 等)直接返回結構化的 Markdown 內容,而對人類使用者和傳統搜尋引擎爬蟲則照常提供原始的 HTML 頁面。這種區分處理不僅能顯著降低源伺服器的負載,還能為 AI 代理提供更為乾淨、一致的資料來源。

專案由多個子包組成:@agentrail/bot-detector 負責精確分類請求來源(AI 代理、搜尋爬蟲、瀏覽器等);@agentrail/markdown-extractor 負責將 HTML 轉換為確定的 Markdown;@agentrail/crawler 管理站點地圖解析、連結發現和爬取流程;@agentrail/worker 則作為 Cloudflare Worker 的執行環境。此外,create-agentrail 腳手架工具可幫助開發者快速搭建專案。

AgentRail 的請求處理流程非常智慧:當已知 AI 代理首次請求某個頁面時,如果 KV 儲存中還沒有對應的 Markdown,系統會返回原始 HTML,但同時透過 Cloudflare 的 ctx.waitUntil 機制在後臺非同步生成 Markdown 並存入 KV。這樣,後續來自同一 AI 代理的請求就能直接獲得 Markdown,而不會增加額外的延遲。後臺的 Cron 觸發器還會定期爬取站點地圖,主動預熱 KV 快取。

專案還提供了靈活的部署選項。開發者可以透過腳手架工具一鍵生成包含正確 KV 名稱空間配置的 Worker 專案,並自動安裝依賴。對於已有 Cloudflare 賬戶的使用者,只需執行 npm run deploy 即可完成部署。同時,專案也支援手動配置 KV 名稱空間,以適應不同的開發環境。

值得注意的是,AgentRail 對 AI 代理的預設列表包含了主流的 AI 爬蟲,但同時也明確將 Googlebot、Bingbot 等傳統搜尋引擎爬蟲排除在外,確保它們依然獲得完整的 HTML 頁面。這種設計既滿足了 AI 應用對結構化資料的需求,又不影響傳統 SEO。

總的來說,AgentRail 為網站所有者提供了一種優雅的方式來管理和最佳化 AI 代理的訪問,無需犧牲使用者體驗或搜尋引擎排名。它的開源特性和 Apache-2.0 許可證也使得社群可以自由使用和貢獻。