- Phần mềm Claude Desktop của Anthropic được phát hiện là sử dụng thư viện mô phỏng nhập liệu mã nguồn mở enigo do tôi phát triển
- enigo chạy được trên Windows, macOS, BSD và Linux cùng nhiều hệ điều hành khác, và được tận dụng như một thành phần cốt lõi trong Claude Desktop dựa trên Electron
- Tôi đã gửi hồ sơ ứng tuyển cho Anthropic, nhưng nhận được thông báo từ chối do đội ngũ thiếu nhân sự
- enigo được cấp phép MIT, ai cũng có thể dùng miễn phí; vì vậy tôi không có lợi ích tài chính trực tiếp, chỉ có được một phần danh tiếng
- Dù đã 'trao tay chân' cho Claude, tôi vẫn bày tỏ sự hụt hẫng vì lại bị từ chối trong quy trình tuyển dụng
Lời mở đầu
Vào tháng 10 năm 2024, Anthropic đã giới thiệu tính năng "Claude Computer Use". Tính năng này cho phép AI điều khiển máy tính, ví dụ như làm việc sao chép dữ liệu từ trình duyệt web sang bảng tính. Là người duy trì một thư viện cho việc điều khiển máy tính, tôi rất quan tâm đến cách Anthropic triển khai và muốn học hỏi từ đó. Tính đến tháng 3 năm 2025, Anthropic là một trong những công ty dẫn đầu ngành AI với định giá hơn 60 tỷ USD.
Thư viện enigo và Claude Desktop
Tôi phát hiện Anthropic đang dùng thư viện enigo do tôi phát triển trong phiên bản desktop của Claude. Việc xác minh việc dùng enigo trên phiên bản Claude Desktop macOS có thể làm như sau.
$ 7z x Claude.dmg
$ perl -nle 'print $& while /.{0,67}enigo.{0,30}/g' Claude/Claude.app/Contents/Resources/app.asar.unpacked/node_modules/claude-native/claude-native-binding.node
Ví dụ đầu ra:
/Users/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/enigo-0.2.1/src/macos/macos_impl.rs- Có thể xác nhận theo cách tương tự rằng Claude dành cho Windows cũng đang dùng enigo
enigo có các điểm sau:
- Hỗ trợ nhiều nền tảng như Windows, macOS, BSD, Linux (wayland, X11, libei)
- Được viết bằng Rust, nên có an toàn bộ nhớ và hiệu năng nhanh
- Không cần quyền root
- Được tải xuống hơn 300.000 lần trên crates.io và đạt hơn 1200 sao trên GitHub
- Mô phỏng nhập liệu là lĩnh vực khá khó vì sự khác biệt đầu vào giữa các hệ điều hành và tài liệu tham chiếu còn hạn chế
- Thực chất là thư viện Rust gần như duy nhất hiện có có mô phỏng nhập liệu đa nền tảng
Mã nguồn mở và cấu trúc bồi hoàn
enigo được phát hành theo giấy phép MIT, nên ai cũng có thể dùng miễn phí. Không nhận được bất kỳ khoản bồi hoàn tiền tệ trực tiếp nào từ doanh nghiệp hay người dùng. Đổi lại, nhận lại là sự nhận diện trong cộng đồng như số sao trên GitHub và số lượt tải trên crates.io.
Ứng dụng Electron, và nghịch lý không có Linux
Claude Desktop là sản phẩm dựa trên Electron, nhưng chính thức chỉ hỗ trợ macOS và Windows. Dù lợi thế lớn của Electron là khả năng đa nền tảng, Claude Desktop vẫn không có bản Linux. Trong cộng đồng người dùng, mọi người đã thử triển khai lại cho Linux bằng cách dùng mã Stub. (Ví dụ: claude-desktop-linux-flake v.v.)
Điều đáng chú ý là, mặc dù enigo thực tế có hỗ trợ Linux, vẫn phải dùng cách tiếp cận vòng vèo như vậy.
Kinh nghiệm ứng tuyển Anthropic và bị từ chối
Qua người quen, tôi biết Anthropic đang tuyển một vị trí phát triển tính năng mới chưa công bố trong đội phát triển Claude Desktop. Vì nhóm này dùng enigo rất cốt lõi, tôi nghĩ mình phù hợp và nộp đơn.
- Theo email phản hồi tự động, họ cho biết đang thiếu người để xem xét thêm hồ sơ ứng viên
- Sau vài tuần, tôi nhận email thông báo từ chối ứng tuyển
Nếu ứng tuyển thành công:
- Tôi muốn phát triển sâu hơn các tính năng tương tự như Computer Use trong Claude Desktop
- Đặc biệt, tôi có chuyên môn để đóng góp cho nỗ lực mang Claude Desktop sang Linux
- Có thể giúp cho enigo trưởng thành hơn và nâng cao độ hoàn thiện của dự án
Kết luận và cảm nghĩ
enigo được chọn dùng trong Anthropic Claude Desktop khiến tôi rất tự hào. Đồng thời, tôi cũng thấy mình được giải trí khi một công ty tận dụng 'tay chân' do tôi tạo ra lại từ chối trong quy trình tuyển dụng. Cuối cùng, tôi còn đùa rằng giờ đây mình đã an toàn trước Roko's Basilisk (kịch bản trừng phạt của AI siêu AI trong tương lai).
Chưa có bình luận nào.