Cách Giảm Thiểu Mã Token Nghiên Cứu Web Claude Bằng Cách Trích Xuất Cấu Trúc
Lead Scraping Automation Engineer
TL;DR:
- Các token nghiên cứu web của Claude Code được điều khiển bởi những gì đến với mô hình, không chỉ những gì đi qua mạng. HTML thô, điều hướng lặp lại, các URL trùng lặp, metadata công cụ, và kết quả chi tiết đều có thể tiêu tốn ngữ cảnh.
- Giảm nội dung trước bước lý luận. Ưu tiên việc trích xuất nội dung chính, chọn lựa bộ chọn hẹp, trích xuất cấp trường, và một JSON Schema từ chối kết quả không hoàn chỉnh.
- Giữ lại các URL nguồn và đoạn chứng cứ. Một tải trọng nhỏ hơn chỉ có ích nếu câu trả lời vẫn giữ được tính có thể kiểm tra và đầy đủ.
- MCP có thể tách biệt việc thu thập từ lý luận. Claude Code chọn một công cụ Scrapeless có giới hạn; công cụ chỉ trả về các trường mà nhiệm vụ yêu cầu.
- Bài kiểm tra proxy có thể tái tạo của chúng tôi đã giảm một dữ liệu cố định từ 181,892 xuống 434 token so sánh. Nó sử dụng một trang tài liệu công cộng, một câu hỏi, và
cl100k_base; những này không phải là token tính phí của Claude.
Claude Code có thể tìm kiếm trên web, lấy một trang, gọi các công cụ MCP, và lý luận dựa trên tài liệu đã trả về. Điều này làm cho nghiên cứu thuận tiện, nhưng sự tiện lợi có thể che giấu một vấn đề chi phí cơ bản: một câu hỏi cần sáu sự thật có thể kéo hàng chục nghìn ký tự không liên quan vào ngữ cảnh.
Giải pháp không phải là "tóm tắt một cách quyết liệt hơn." Tóm tắt là một nhiệm vụ khác của mô hình và có thể loại bỏ chứng cứ mà bạn cần. Một quy trình làm việc tốt hơn giảm nội dung tại thời điểm thu thập, xác thực kết quả, và gửi cho mô hình chính một hợp đồng chứng cứ nhỏ.
Hướng dẫn này xây dựng quy trình làm việc đó cho Claude Code với Máy chủ MCP Scrapeless và các mẫu API Scraping Universal.
Nguồn gốc của Các Token Nghiên Cứu Web của Claude Code
Xem con đường nghiên cứu là bốn tập riêng biệt:
byte đã thu thập → ký tự đã trích xuất → token ngữ cảnh mô hình → token câu trả lời có cấu trúc
Chúng có liên quan, nhưng không thể hoán đổi cho nhau.
Khối lượng thu thập trang
Đây là những gì trình duyệt, công cụ lấy hoặc dịch vụ scraping nhận được. Một trang đã được hiển thị có thể bao gồm các tập lệnh, kiểu dáng, điều hướng, bảng cookie, trạng thái nhúng, và nội dung cho vài lộ trình. Khối lượng thu thập ảnh hưởng đến chi phí mạng và scraping, nhưng nó không nhất thiết phải vào ngữ cảnh của Claude.
Ký tự đã trả về
Công cụ chọn những gì nó trả về: HTML thô, Markdown có thể đọc được, các phần tử đã chọn, hoặc một đối tượng JSON. Đây là điểm kiểm soát hữu ích nhất. Việc loại bỏ boilerplate ở đây tiết kiệm cho mọi bước sau này khỏi việc xử lý nó.
Ngữ cảnh mô hình chính
Claude Code nhìn thấy các hướng dẫn hệ thống, lịch sử cuộc trò chuyện, định nghĩa công cụ, kết quả công cụ, và yêu cầu hiện tại của bạn. Một phản hồi công cụ ngắn gọn vẫn có thể ngồi bên cạnh một ngữ cảnh dự án lớn. Sử dụng tài liệu hướng dẫn ngữ cảnh của Claude Code hiện tại để hiểu cách ngữ cảnh được quản lý, nhưng hãy đo lường quy trình làm việc của riêng bạn thay vì giả định một dung lượng hoặc giá cố định.
Đầu ra câu trả lời có cấu trúc
Một JSON Schema ràng buộc câu trả lời cuối cùng. Nó không tự động thu nhỏ nội dung trang trước đó. Áp dụng cấu trúc cho cả kết quả của công cụ và phản hồi cuối cùng.
Thiết lập Điểm Cơ Sở Trước Khi Tối Ưu Hóa
Sử dụng một câu hỏi nghiên cứu và một bộ nguồn cố định. Ghi lại:
- các URL nguồn đã yêu cầu;
- các ký tự được trả về bởi mỗi công cụ;
- mô hình và phiên bản Claude Code;
- các trường sử dụng tokenizer hoặc API để đo lường;
- số lượng token đầu vào và đầu ra;
- các trường câu trả lời cần thiết và kết quả về tính đầy đủ.
Claude Code công khai các tùy chọn CLI hiện tại với claude --help. Trên máy được sử dụng cho bài viết này, Claude Code 2.1.162 đã liệt kê --mcp-config, --tools, --output-format, và --json-schema. Tài liệu tham khảo công cụ Claude Code hiện tại ghi lại WebSearch và WebFetch như các công cụ tích hợp.
Đừng nhầm lẫn các công cụ Claude Code đó với các công cụ web API của Anthropic. Tài liệu tài liệu fetch web của API mô tả các tính năng phía máy chủ như lọc động. Một tính năng được tài liệu cho API không tự động là một tùy chọn WebFetch của Claude Code.
Bước 1: Ưu Tiên Nội Dung Chính Hơn HTML Thô
HTML thô hữu ích cho việc gỡ lỗi các bộ chọn hoặc duy trì định dạng chính xác. Nó thường là một tải trọng nghiên cứu kém.
Yêu cầu lớp thu thập loại bỏ:
- nội dung tập lệnh, kiểu dáng, SVG, và mẫu;
- điều hướng trang và chân trang lặp lại;
- đồng ý và shell tài khoản;
- trạng thái ẩn không cần thiết bởi câu hỏi;
- các gợi ý và bình luận không liên quan.
Markdown có thể đọc được thường là một sự giảm thiểu tốt đầu tiên. Nó giữ lại các tiêu đề, danh sách, liên kết, và mã trong khi loại bỏ phần lớn lớp trình bày. Vẫn đảm bảo rằng tiêu đề và phần cần thiết có mặt; một trang đăng nhập sạch sẽ không phải là một việc trích xuất thành công.
Bước 2: Chỉ Trích Xuất Các Trường Cần Thiết Cho Câu Hỏi
Nội dung chính có thể vẫn lớn hơn nhiều so với câu trả lời. Biến câu hỏi thành một hợp đồng trích xuất trước khi lấy vài trang.
Để so sánh tài liệu, hợp đồng có thể là:
json
{
"type": "object",
"required": ["source_url", "tools", "complete"],
"properties": {
"source_url": { "type": "string", "format": "uri" },
"tools": {
"type": "array",
"items": {
"type": "object",
"required": ["name", "evidence"],
"properties": {
"name": { "type": "string" },
"evidence": { "type": "string", "maxLength": 1200 }
}
}
},
"complete": { "type": "boolean" }
}
}
Giữ chứng cứ ngắn gọn, nhưng không giảm xuống giá trị không được hỗ trợ. Một trường như supports_web: true là gọn gàng và khó kiểm tra. URL nguồn cộng với một đoạn chứng cứ giới hạn cho phép người đánh giá xác minh cách diễn giải.
Đối với các hình dạng trang lặp lại, hãy sử dụng các bộ chọn có mục tiêu hoặc một điểm đầu ra trích xuất có cấu trúc. Đối với các trang đa dạng, yêu cầu nội dung có thể đọc trước, sau đó chọn các phần liên quan bằng mã xác định nếu có thể.
Bước 3: Khử trùng các URL trước khi thu thập
Các tác nhân nghiên cứu thường gặp cùng một tài liệu thông qua điều hướng, tham số tìm kiếm, bí danh ngôn ngữ hoặc đoạn văn. Chuẩn hóa trước khi lấy:
- giải quyết các URL tương đối;
- loại bỏ các đoạn văn;
- áp dụng chính sách tham số truy vấn đã được phê duyệt;
- theo dõi chuyển hướng một lần và ghi lại danh tính chuẩn cuối cùng;
- băm nội dung được chấp nhận để bắt các gương hoặc lặp lại.
Không xóa mọi tham số truy vấn. Tham số khu vực, phiên bản, sản phẩm hoặc ngày tháng có thể thay đổi tài liệu. Quy tắc chuẩn hóa thuộc về chính sách nguồn, không phải là một bộ làm sạch chuỗi toàn cầu.
Một bộ nhớ cache nhỏ cũng có thể ngăn chặn việc thu thập lặp lại trong một lần chạy. Đánh chỉ số theo nguồn chuẩn, khu vực, phiên bản hợp đồng trích xuất và yêu cầu độ mới.
Bước 4: Kết nối mã Claude với MCP không chứa rác
MCP giữ giao diện hướng tới tác nhân nhỏ. Mã Claude thấy các công cụ và sơ đồ được đặt tên; Scrapeless xử lý tìm kiếm, trích xuất trang công khai hoặc các hoạt động trình duyệt đám mây đứng sau chúng.
Điều kiện tiên quyết:
- Mã Claude và Node.js đã được cài đặt;
- một tài khoản Scrapeless và khóa API;
- một mục tiêu công khai được ủy quyền;
- một ngân sách trang và gọi công cụ.
Lưu khóa trong biến môi trường. Ví dụ cấp dự án này sử dụng mở rộng biến nên bí mật không bị lưu trữ:
json
{
"mcpServers": {
"scrapeless": {
"command": "npx",
"args": ["-y", "scrapeless-mcp-server"],
"env": {
"SCRAPELESS_KEY": "${SCRAPELESS_KEY}"
}
}
}
}
Lưu đối tượng dưới dạng .mcp.json trong dự án đã được phê duyệt và khởi động mã Claude từ dự án đó. Chạy claude mcp list để kiểm tra tình trạng kết nối. Mã Claude yêu cầu phê duyệt cho các máy chủ MCP theo phạm vi dự án; kiểm tra lệnh và các khóa môi trường trước khi phê duyệt chúng.
Trong quá trình xác minh biên tập, gói Scrapeless hiện tại đã được khởi động qua stdio với quy trình khách hàng MCP tiêu chuẩn. Một cuộc gọi web có xác thực không được thực hiện vì không có khóa sản xuất nào trong môi trường xác minh. Xem cuộc gọi công cụ thực tế đầu tiên như một bài kiểm tra tiếp nhận: một URL cho phép, một tập trường yêu cầu, và không có thu thập rộng.
Tài liệu hiện tại về MCP mã Claude giải thích phạm vi, các phương tiện vận chuyển, khám phá công cụ, giới hạn đầu ra, và mở rộng biến môi trường. Hướng dẫn tích hợp Claude Scrapeless cung cấp cấu hình máy chủ cụ thể cho sản phẩm.
Bước 5: Cung cấp cho tác nhân một hợp đồng nghiên cứu có giới hạn
“Nghiên cứu chủ đề này” mời gọi khám phá. Một yêu cầu có giới hạn định nghĩa các nguồn, các trường và một điều kiện dừng.
Sử dụng một yêu cầu như sau:
Tìm kiếm tối đa năm nguồn chính thức về sản phẩm đã nêu. Khử trùng các URL chuẩn. Đối với mỗi nguồn được chấp nhận, trả về tiêu đề, URL cuối, ngày xuất bản hoặc cập nhật khi có thể, và một đoạn chứng cứ hỗ trợ tính năng yêu cầu. Dừng lại sau ba nguồn hoàn chỉnh. Đánh dấu các trường còn thiếu; không suy luận chúng.
Hợp đồng này kiểm soát bốn chế độ thất bại cùng một lúc: tìm kiếm không giới hạn, tiếp nhận trùng lặp, kết quả chi tiết, và các trường sáng tạo.
Cũng lọc bộ công cụ MCP. Một nhiệm vụ tài liệu có thể cần tìm kiếm và trích xuất Markdown một lần, không phải mọi hành động trình duyệt. Số công cụ hiển thị ít hơn làm giảm sự mơ hồ trong việc chọn lựa và đơn giản hóa việc xem xét quyền.
Bước 6: Đo lường sự giảm và tính đầy đủ cùng nhau
Chúng tôi đã sử dụng trang tham khảo công cụ Claude Code công khai và một câu hỏi cố định:
Những công cụ nào của Claude Code được tích hợp sẵn có thể tìm kiếm hoặc thu thập nội dung web công khai, và những ràng buộc nào nên được áp dụng trong quy trình nghiên cứu?
Cùng cl100k_base bộ phân tích cú pháp đã đếm câu hỏi cộng với mỗi biến thể vật chất. Đây là một proxy so sánh mở, không phải bộ phân tích cú pháp của Anthropic và không phải đo lường hóa đơn của Claude.
| Tài liệu gửi cùng câu hỏi | Ký tự | So sánh token | Kiểm tra tính đầy đủ |
|---|---|---|---|
| HTML thô | 548,951 | 181,892 | Các thuật ngữ yêu cầu có mặt nhưng bị chôn vùi |
| Nội dung chính | 45,931 | 9,444 | WebSearch và WebFetch có mặt |
| JSON có mục tiêu | 2,138 | 434 | Cả hai công cụ cũng như các trường nguồn và chứng cứ đều có mặt |
JSON có mục tiêu sử dụng khoảng 95,4% ít hơn các token so sánh so với nội dung chính và 99,8% ít hơn so với HTML thô. Những tỷ lệ phần trăm đó chỉ mô tả trang này và hợp đồng trích xuất này.
Kiểm tra tính đầy đủ đã được cố tình thu hẹp: cả hai tên công cụ yêu cầu đều phải tồn tại trong văn bản chính và trong đối tượng đã trích xuất, với danh tính nguồn được bảo tồn. Một đánh giá sản xuất cũng nên đánh giá xem mỗi đoạn chứng cứ có hỗ trợ câu trả lời cuối cùng hay không.
Bước 7: Thêm Cổng Chấp Nhận Kết Quả
Nén không phải là chính xác. Trước khi nội dung bước vào giai đoạn lý luận chính, hãy xác thực:
- URL cuối cùng thuộc danh sách cho phép;
- danh tính trang khớp với tài liệu đã yêu cầu;
- các trường cần thiết tồn tại và có loại đúng;
- bằng chứng bao gồm thực thể hoặc thuật ngữ đã được yêu cầu;
- nội dung không phải là lỗi, đồng ý, đăng nhập, hoặc shell thách thức truy cập;
- bản ghi bao gồm thời gian thu thập và phiên bản hợp đồng trích xuất;
- tổng số ký tự trả về vẫn nằm trong ngân sách nhiệm vụ.
Trả về các kết quả loại như accepted, missing_fields, wrong_page, access_required, hoặc over_budget. Claude có thể quyết định liệu có nên dừng lại hay sử dụng một lộ trình được phê duyệt khác mà không coi mọi thất bại là văn bản thông thường.
Khi Nào Sử Dụng API Thu Thập Dữ Liệu Toàn Cầu
MCP hữu ích khi Claude Code cần khám phá và chọn lựa một khả năng web một cách tương tác. API Thu Thập Dữ Liệu Toàn Cầu là một ranh giới tốt hơn khi chương trình của bạn đã biết mục tiêu và muốn một yêu cầu có thể dự đoán từ CI, một công việc dữ liệu, hoặc một dịch vụ.
Sử dụng đường dẫn API khi bạn cần:
- gọi trích xuất từ mã ứng dụng xác định;
- tập trung hóa kiểm soát tỷ lệ và ngân sách bên ngoài tác nhân;
- chuẩn hóa kết quả trước khi Claude Code chạy;
- lưu trữ các bản ghi được chấp nhận qua nhiều phiên nghiên cứu.
Cùng một nguyên tắc áp dụng: yêu cầu đầu ra ít tốn kém nhất có thể đáp ứng hợp đồng chấp nhận, sau đó gửi cho Claude chỉ các trường đã được chấp nhận. Xem trang sản phẩm API Thu Thập Dữ Liệu Toàn Cầu và tài liệu hiện tại cho các điểm kết thúc và trường yêu cầu được hỗ trợ.
Những Sai Lầm Thông Thường
Gửi trang thô “chỉ trong trường hợp”
Điều này chuyển công việc lựa chọn tới phần nhạy cảm với ngữ cảnh nhất của hệ thống. Bảo toàn nguyên liệu thô bên ngoài lời nhắc và gửi một gói bằng chứng thay vào đó.
Tối ưu hóa token mà không có hợp đồng trả lời
Một phản hồi nhỏ mà bỏ qua một thực tế cần thiết thì không hiệu quả. Đo lường các câu trả lời được chấp nhận theo chi phí, không chỉ giảm token đơn thuần.
Bỏ qua danh tính nguồn
Thiếu URL cuối cùng và bằng chứng, kết quả không thể được kiểm toán hoặc làm mới một cách an toàn.
Để lộ ключ trong lời nhắc hoặc cấu hình đã cam kết
Sử dụng biến môi trường và các kiểm soát bí mật dự án. Không bao giờ dán một key sản xuất vào lời nhắc, ví dụ, nhật ký, hoặc kho lưu trữ.
Giả định rằng giới hạn đầu ra của công cụ đảm bảo độ liên quan
Một giới hạn đầu ra ngăn chặn kích thước không có giới hạn. Nó không chọn đoạn văn đúng hoặc xác thực trang.
Danh Sách Kiểm Tra Sản Xuất
- Sửa câu hỏi, mô hình, bộ nguồn, và sơ đồ đầu ra cho chuẩn mực.
- Đếm số ký tự trả về tại mỗi ranh giới công cụ.
- Loại bỏ URL chính thống trước khi thu thập.
- Ưu tiên Markdown, bộ chọn, hoặc trường có cấu trúc so với HTML thô.
- Bảo toàn URL cuối cùng, bằng chứng, thời gian thu thập, và phiên bản hợp đồng.
- Từ chối các kết quả sai trang và chưa hoàn thành trước khi lý luận mô hình chính.
- Giới hạn các công cụ MCP hiển thị và các mục tiêu đã được phê duyệt.
- Giữ bí mật bên ngoài lời nhắc và kiểm soát phiên bản.
- So sánh chi phí kết quả đã được chấp nhận, không phải số lượng token riêng rẽ.
Đọc tổng quan về Máy Chủ MCP của Scrapeless, kiểm tra giá của Scrapeless, và bắt đầu với một nhiệm vụ nghiên cứu được giới hạn.
Câu Hỏi Thường Gặp
Q: WebFetch có sempre sử dụng ít token Claude Code hơn công cụ trình duyệt không?
Không. Việc sử dụng token phụ thuộc vào tài liệu trả về ngữ cảnh. Một trích xuất từ trình duyệt ngắn gọn có thể nhỏ hơn một trích xuất dài dòng, trong khi một trích xuất sạch có thể nhỏ hơn HTML của trình duyệt. Đo lường nội dung trả về.
Q: JSON Schema có thể giảm số lượng token đầu vào không?
Nó có thể giảm và xác thực đầu ra có cấu trúc, nhưng nó không tự động thu nhỏ nội dung trang. Áp dụng một schema tại ranh giới trích xuất và một lần nữa tại câu trả lời cuối cùng nếu cần.
Q: Các số lượng token trong bài viết này có phải là token Claude không?
Không. Chúng là một proxy so sánh cl100k_base có thể tái tạo. Sử dụng giao diện đếm token hoặc sử dụng hiện tại của Anthropic với mô hình Claude chính xác của bạn để có được những con số liên quan đến thanh toán.
Q: Tại sao lại sử dụng MCP thay vì gọi trực tiếp một API thu thập dữ liệu?
Q: Làm thế nào tôi biết rằng việc trích xuất không xóa thông tin cần thiết?
Định nghĩa các trường bắt buộc và bằng chứng trước khi thu thập, sau đó thực hiện kiểm tra tính toàn vẹn và ngữ nghĩa. Giữ URL nguồn và bản chụp thô bên ngoài lời nhắc để kiểm toán hoặc xử lý lại.
Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.



