Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 6 — Computer-use: điều khiển máy tính bằng screenshot & tọa độ

Đã đọc 0/10 mục · còn khoảng 4 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Khi tác vụ vượt ngoài trình duyệt — mở app desktop, thao tác phần mềm kế toán cũ, kéo thả file — ta cần computer-use: agent nhìn ảnh chụp màn hình và ra lệnh chuột/bàn phím theo tọa độ. Mạnh hơn nhưng mong manh hơn nhiều.

Cách computer-use hoạt động

Agent nhận screenshot, mô hình đa phương thức (vision) suy luận nên click ở đâu, rồi trả lệnh dạng:

{ "action": "left_click", "coordinate": [640, 384] }
{ "action": "type", "text": "bao-cao.xlsx" }
{ "action": "key", "text": "ctrl+s" }
{ "action": "screenshot" }

Vòng lặp: chụp → suy nghĩ → phát tọa độ → chụp lại để kiểm chứng. Vì dựa trên pixel, độ chính xác tọa độ là điểm yếu chí mạng.

Bố trí môi trường an toàn

Computer-use phải chạy trong máy ảo/container có desktop cô lập, không phải máy cá nhân:

  • Dựng VM (hoặc Docker có XFCE/màn hình ảo) chỉ chứa app cần thao tác.
  • Cố định độ phân giải (vd 1280x800) — tọa độ phụ thuộc độ phân giải.
  • Không đăng nhập tài khoản thật; không gắn ổ đĩa chứa dữ liệu nhạy cảm.
  • Ghi lại toàn bộ phiên (video) để audit.
[Host] --> [VM cô lập: 1280x800]
            - chỉ có app kế toán test
            - không mạng nội bộ
            - quay màn hình liên tục

Các bước xây một tác vụ computer-use

  • Chuẩn hóa độ phân giải và bố cục app trước khi bắt đầu.
  • Chụp screenshot đầu, gửi kèm mục tiêu cho mô hình vision.
  • Nhận action tọa độ, thực thi qua thư viện điều khiển (vd xdotool/pyautogui trong VM).
  • Chụp lại ngay sau mỗi action để mô hình tự kiểm chứng đã click đúng chưa.
  • Nếu lệch → mô hình tự sửa ở vòng sau dựa trên ảnh mới.
  • Giới hạn số bước và có nút "dừng khẩn".

Ưu tiên browser-use khi có thể

Nếu tác vụ có thể làm trong trình duyệt, hãy dùng browser-use — chính xác hơn nhờ DOM. Chỉ dùng computer-use khi:

- App desktop thuần (Excel offline, phần mềm kế toán cài máy)
- Môi trường remote (Citrix, RDP) chỉ thấy pixel
- Web nhúng trong app không truy cập được DOM

Khung tư duy: "chi phí sai một pixel"

Browser-use chọn nhầm phần tử thì thường vô hại (click trượt link). Computer-use chọn nhầm tọa độ có thể bấm trúng nút "Xóa vĩnh viễn" cạnh nút "Lưu". Vì vậy computer-use luôn cần giám sát chặt hơn và xác nhận trước hành động phá hủy.

Ví dụ cụ thể

Tác vụ: xuất báo cáo từ phần mềm kế toán desktop. Agent chụp màn hình, thấy menu File, click [120, 40], chọn Export, gõ tên file, Ctrl+S. Mỗi bước chụp lại để chắc menu đã mở đúng. Nếu độ phân giải VM đổi giữa chừng, mọi tọa độ lệch — nên phải khóa cứng độ phân giải.

Bộ action tối thiểu của computer-use

Để agent thao tác đủ một máy tính, cần khai báo tập action chuẩn cho mô hình vision:

left_click / right_click / double_click [x, y]
mouse_move [x, y]           # di chuột (hover menu)
type "text"                 # gõ chuỗi
key "ctrl+s" / "enter"      # tổ hợp phím
scroll [x, y] direction     # cuộn
screenshot                  # chụp lại để tự kiểm chứng
wait                        # chờ app phản hồi

Hầu hết tác vụ desktop được ghép từ những action nguyên thủy này. screenshot sau mỗi bước là bắt buộc để mô hình "nhìn lại" kết quả.

Grounding: giảm sai lệch tọa độ

Điểm yếu lớn nhất của computer-use là click lệch. Vài kỹ thuật giảm rủi ro:

- Yêu cầu mô hình mô tả phần tử đích TRƯỚC khi cho tọa độ
  ("nút Export ở góc trên phải") -> dễ tự sửa khi sai
- Dùng lưới tọa độ / đánh dấu trực quan trên screenshot
- Với app có accessibility API (UIAutomation, AT-SPI) -> ưu tiên
  đọc cây phần tử desktop thay vì đoán pixel
- Zoom vào vùng nghi ngờ để định vị chính xác hơn

Khi được, kết hợp accessibility desktop + pixel cho độ chính xác cao hơn dùng pixel đơn thuần.

Sai lầm thường gặp

  • Chạy computer-use trên máy thật: một cú click sai vào email/ngân hàng cá nhân là không thể hoàn tác.
  • Không cố định độ phân giải: tọa độ học được thành vô nghĩa khi màn hình đổi kích thước.
  • Dùng computer-use cho web có DOM: chậm, tốn, kém chính xác hơn browser-use.
  • Không chụp lại sau mỗi action: agent "mù" không biết mình click hụt.
  • Không xác nhận trước hành động phá hủy: nút nguy hiểm nằm sát nút an toàn, một pixel lệch là mất dữ liệu.
Bài sau: bảo mật, prompt injection và những rủi ro đặc thù của agent điều khiển giao diện.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi