Việc phát hành Windows-Use , một agent tự động hóa mới có khả năng điều khiển các hệ thống Windows thông qua tương tác GUI , đã châm ngòi cho một cuộc thảo luận kỹ thuật thú vị về các phương pháp tốt nhất cho việc tự động hóa máy tính. Công cụ dựa trên Python này hứa hẹn cho phép bất kỳ mô hình ngôn ngữ lớn nào thực hiện các tác vụ tự động hóa desktop mà không cần dựa vào các mô hình computer vision truyền thống.
Yêu cầu hệ thống
- Python 3.12 hoặc cao hơn
- Trình quản lý gói UV (hoặc pip)
- Windows 7, 8, 10, hoặc 11
- Tương thích với bất kỳ LLM nào (được minh họa với Google's Gemini 2.0 Flash)
Sự Phân Chia Lớn Trong Tự Động Hóa: Accessibility Trees So Với Screenshots
Cộng đồng đã nhanh chóng chia thành hai phe về các chiến lược tự động hóa. Một bên ủng hộ phương pháp cây User Interface Automation ( UIA ) mà Windows-Use sử dụng, cho rằng nó cung cấp dữ liệu sạch hơn, đáng tin cậy hơn cho các hệ thống AI làm việc. Bên kia ủng hộ các phương pháp computer vision phân tích screenshots trực tiếp.
Những người ủng hộ phương pháp UIA chỉ ra rằng hầu hết các ứng dụng Windows quan trọng đều hiển thị đúng cách các thành phần giao diện của chúng thông qua các framework accessibility. Phương pháp này cung cấp thông tin có cấu trúc, rõ ràng về các nút, trường văn bản và các thành phần UI khác mà các agent AI có thể dễ dàng hiểu và tương tác.
Tuy nhiên, những người chỉ trích nêu bật những khoảng trống đáng kể trong phương pháp này. Các ứng dụng healthcare, phần mềm dựa trên Electron và nhiều ứng dụng web không tuân thủ đúng các hướng dẫn accessibility, khiến các công cụ tự động hóa không thể nhìn thấy các thành phần giao diện của chúng. Điều này tạo ra các điểm mù mà các phương pháp dựa trên screenshot có thể là lựa chọn khả thi duy nhất.
Lưu ý: UIA ( User Interface Automation ) là framework của Microsoft cho phép các ứng dụng hiển thị các thành phần giao diện của chúng cho các công nghệ hỗ trợ và công cụ tự động hóa.
Các Phương Pháp Kỹ Thuật Chính Được Thảo Luận
- Phương Pháp UIA Tree: Sử dụng framework khả năng tiếp cận của Windows để thu thập dữ liệu UI có cấu trúc
- Computer Vision: Phân tích ảnh chụp màn hình để nhận diện các thành phần UI
- Phương Pháp Kết Hợp: Kết hợp cả hai phương pháp để có khả năng tương thích rộng hơn
- Công Cụ Cũ: SendKeys() và các lệnh gọi Win32 API từ những năm 1990
Khó Khăn Của Computer Vision
Cuộc thảo luận tiết lộ những thất vọng đang diễn ra với khả năng phân tích screenshot của các mô hình AI hiện tại. Một số thành viên cộng đồng báo cáo rằng ngay cả các mô hình tiên tiến như ChatGPT thường phải viết các script Python để phân tích hình ảnh thay vì sử dụng khả năng thị giác tự nhiên của chúng, dẫn đến kết quả không đáng tin cậy và nhiều lần thất bại.
Tôi đã yêu cầu nó trích xuất một guid từ một hình ảnh và nó đã viết một script python để chạy ocr với nó...và đã làm sai.
Điều này làm nổi bật một thách thức rộng lớn hơn: trong khi computer vision cung cấp khả năng tương thích toàn cầu với bất kỳ ứng dụng nào, việc thực thi vẫn không nhất quán và dễ vỡ. Các mô hình được huấn luyện đặc biệt cho việc phát hiện UI có thể hoạt động tốt hơn, nhưng những công cụ chuyên biệt như vậy chưa được sử dụng rộng rãi.
Vấn đề tương thích ứng dụng
- Hỗ trợ UIA tốt: Hầu hết các ứng dụng Windows tiêu chuẩn, bộ Office
- Hỗ trợ UIA kém: Ứng dụng Electron, nhiều ứng dụng chăm sóc sức khỏe, VS Code (không có chế độ trợ năng)
- Tương thích toàn diện: Thị giác máy tính hoạt động với bất kỳ giao diện trực quan nào
Hoài Niệm Về Thời Đại Đơn Giản Hơn
Thú vị là, cuộc thảo luận kỹ thuật đã gợi lên những kỷ niệm hoài niệm về các công cụ tự động hóa trước đây. Nhiều developer trìu mến nhớ về việc sử dụng SendKeys() trong Visual Basic 6 trong những năm 1990, công cụ này đã cung cấp sức mạnh cho mọi thứ từ chatbot AOL đến các trò đùa desktop. Những công cụ đơn giản này, dù thô sơ, thường hoạt động đáng tin cậy hơn các giải pháp được hỗ trợ bởi AI ngày nay.
Sự so sánh này nhấn mạnh cách các thách thức tự động hóa vẫn tồn tại bất chấp hàng thập kỷ tiến bộ công nghệ. Các công cụ hiện đại có thể tinh vi hơn, nhưng chúng vẫn gặp khó khăn với cùng một vấn đề cơ bản: tương tác đáng tin cậy với các giao diện người dùng đa dạng, không nhất quán.
Nhìn Về Phía Trước
Khi các agent tự động hóa máy tính trở nên phổ biến hơn, cuộc tranh luận giữa các phương pháp kỹ thuật khác nhau có thể sẽ gay gắt hơn. Giải pháp lý tưởng có thể bao gồm các hệ thống hybrid có thể chuyển đổi giữa cây UIA , computer vision và các lệnh gọi API trực tiếp tùy thuộc vào khả năng của ứng dụng đích.
Hiện tại, Windows-Use đại diện cho một điểm trung gian thú vị, chủ yếu sử dụng dữ liệu accessibility có cấu trúc trong khi dự phòng bằng vision khi cần thiết. Liệu phương pháp này có chứng minh đáng tin cậy hơn các phương pháp computer vision thuần túy hay không vẫn còn phải xem khi nhiều người dùng hơn thử nghiệm nó trong các tình huống thực tế.
Tham khảo: Windows-Use