Tác nhân AI duyệt web cần một trình duyệt riêng

Giao trình duyệt hằng ngày cho một tác nhân tự động đồng nghĩa với việc trao cho nó cookie, thông tin đăng nhập và thiết bị của bạn. Vì sao tác nhân nên ở trong một hồ sơ cô lập, và cách cấp cho chúng một hồ sơ như vậy.
Cách nhanh nhất để trao cho một tác nhân AI năng lực thực sự trên web là để nó điều khiển một trình duyệt. Cách nhanh nhất để hối hận là để nó điều khiển trình duyệt của bạn. Trình duyệt hằng ngày mang theo mọi phiên bạn từng đăng nhập, và một tác nhân biết nhấp chuột có thể nhấp vào bất cứ thứ gì các phiên đó chạm tới được.
Vấn đề bán kính ảnh hưởng
Một tác nhân được nhờ nghiên cứu nhà cung cấp không có ý định mở tab ngân hàng của bạn. Nhưng trình duyệt nó chạy trong đó không phân biệt: một hũ cookie, một bộ thông tin đăng nhập đã lưu, một danh tính máy. Bất cứ nơi nào tác nhân có thể điều hướng tới, nó đã được xác thực sẵn. Những biện pháp giảm nhẹ mà người ta nghĩ tới đầu tiên — một hồ sơ Chrome riêng, một cửa sổ ẩn danh — chỉ di chuyển cookie mà không di chuyển gì khác.
Cô lập thực sự phải bao phủ những gì
- Lưu trữ: hũ cookie, Local Storage và IndexedDB riêng, trong một thư mục không có gì khác ghi vào
- Thông tin xác thực: chỉ những tài khoản bạn cố ý đăng nhập vào hồ sơ đó, không có gì khác
- Mạng: đường mạng riêng, để lưu lượng của tác nhân và của bạn không cùng một địa chỉ
- Danh tính thiết bị: ổn định cho hồ sơ đó, và không phải bản sao của chiếc máy bạn làm việc
- Tiện ích: chỉ những gì tác nhân cần, không phải trình quản lý mật khẩu của bạn
Danh sách đó chính là danh sách mà một hồ sơ trình duyệt cô lập vốn đã đáp ứng. Từ góc nhìn của trình duyệt, một tác nhân chỉ là một người dùng khác trên máy của bạn, người không nên thấy phần còn lại của công việc của bạn.
Cấp cho tác nhân một hồ sơ
Trong PowerOps, mô hình rất ngắn gọn. Tạo một hồ sơ cho tác nhân, cho nó đường mạng bạn muốn lưu lượng của nó đi qua, và chỉ đăng nhập vào những tài khoản mà tác vụ đó cần. Sau đó khởi động nó từ Local API, nơi trả về endpoint gỡ lỗi của trình duyệt, và trỏ framework tác nhân của bạn vào endpoint đó thay vì một trình duyệt nó tự khởi chạy.
# Start the agent's profile and take the endpoint it returns.
curl -s -X POST http://127.0.0.1:50326/v1/browsers/start \
-H "Authorization: Bearer $POWEROPS_KEY" \
-H "Content-Type: application/json" \
-d '{"profileId": "agent-research-01"}'
Bất cứ thứ gì nói được Chrome DevTools Protocol đều kết nối được với kết quả lệnh gọi đó — Puppeteer, Playwright, hoặc một framework tác nhân bọc một trong hai. Mã của tác nhân không đổi chút nào; thứ thay đổi là trình duyệt mà nó đáp xuống.
Một hồ sơ cho mỗi tác vụ, không phải mỗi tác nhân
Bản năng là cấp cho tác nhân một hồ sơ. Đơn vị tốt hơn là tác vụ. Một hồ sơ cho nghiên cứu nhà cung cấp, một hồ sơ cho tài khoản nó được phép đăng bài, một hồ sơ cho bảng điều khiển nó đọc. Nếu một lần chạy hỏng, thiệt hại bị giới hạn bởi những gì hồ sơ duy nhất đó chạm tới được, và bạn có thể bỏ thư mục đi rồi bắt đầu lại.
Giữ các lần chạy có thể so sánh
Tác nhân khó gỡ lỗi vì hai lần chạy hiếm khi giống nhau. Một hồ sơ báo cùng một thiết bị ở mỗi lần khởi chạy, từ cùng một đường mạng, với trạng thái bạn để lại, loại bỏ cả một lớp khác biệt giữa các lần thử. Khi một lần chạy cư xử khác đi, môi trường không còn nằm trong danh sách nghi phạm.
Ranh giới
Không điều nào trong số này là cách lách điều khoản của một trang, giới hạn tốc độ hay chính sách robots của nó, và nó không được bán như vậy. Thứ nó mang lại cho tác nhân là một trình duyệt thuộc về tác vụ chứ không phải thuộc về bạn.
