automation

API tự động hóa trình duyệt cục bộ mang lại gì cho AI agent

CDP và REST cục bộ cho phép agent điều khiển một Profile trình duyệt thật. Ranh giới đó bao gồm gì, không bao gồm gì, và vì sao mỗi agent nên có Profile riêng.

6 phút đọc Agilelogin product team

Những điểm chính

  • Bề mặt tự động hóa là cục bộ: một giao diện nằm trên chính máy của người vận hành, không phải một endpoint được lưu trữ từ xa mà request phải gửi đến.
  • Hai hình thái phục vụ hai công việc khác nhau — CDP để kiểm tra và điều khiển trình duyệt trực tiếp, REST cho các thao tác về Profile và vòng đời.
  • Đơn vị cô lập là Profile, không phải trình duyệt: một agent, một Profile, với trạng thái trình duyệt và chỉ định mạng riêng của nó.
  • Tính cục bộ làm cho ranh giới kết nối trở nên rõ ràng. Bản thân nó không cấp quyền cho một công cụ, không bảo đảm an toàn cho mã của công cụ đó, cũng không bảo đảm rằng một endpoint tồn tại trong mọi bản phát hành.
  • Những gì được công khai chính là những gì được ghi trong tài liệu cho phiên bản đã cài đặt — không hàm ý gì thêm ngoài đó.

Giao diện tự động hóa thực chất là gì

Khi nghe “API tự động hóa”, người ta thường hình dung một dịch vụ được lưu trữ ở đâu đó trên đám mây mà một script gọi qua internet. Đây không phải là thứ đó. Agilelogin công khai tự động hóa trình duyệt cục bộ: phần mềm điều khiển một trình duyệt hoặc một Profile qua giao diện được công khai trên chính thiết bị của người vận hành, chứ không phải một endpoint từ xa. Không phần nào của kết nối này đi qua máy chủ bên thứ ba — công cụ và trình duyệt đều chạy trên cùng một máy.

Bề mặt cục bộ đó có hai hình thái được ghi rõ trong tài liệu. Quyền truy cập Chrome DevTools Protocol (CDP) có thể hỗ trợ kiểm tra và tương tác trực tiếp với trình duyệt khi nhân đã cài đặt công khai nó — đây là lớp cần dùng khi một quy trình thực sự cần kiểm soát ở mức trình duyệt, quan sát hoặc điều khiển một trang theo cách một người vận hành thật sự làm. Song song đó, các endpoint REST được ghi rõ trong tài liệu có thể cung cấp các thao tác về Profile và vòng đời được chọn cho một bản phát hành cụ thể, mà không đòi hỏi kiểm soát toàn bộ ở mức trình duyệt cho mọi tác vụ. Trên thực tế hai thứ này phục vụ hai công việc khác nhau: CDP để kiểm tra và điều khiển trình duyệt trực tiếp, REST cho các thao tác ứng dụng mà sản phẩm chọn hỗ trợ. Một agent chỉ cần khởi động một Profile hoặc kiểm tra trạng thái của nó thì không cần đến một phiên CDP đầy đủ; một quy trình cần đọc những gì thực sự đang hiển thị trên trang thì cần.

Từ khóa quan trọng trong cả hai trường hợp là được ghi rõ trong tài liệu. Tính cục bộ làm cho ranh giới kết nối trở nên rõ ràng — agent đang giao tiếp với chính máy của nó, chứ không phải một API được lưu trữ mà nó phải tin tưởng một cách mù quáng — nhưng bản thân điều đó không cấp quyền cho một công cụ, không bảo đảm an toàn cho mã của công cụ đó, cũng không bảo đảm rằng một endpoint nhất định tồn tại trong mọi bản phát hành. Những gì được công khai chính xác là những gì được ghi lại cho phiên bản đã cài đặt, không hơn không kém.

Vì sao Profile mới là đơn vị, không phải trình duyệt

Ranh giới mà một agent nên dùng để suy luận không phải là trình duyệt, mà là Profile. Một Profile trình duyệt cô lập dành cho AI agent là một ngữ cảnh trình duyệt cục bộ bền vững được gán cho một quy trình tự động hóa được phép: trạng thái trình duyệt và chỉ định mạng của nó luôn có thể nhận diện là thuộc về Profile đó, trong khi quy trình tiếp cận nó qua giao diện CDP hoặc REST cục bộ đã mô tả ở trên. Profile tạo ra một ranh giới kiểm soát; bản thân nó không cấp cho agent quyền vượt ra ngoài các tài khoản và hệ thống mà người vận hành đã cho phép.

Chính ranh giới đó ngăn công việc của một agent lấn sang phiên của một tài khoản khác. Cookie, dữ liệu lưu trữ và các giả định về mạng luôn gắn với một Profile cụ thể, vì vậy khi một quy trình lặp lại cần trạng thái phiên được phép, việc cấp cho nó một Profile riêng giúp việc kiểm tra chủ sở hữu trạng thái và các giả định về mạng dễ hơn nhiều so với khi nhiều quy trình dùng chung một trình duyệt. Quy tắc thực tế rút ra từ đó rất đơn giản: hãy cấp cho quy trình một Profile riêng, dễ nhận diện, thay vì tái sử dụng một phiên không liên quan của người khác hoặc agent khác. Một quy trình được phép có thể nhắm tới Profile riêng đó, giúp rõ ràng hơn quy trình nào đang sở hữu trạng thái trình duyệt hiện tại và khi nào quyền sở hữu đó kết thúc.

Việc chia sẻ một Profile cho nhiều agent thường không phải là lựa chọn mặc định đúng đắn. Khi các agent chạy đồng thời, hoặc cần trạng thái riêng biệt, mỗi quy trình được phép có một Profile riêng sẽ giúp việc suy luận về cookie, dữ liệu lưu trữ, giả định mạng và trách nhiệm khi xảy ra lỗi dễ hơn nhiều so với một phiên dùng chung. Nếu thực sự cần hai agent chia sẻ một Profile, đó phải là một quyết định có chủ đích, đã được kiểm thử, chứ không phải điều xảy ra chỉ vì không ai tạo thêm một Profile thứ hai.

Giao diện cục bộ không mang lại cho bạn điều gì

Thật hấp dẫn khi coi “cục bộ” là đồng nghĩa với “an toàn”, nhưng đó không phải cách hiểu đúng. Truy cập cục bộ là một ranh giới, không phải một quyết định về niềm tin. Việc giao diện nằm trên cùng máy với agent chỉ cho biết kết nối kết thúc ở đâu; nó không nói gì về việc liệu mã gọi giao diện đó có đáng tin hay không, và Agilelogin không mở rộng quyền hạn của agent vượt quá những gì người vận hành đã cấp. Một agent hoặc script kết nối chỉ nhận được đúng quyền hạn mà người vận hành trao cho nó.

Hai nguyên tắc kỷ luật đi thẳng từ đó. Thứ nhất, hạn chế quyền truy cập thiết bị và mạng: xác nhận phiên bản có hỗ trợ giao diện hay không, và giới hạn ai và cái gì có thể truy cập nó cục bộ, thay vì để một bề mặt kiểm soát lộ ra cho bất cứ thứ gì đang chạy trên thiết bị. Hạn chế ai được phép chạy phần mềm trên thiết bị, xem xét các công cụ kết nối vào, và bảo vệ bí mật là trách nhiệm của người vận hành, không phải điều tự động xảy ra chỉ vì có một endpoint cục bộ. Thứ hai, chỉ dùng những công cụ được phép, được ghi rõ trong tài liệu: xem xét mã nguồn, quyền hạn, prompt, cách xử lý bí mật và đường cập nhật của một agent giống như bạn sẽ làm với bất kỳ phần mềm nào khác có quyền truy cập tài khoản, vì thông tin xác thực, prompt, log, các phụ thuộc và hành vi của trang đích đều là những rủi ro riêng biệt mà một ranh giới cục bộ không thể khép lại.

Nguyên tắc kỷ luật thứ ba là xác minh hành vi so với đúng bản phát hành đang được cài đặt. Hiện chưa có tuyên bố nào được công bố về mức độ sẵn sàng cho môi trường sản xuất của giao diện tự động hóa này. Giả định an toàn nhất là coi các giao diện là đặc thù theo từng bản phát hành cho đến khi có tài liệu theo phiên bản mô tả hành vi xác thực, lỗi và chi tiết tương thích cho đúng phiên bản bạn đang chạy — hãy xác nhận điều đó trước khi để một quy trình phụ thuộc vào sự tồn tại của một endpoint cụ thể.

Hiện tại mọi thứ đang ở đâu

Không điều gì ở đây mô tả một sản phẩm bạn có thể tải về ngay bây giờ. Ứng dụng desktop chưa có bản phát hành công khai đầu tiên, vì vậy hiện chưa có gì để cài đặt ở đây, và không nội dung nào trong bài này nên được hiểu theo hướng ngược lại. Những gì đã được ghi rõ trong tài liệu là hình thái của các bề mặt CDP và REST cục bộ mà một công cụ được phép sẽ kết nối tới khi có bản phát hành, cùng các ranh giới xung quanh chúng: Profile là đơn vị cô lập, máy cục bộ là ranh giới tin cậy, và người vận hành là nguồn của mọi quyền hạn mà một agent có.

Điều đó cũng có nghĩa là các chi tiết cụ thể — endpoint nào tồn tại, chúng nhận tham số gì, lỗi được báo cáo ra sao — vẫn chưa được cố định, và hiện chưa có tuyên bố nào được công bố về mức độ sẵn sàng cho môi trường sản xuất của giao diện tự động hóa này. Hãy xem những gì viết ở đây, và trong tài liệu tính năng mà nó dựa vào, là hướng đang xây dựng giao diện, chứ không phải một tài liệu tham chiếu đã đóng băng. Khi một bản phát hành thực sự ra mắt, bước đầu tiên đúng đắn cho bất kỳ ai kết nối một agent vào đó vẫn giống như đã mô tả ở trên: xác nhận phiên bản, đọc những gì thực sự được ghi trong tài liệu cho bản đó, và chỉ cấp cho agent đúng quyền hạn mà quy trình cần, không hơn.