Giải thích
Tài liệu của OpenAI phân biệt mục đích của các User-Agent sau:
OAI-SearchBotđược dùng để crawl nội dung nhằm xuất hiện trong các tính năng tìm kiếm của ChatGPT.GPTBotcrawl nội dung có thể được dùng để huấn luyện mô hình. Thiết lập này độc lập vớiOAI-SearchBot.ChatGPT-Userđại diện cho yêu cầu do hành động của người dùng trong ChatGPT/Custom GPT khởi tạo; đây không phải crawler tự động hoặc tín hiệu để kiểm soát việc xuất hiện trong Search. Quy tắc robots.txt có thể không áp dụng cho User-Agent này.
Chuỗi User-Agent có thể bị giả mạo và không chứng minh yêu cầu đến từ crawler OpenAI. Để kiểm tra yêu cầu, dùng nhật ký truy cập có địa chỉ IP nguồn rồi đối chiếu với các dải IP hiện hành trong searchbot.json chính thức hoặc tín hiệu bot đã xác minh từ CDN/WAF. Ghi mã trạng thái, URL, thời điểm và quyết định của hệ thống bảo vệ. Không thay đổi quy tắc WAF chỉ dựa trên User-Agent khớp. Cho phép truy cập có nghĩa là hệ thống có thể truy cập trang, nhưng không bảo đảm hệ thống chọn trang hoặc trích dẫn trang.
Ví dụ hư cấu
Nhật ký truy cập giả lập của trang đào tạo /robots có yêu cầu với User-Agent OAI-SearchBot, nhưng IP không khớp các dải đã công bố. Đây là crawler chưa được xác minh: ghi “User-Agent tự nhận là OAI-SearchBot; chưa xác minh nguồn” và không cho phép truy cập chỉ dựa trên thông tin đó. Sau đó, yêu cầu từ IP thuộc dải chính thức hiện hành nhận 403 từ WAF. Đây là bằng chứng cho thấy tại thời điểm đó một nguồn mạng đã xác minh bị chặn; chủ sở hữu có thể xem xét riêng quy tắc này.
Không thể dùng tên miền .test giả lập để kiểm tra ChatGPT Search thực tế. Chỉ chạy truy vấn nếu bạn có tên miền thử nghiệm công khai của mình để hệ thống có thể truy cập. Nếu không thể thực hiện kiểm tra, sản phẩm không khả dụng hoặc chưa chạy truy vấn, hãy ghi “chưa kiểm tra”, không ghi “không có nguồn”. Chỉ truy vấn đã hoàn thành và có lưu phản hồi mới xác lập được URL có được trích dẫn trong kết quả cụ thể đó hay không.
Khi dùng nhật ký truy cập thực, chỉ lưu IP nguồn trong khoảng thời gian cần thiết cho công việc và tuân thủ chính sách quyền riêng tư cùng thời hạn lưu áp dụng.
Thực hành
- Đọc tài liệu chính thức của nền tảng và xác định crawler nào tương ứng với tính năng tìm kiếm.
- Trong nhật ký hư cấu, đối chiếu User-Agent với IP nguồn và dải chính thức hiện hành hoặc tín hiệu bot đã xác minh từ CDN/WAF của bạn. Ghi mã trạng thái HTTP và quyết định của hệ thống bảo vệ. Không gửi yêu cầu với User-Agent giả mạo rồi xem đó là bằng chứng về crawler.
- Để kiểm tra trực tiếp, chỉ dùng tên miền thử nghiệm công khai của bạn. Nếu không có hoặc AI Search không khả dụng, ghi “chưa kiểm tra”. Nếu có thể kiểm tra, đặt ba câu hỏi trung lập bằng ngôn ngữ và khu vực đã xác định; lưu truy vấn, ngày, chế độ, toàn bộ phản hồi và URL nguồn.
- Không suy ra khả năng hiển thị lâu dài từ một phản hồi.
Danh sách kiểm tra
- Không đánh đồng
OAI-SearchBot,GPTBotvàChatGPT-User. - Không dùng User-Agent làm phương thức xác thực.
- IP nguồn được đối chiếu với danh sách chính thức hiện hành hoặc tín hiệu bot đã xác minh từ CDN.
- Quyền truy cập trang được ghi riêng với việc trang có được trích dẫn trong câu trả lời hay không.
- Nếu không thể dùng tính năng tìm kiếm, ghi “chưa kiểm tra”.
Lỗi thường gặp
Kết luận “đã cho GPTBot truy cập, vậy trang được trích dẫn trong ChatGPT” hoặc cho rằng mọi chuỗi OAI-SearchBot trong log đều xác thực. OpenAI nêu OAI-SearchBot là crawler tìm kiếm; yêu cầu mạng cần được xác minh qua IP/nền tảng, còn trích dẫn phải được kiểm tra trong phản hồi thực tế.