Một tác nhân Claude AI có thể điền mọi trường văn bản trên một biểu mẫu web đã bị khựng lại ở bước cuối cùng khi cố gắng đính kèm ba hình ảnh, làm lộ ra một hạn chế chưa được tài liệu hóa trong việc xử lý tải lên tệp của Desktop App. Sự thất bại này quan trọng vì nó biến một quy trình tự động hóa đầu-cuối tưởng chừng như hoàn chỉnh thành một quá trình bàn giao thủ công, buộc các nhà phát triển phải suy nghĩ lại về cách họ xây dựng các quy trình làm việc dựa trên AI.
Tại sao vấn đề này lại xuất hiện vào lúc này
Các tác nhân Claude chạy trong ba môi trường: giao diện dòng lệnh (CLI), tiện ích mở rộng Visual Studio Code, hoặc ứng dụng Desktop App độc lập. Trong CLI, tác nhân đọc một tệp từ một thư mục được thêm vào phiên làm việc và tải nó lên mà không gặp vấn đề gì. Desktop App không kế thừa hành vi đó. Ngay cả khi tác nhân ghi một tệp vào thư mục tạm thời của chính nó, ứng dụng vẫn từ chối tải lên, viện dẫn một định nghĩa nội bộ về các tệp "chia sẻ" (shared) vốn không bao giờ xuất hiện trong các tài liệu công khai.
Sự khác biệt này lộ ra khi một người dùng xây dựng một quy trình tự động hóa để điền vào biểu mẫu, nhấn “save draft” (lưu bản nháp), và sau đó cố gắng đính kèm ba hình ảnh. Các trường văn bản được điền một cách hoàn hảo, nhưng bước tải lên luôn trả về lỗi.
Những gì các nhà phát triển đã thử
- Thêm các tệp vào thư mục phiên làm việc mà ứng dụng tạo ra.
- Sử dụng công cụ directory-connect cho phép tác nhân nhìn thấy thư mục máy chủ (host folder).
- Đính kèm trực tiếp các hình ảnh trong cửa sổ chat.
- Tạo một thư mục tải lên thủ công và trỏ biểu mẫu vào đó.
Tất cả các cách tiếp cận này đều dẫn đến cùng một lỗi từ chối. Cửa sổ trình duyệt hiển thị hộp thoại chọn tệp (file-picker dialog) chạy ở chế độ chỉ đọc đối với tự động hóa trên máy tính để bàn. Tác nhân có thể thấy hộp thoại nhưng không thể nhấp vào bên trong hoặc nhập đường dẫn, vì vậy các mẹo tự động hóa giao diện người dùng (UI-automation) đều thất bại.
Một "cửa sau" mong manh
Phương pháp duy nhất thành công là sử dụng clipboard của Windows:
- Một tập lệnh PowerShell sao chép tệp mục tiêu vào clipboard.
- Tác nhân gửi phím tắt Ctrl + V.
- Trình duyệt nhận được sự kiện dán (paste event) và tải tệp lên.
Mẹo này hoạt động, nhưng nó xóa sạch clipboard của người dùng, bị giới hạn ở Windows và có thể bị hỏng với bất kỳ bản cập nhật nào của Desktop App. Đây không phải là một giải pháp bền vững cho các đường ống sản xuất (production pipelines).
Ý nghĩa thực sự của hạn chế này
Vấn đề cốt lõi không phải là lỗi phần mềm; đó là một bề mặt chưa được tài liệu hóa, coi quyền truy cập tệp là một thuộc tính của ứng dụng máy chủ thay vì là một cờ hệ thống tệp (file-system flag) đơn giản. Trong CLI, tác nhân kế thừa quyền đọc của tiến trình, vì vậy bất kỳ tệp nào phiên làm việc có thể thấy đều có thể được tải lên. Trong Desktop App, môi trường thực thi (runtime) cô lập chế độ xem hệ thống tệp của tác nhân, chỉ cho phép các tệp đáp ứng các tiêu chí "chia sẻ" (shared) ẩn.
Vì sự hạn chế này đã được tích hợp sẵn vào kiến trúc của Desktop App, các giải pháp thay thế dựa trên việc thao tác UI hoặc các thư mục tạm thời đều không thành công.
Các hướng đi đáng tin cậy
Nếu một quy trình làm việc yêu cầu tải lên tệp, các nhà phát triển có ba lựa chọn đáng tin cậy:
- Chạy tác nhân từ CLI. Môi trường này tôn trọng các quyền hệ thống tệp của phiên làm việc và tải lên mà không cần thêm các bước bổ sung.
- Sử dụng tiện ích mở rộng VS Code. Tiện ích mở rộng này mô phỏng mô hình quyền của CLI, cho phép các tác nhân đọc và tải lên các tệp mà trình soạn thảo có thể thấy.
- Để bước tải lên cho con người. Một hành động thủ công nhanh chóng trong hai phút sẽ tốt hơn nhiều so với việc dành hàng giờ để xây dựng một giải pháp thay thế mong manh.
Việc chọn hai tùy chọn đầu tiên sẽ chạy quy trình tự động hóa bên ngoài Desktop App.
Kết luận
Khả năng tải lên tệp trong các tác nhân Claude AI không mang tính phổ quát trên tất cả các môi trường thực thi; nó phụ thuộc vào cách tác nhân được khởi chạy. Để tự động hóa một cách đáng tin cậy, hãy coi CLI và tiện ích mở rộng VS Code là những môi trường duy nhất tuân thủ các quyền hệ thống tệp một cách ổn định. Khi sử dụng Desktop App, hãy lên kế hoạch cho việc bàn giao thủ công hoặc chấp nhận một mẹo clipboard mong manh. Việc bỏ qua sự khác biệt này có thể biến một kịch bản đầu-cuối mượt mà thành một bài tập gỡ lỗi tốn kém.
