Codex mở Chrome — ba tầng tool, mấy tầng rủi ro?

Codex mở Chrome — ba tầng tool, mấy tầng rủi ro?

Codex giờ có 3 tầng tool — plugin, in-app browser, và Chrome thật. Bóc tách từng tầng để thấy guardrail nào còn thiếu.

Bạn cho agent truy cập API — chuyện bình thường. Bạn cho agent chạy trong sandbox — vẫn ổn. Nhưng cho agent mở trình duyệt thật, với session đang đăng nhập Gmail và Salesforce của bạn — đó là một bước nhảy khác hẳn về mặt rủi ro vận hành.

Tuần này OpenAI ship Chrome extension cho Codex trên cả Mac và PC. Agent giờ không chỉ gọi plugin hay chạy trong trình duyệt sandbox — nó mở được Chrome thật, dùng cookie thật, đọc tab thật. Và đa số team đang hào hứng bật lên mà chưa hỏi: guardrail (rào chắn kiểm soát) ở đâu trong từng tầng?

Chuyện gì vừa xảy ra

Trước bản cập nhật này, Codex tiếp cận web qua hai đường: plugin chuyên dụng (GitHub, Slack, Figma, Notion…) và in-app browser — trình duyệt sandbox nằm bên trong app, cách ly hoàn toàn với Chrome profile người dùng. Chrome extension là tầng thứ ba, lấp khoảng trống mà hai tầng kia không phủ được: những task cần trạng thái đăng nhập thật.

Agent tự chọn tầng nào cho từng task. Bạn cũng có thể chỉ định bằng cú pháp @Chrome — ví dụ: @Chrome open Salesforce and update the account from these call notes. Codex chạy trong tab group riêng, không chen vào tab bạn đang mở, và có thể dùng Chrome DevTools song song.

Nhìn từ ngoài thì gọn gàng. Nhìn từ góc vận hành thì phức tạp hơn nhiều.

Ba tầng — mổ từng lớp

Tầng 1 — Plugin: Scope hẹp nhất, kiểm soát rõ nhất. Khi Codex gọi plugin GitHub, nó chỉ làm được những gì plugin cho phép — tạo PR, đọc issue, comment. Boundary đã vẽ sẵn, bạn không cần lo agent "sáng tạo" ra hành động ngoài ý muốn.

Tầng 2 — In-app browser: Sandbox bên trong Codex. Dùng cho localhost, preview file, trang public không cần đăng nhập. Không chạm Chrome profile thật. Rủi ro thấp vì môi trường cách ly — agent phá cũng chỉ phá trong hộp cát.

Tầng 3 — Chrome extension: Tầng mới, cũng là tầng rộng nhất. Agent mở Chrome thật, dùng cookie và session thật của bạn, đọc được nội dung tab đang mở, thao tác trên Salesforce hay Gmail bằng chính tài khoản bạn.

Dịch sang ngôn ngữ vận hành: tầng 1 và 2 chạy trong vùng bạn kiểm soát được. Tầng 3 chạy trong vùng bạn đang sống — nơi có email thật, data khách hàng thật, quyền admin thật.

Nếu ví orchestration (cách điều phối nhiều tool cho agent) như dệt vải, thì plugin và in-app browser là những sợi dọc — đường đi cố định, dự đoán được. Chrome extension là sợi ngang mới: linh hoạt hơn, nhưng nếu không căng đúng lực, cả tấm vải xô lệch.

Phần đáng giữ

Phân tầng tự động có logic rõ. Agent route task đến đúng tầng — plugin khi có tích hợp sẵn, Chrome khi cần session thật, in-app browser cho localhost. Mô hình này đáng tham khảo cho team đang build hệ thống agent riêng: phân loại task trước, rồi mới route đến tool — đừng mặc định mọi thứ chạy qua một kênh.

Tab group isolation. Codex chạy trong tab group riêng, không xâm phạm tab người dùng. Guardrail UX đơn giản nhưng quan trọng — agent làm việc song song mà không chen ngang workflow.

Override bằng @Chrome. Người dùng chỉ định rõ khi nào dùng Chrome thay vì phụ thuộc hoàn toàn vào routing tự động. Trong production, khả năng override luôn cần thiết — không team nào muốn agent tự quyết 100%.

Ví dụ cụ thể: giả sử team bạn 5 người, dùng Codex để tự động cập nhật deal trong Salesforce từ ghi chú cuộc gọi. Với plugin, bạn cần Salesforce plugin chuyên dụng (nếu có). Với Chrome extension, agent mở Salesforce bằng session thật và thao tác trực tiếp. Tiện — nhưng nó cũng đồng thời có quyền xóa deal, sửa pipeline, hoặc gửi email từ tài khoản bạn nếu prompt không đủ chặt.

Phần nên lọc bỏ

"Agent truy cập browser = tự động hóa mọi thứ." Nhiều team đang nhầm giữa capability và readiness. Agent có thể mở Gmail thật không có nghĩa bạn nên cho nó soạn và gửi email thay bạn ngay lập tức. Mỗi tầng mới là một lớp rủi ro mới — và phần lớn team chưa có rào chắn tương xứng.

Kịch bản dễ gặp ở team Việt Nam: lead hào hứng bật Chrome extension cho agent xử lý ticket trên tool nội bộ. Agent mở đúng trang, nhưng tool nội bộ có nút "Approve All" nằm ngay cạnh "View Details". Không có confirmation step, không có scope limit — một thao tác nhầm và cả batch ticket được duyệt hàng loạt.

FOMO vì feature mới. Nếu workflow chính của team đã có plugin tương ứng, Chrome extension không thêm nhiều giá trị mà lại mở rộng surface area (vùng tấn công) cần bảo vệ. Đừng bật thêm tầng chỉ vì nó mới.

Mặc định công cụ ồn ào nhất là lựa chọn đúng. Codex không phải lựa chọn duy nhất cho multi-tool orchestration. Các framework open-source như AutoGen cũng đang xây mô hình phân tầng tương tự. Điểm khác biệt thật sự không nằm ở số tầng — mà ở cách bạn kiểm soát từng tầng.

Trước khi bật thêm tầng

Dù dùng Codex, AutoGen, hay hệ thống tự build — trước khi mở rộng thêm lớp tool nào cho agent, chạy qua bốn câu hỏi:

  1. Task này có thật sự cần session đăng nhập không? Nếu có API hoặc plugin, ưu tiên tầng đó. Chrome extension chỉ khi bắt buộc.
  2. Agent có quyền ghi hay xóa không? Nếu có — phải có bước xác nhận hoặc approval flow. Đọc thì cho tự do, ghi thì phải kiểm.
  3. Scope giới hạn ở đâu? "Mở Salesforce" khác xa "mở Salesforce và làm bất kỳ gì thấy hợp lý." Agent chỉ nên thao tác trên đúng resource được chỉ định.
  4. Có audit trail (nhật ký hành động) không? Mỗi action agent thực hiện trên browser thật phải được log. Không log = không debug được khi sự cố xảy ra.

Bản chất là: thêm một sợi ngang vào khung dệt thì phải kiểm tra khung có chịu nổi không — trước khi lo sợi đó đẹp hay xấu.

---

Bụi Wire — nghiện đọc release notes lúc 2 giờ sáng

Nguồn tham khảo