Các trình thu thập dữ liệu của OpenAI: GPTBot, OAI-SearchBot và ChatGPT-User

Đăng ngày

Trả lời ngắn

OpenAI dùng GPTBot để thu thập nội dung có thể dùng huấn luyện mô hình, OAI-SearchBot để lập chỉ mục trang cho tìm kiếm của ChatGPT, và ChatGPT-User cho các lượt truy cập do người dùng yêu cầu. Chặn GPTBot chỉ là từ chối huấn luyện. Chặn OAI-SearchBot sẽ loại bạn khỏi câu trả lời tìm kiếm của ChatGPT. robots.txt có thể không áp dụng cho ChatGPT-User.

Ba user agent khác nhau của cùng một công ty, mỗi cái có token robots.txt riêng, gây ra nhiều nhầm lẫn. Nhiều website đã chặn GPTBot ngay khi nó xuất hiện, và một số sau đó phát hiện mình cũng đã chặn luôn trình thu thập dữ liệu quyết định ChatGPT có trích dẫn được họ hay không, thường là do một quy tắc tường lửa quá rộng. Bài viết này đi qua từng tác nhân dựa trên tài liệu của chính OpenAI.

Trong trang này
  1. GPTBot làm gì?
  2. OAI-SearchBot làm gì?
  3. ChatGPT-User làm gì?
  4. Chuyện gì xảy ra khi tôi chặn từng bot?
  5. Tôi nên dùng robots.txt nào cho các trình thu thập dữ liệu của OpenAI?
  6. Làm sao xác nhận tường lửa cho chúng đi qua?

GPTBot làm gì?

GPTBot thu thập nội dung có thể được dùng để huấn luyện các mô hình nền tảng AI tạo sinh của OpenAI. Tài liệu của OpenAI nói rằng việc cấm GPTBot cho biết nội dung của một website không nên được dùng để huấn luyện các mô hình đó.

User agent của nó chứa token GPTBot, ví dụ Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot. OpenAI lưu ý số phiên bản có thể thay đổi, vì vậy hãy khớp theo token chứ không phải toàn bộ chuỗi. OpenAI công bố dải IP của mình tại openai.com/gptbot.json.

Có cho phép hay không là một quyết định về chính sách. Một số nhà xuất bản muốn nội dung của mình nằm trong dữ liệu huấn luyện, số khác thì không. Chặn nó không ảnh hưởng đến tìm kiếm của ChatGPT, vì đó là một trình thu thập dữ liệu khác. Nếu sau này đổi ý, chỉ cần bỏ dòng Disallow; không có gì phải đăng ký hay yêu cầu.

OAI-SearchBot làm gì?

OAI-SearchBot là trình thu thập dữ liệu tìm kiếm của OpenAI. Nó đưa website vào các tính năng tìm kiếm của ChatGPT. OpenAI nói thẳng rằng các website đã từ chối OAI-SearchBot sẽ không được hiển thị trong câu trả lời tìm kiếm của ChatGPT.

Nếu muốn ChatGPT trích dẫn các trang của mình, đây là trình thu thập dữ liệu cần cho phép, cả trong robots.txt lẫn trong tường lửa. Dải IP của nó được công bố tại openai.com/searchbot.json, giúp tường lửa xác minh một yêu cầu có thực sự đến từ OpenAI.

ChatGPT-User làm gì?

ChatGPT-User không phải trình thu thập dữ liệu theo nghĩa thông thường. Nó tải một trang khi người dùng ChatGPT hoặc một Custom GPT yêu cầu, ví dụ khi ai đó dán URL của bạn vào cuộc trò chuyện và nhờ tóm tắt. OpenAI cho biết nó không được dùng để tự động thu thập dữ liệu web.

Có hai chi tiết trong tài liệu của OpenAI đáng chú ý. Thứ nhất, vì các hành động này do người dùng khởi tạo, quy tắc robots.txt có thể không áp dụng. Thứ hai, ChatGPT-User không được dùng để xác định nội dung có thể xuất hiện trong tìm kiếm hay không. Với tìm kiếm, thiết lập có tác dụng là OAI-SearchBot.

Chuyện gì xảy ra khi tôi chặn từng bot?

OpenAI cũng lưu ý rằng khi cả GPTBot và OAI-SearchBot đều được cho phép, họ có thể dùng kết quả của một lượt thu thập cho cả hai mục đích để tránh thu thập hai lần.

Tôi nên dùng robots.txt nào cho các trình thu thập dữ liệu của OpenAI?

Với phần lớn website muốn xuất hiện trong câu trả lời của ChatGPT, hãy cho phép trình thu thập dữ liệu tìm kiếm và quyết định riêng về việc huấn luyện. Tệp này cho phép tìm kiếm và từ chối huấn luyện:

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Disallow: /

User-agent: *
Allow: /
Disallow: /admin/

Lưu ý một chi tiết của RFC 9309: trình thu thập dữ liệu theo nhóm có nêu tên nó và bỏ qua nhóm *. Trong ví dụ trên, OAI-SearchBot sẽ được vào /admin/ vì nhóm riêng của nó không có dòng Disallow: /admin/. Hãy lặp lại mọi đường dẫn bạn muốn giữ riêng tư trong từng nhóm có tên. OpenAI cho biết các thay đổi về tìm kiếm có thể mất khoảng 24 giờ để áp dụng.

Làm sao xác nhận tường lửa cho chúng đi qua?

robots.txt chỉ nêu chính sách của bạn. Tường lửa hoặc CDN quyết định mỗi yêu cầu thực sự nhận được gì. Hãy yêu cầu một trang với user agent của từng trình thu thập dữ liệu và so sánh mã trạng thái cùng kích thước nội dung với yêu cầu từ trình duyệt. Nếu trình thu thập dữ liệu nhận 403, 429 hoặc trang thử thách trong khi trình duyệt nhận trang bình thường, thì tường lửa đang ghi đè robots.txt của bạn.

AISeeWhy chạy phép so sánh này cho cả ba tác nhân của OpenAI cùng lúc, đánh dấu việc chặn OAI-SearchBot và ChatGPT-User là P1 vì chúng làm mất lượt trích dẫn, và liệt kê việc chặn GPTBot như một lựa chọn chính sách mức P3 chứ không phải lỗi.

Câu hỏi thường gặp

GPTBot có phải là ChatGPT không?

Không. GPTBot là trình thu thập dữ liệu để huấn luyện. Tìm kiếm của ChatGPT dùng OAI-SearchBot, còn các lượt truy cập trực tiếp do người dùng yêu cầu đến từ ChatGPT-User.

Tôi có thể cho phép tìm kiếm của ChatGPT nhưng chặn huấn luyện không?

Có. Cho phép OAI-SearchBot và cấm GPTBot trong robots.txt. OpenAI ghi rõ hai thiết lập này độc lập với nhau.

Có nên chặn OpenAI theo địa chỉ IP không?

Chặn theo IP khiến trình thu thập dữ liệu không đọc được robots.txt của bạn và làm chính sách khó thay đổi hơn. Thường tốt hơn là nêu chính sách trong robots.txt và dùng dải IP đã công bố để xác minh, chứ không phải để chặn, các trình thu thập dữ liệu của OpenAI.

Tại sao nên khớp theo token chứ không phải toàn bộ user agent?

OpenAI cho biết số phiên bản trong user agent có thể thay đổi, và các chuỗi mẫu họ công bố cũng khác nhau giữa các trình thu thập dữ liệu. Quy tắc khớp theo GPTBot hoặc OAI-SearchBot vẫn hoạt động sau khi cập nhật; quy tắc khớp đúng từng ký tự có thể âm thầm ngừng khớp.

Nguồn tham khảo

Bài viết khác