# Claude Code 網頁測試教學：評估 AI 代理提取內容

作者：Schnalz.net · 2026年11月8日

https://schnalz.net/zh-HK/ai-guides/claude-code-how-to-test-web-pages-for-ai-agents

> 透過 Claude Code 測試網頁，能精準揭示 AI 代理從網站變更中提取哪些數據。團隊在隔離的 Docker 容器中執行提示詞，並運用正向代理將請求分流至正式網頁與預覽部署環境。

## 重點

- Docker 容器配合正向代理，確保不同網頁版本在 Claude Code 中的測試環境完全一致。
- WebFetch 評估網頁內容時，會優先請求 Markdown 鏡像而非標準 HTML。
- 次級模型會在 Claude 回答前，依照嚴格的引述字數限制處理抓取的內容。
- 多次重複執行測試能有效平衡 Claude Code 輸出的非確定性。

## 甚麼是 Claude Code 網頁測試工作流程？

Claude Code 測試工作流程讓工程與營銷團隊能夠觀察自主代理如何讀取和解讀網頁。Zapier 開發了名為 Agent Arm Runner 的框架，用來測試網站修改效果，無需等待傳統搜尋引擎長達數週的反饋週期。

> **完成後**：運行這個測試架構可以揭示：正式網站的變動、Markdown 備用版本或中介模型指令，是否會改變 Claude Code 向用戶匯報的內容。

**Claude Code 測試架構速覽**

- **主模型**：Opus 5
- **WebFetch 解析模型**：Haiku 4.5
- **隔離方式**：Docker container
- **流量路由**：Forward proxy
- **測試設定檔**：JSON configuration
- **優先內容標頭**：text/markdown

## 如何使用 Claude Code 測試網頁

使用 Claude Code 測試網頁需要執行對照實驗，在保持提示詞和網址完全相同的前提下隔離網頁內容。Zapier 使用以下分步設置來評估模型回覆在不同實驗網頁版本之間的變化。

1. 將 Claude Code 打包在配置了正向代理的 Docker 容器內，以監控並管理所有出站請求。
2. 編寫 JSON 設定檔，指定要執行的提示詞、測試的實驗組別以及所需的重複次數。
3. 透過正向代理將對照組直接路由至正式網站路徑。
4. 配置代理以在變體測試運行時攔截該測試路徑的請求，並重定向至預覽部署環境。
5. 在每個實驗組別中，為 Claude Code 提供完全相同的用戶提示詞和正式環境 URL。
6. 在全新的 Docker 容器中啟動每次測試迭代，確保不同次運行之間不會殘留會話狀態。
7. 多次重複運行每個實驗組別，以平衡 Claude Code 的非確定性輸出。

## Claude Code 如何獲取並過濾網頁內容

Claude Code 在瀏覽網絡時，並非單純將未經處理的原始 HTML 丟給主對話模型。Zapier 發現其內置的 WebFetch 工具會使用 accept: text/markdown, text/html, */* 標頭，優先請求 Markdown 替代版本而非 HTML。

一旦 WebFetch 獲取網頁，Claude Code 會將原始文本轉發給次級模型，而非主推理引擎。在以 Opus 5 作為調用模型的測試中，Zapier 觀察到 Haiku 4.5 接收了獲取的內容，且未掛載任何外部工具。

**Claude Code 網頁獲取流程的組成部分**

| 階段 | 組件 | 工作流程中的功能 |
| --- | --- | --- |
| 任務執行 | Opus 5 | 作為觸發工具並提供最終答案的調用模型 |
| 網頁獲取 | WebFetch | 抓取網頁數據，優先級為 text/markdown 高於 text/html |
| 內容解析 | Haiku 4.5 | 在嚴格的長度與引述限制下摘要已獲取的網頁 |

## 為 Claude Code 測試網頁時的技巧與注意事項

評估 Claude Code 的網頁能見度時，必須考慮後台模型在回答查詢前如何修改內容。若忽視備用文本格式或過濾指令，可能會在代理測試過程中得出不準確的結論。

> **貼士**：在測試文檔中插入唯一的金絲雀（canary）註釋代碼。如果金絲雀代碼出現在 Claude Code 的輸出中，即可準確確認工具提取了哪個網頁版本。

> **小心**：如果你的網域提供 Markdown 鏡像，單純修改 HTML 並不足夠。Claude Code 會優先讀取 Markdown 內容，因此未修改的 Markdown 文件將完全繞過 HTML 的改動。

Zapier 發現中介的 Haiku 4.5 請求對源文本執行嚴格規則。包括直接引述上限為 125 個字符、逐字引述必須強制加上引號，以及完全禁止重製歌詞。

## 常見問題

### Claude Code 如何獲取網頁內容？

Claude Code 使用名為 WebFetch 的工具獲取外部網頁。WebFetch 發送的請求標頭中 text/markdown 優先級高於 text/html，如果伺服器有提供 Markdown 鏡像，它便會讀取該版本。

### Claude Code 內部由哪款模型處理網頁？

Zapier 發現雖然 Opus 5 是頂層調用模型，但 WebFetch 會將抓取到的網頁文本傳遞給 Haiku 4.5。這個次級 Haiku 模型在自身的系統指令下處理文本，然後再將數據返回給 Opus 5。

### 為甚麼測試 Claude Code 應在乾淨的 Docker 容器中運行？

在全新的 Docker 容器中運行 Claude Code，可避免殘留的會話數據和緩存狀態滲透到後續實驗中。這確保了回覆中的差異僅源自受測網頁本身的改動。

### Claude Code 對網頁文本有甚麼引述限制？

Claude Code 內部的 Haiku 4.5 解析步驟對直接源文本引述實施嚴格的 125 個字符上限。引號以外的任何文字內容都必須重新轉述，不得逐字複製。

### 團隊如何在不更動正式 URL 的情況下用 Claude Code 測試網頁版本？

團隊可以將 Claude Code 與 Docker 中的攔截正向代理結合使用。該代理在對照組中提供正式網站內容，而在變體測試運行時悄悄將請求路由至預覽部署環境，同時保持目標 URL 完全相同。

## 資料來源

- [zapier.com：What We Learned by Watching Claude Read Zapier.com](https://zapier.com/blog/what-we-learned-watching-claude-read-zapier/)
