
Cho AI điều khiển điện thoại Android: chốt duyệt nằm ở đâu
Shelly ghép Codex với chính chiếc Android, StareBrain chạy hai lớp duyệt độc lập. Cách dựng, các giới hạn, và chỗ duy nhất chốt duyệt được phép nằm.
Bạn muốn ChatGPT tự mở Spotify hay kiểm tra dung lượng trống trên máy, nhưng app ChatGPT không chạm được vào hệ thống Android. Khi nó chạm được rồi, câu hỏi khó hơn mới xuất hiện: ai bấm "đồng ý" cho một hành động xoá dữ liệu hay thanh toán? Hai bài kỹ thuật công bố ngày 28/10 chỉ ra đường đi thực tế, và chỗ duy nhất mà chốt duyệt được phép nằm.
Đường đi: ghép Codex với chính chiếc điện thoại
Tác giả Shelly mô tả cơ chế gọn gàng: "The ChatGPT app can't touch your phone. But its Codex mode can drive a machine you pair with it, and that machine can be the phone itself." Nói cách khác, bạn không tìm plugin — bạn đăng ký chiếc máy đó như một remote machine trong Codex.
Shelly là terminal Android mã nguồn mở (GPL-3.0), cài bằng APK từ GitHub Releases. Theo hướng dẫn: chạy codex trong Shelly để đăng nhập bằng device-code, dùng subscription ChatGPT chứ không phải API key; rồi shelly codex pair để in ra mã ghép đôi và nhập mã đó trong app ChatGPT. Tác giả nhấn mạnh "Everything here runs on the phone. No PC, no Termux, no root."
Tác vụ terminal chạy được ngay. Muốn điều khiển app khác (Spotify, Maps) thì cần thêm bản ClosePaw và Shizuku, và phải gọi tên công cụ trong prompt — nếu không, theo ghi chép của tác giả, Codex đi tìm plugin Spotify hoặc thử am start, thứ mà Knox của Samsung chặn.
Chốt duyệt phải nằm ngoài tầm với của model
Đây là phần đáng chép lại cho bất kỳ agent nào bạn đang dựng. Thiết kế của Shelly: "Only the phone owner can approve: the notification button (with the device unlocked), or approve typed in Shelly's own chat. ChatGPT can't approve." Ghi một file "approved" từ shell cũng vô hiệu, vì nonce một lần chỉ tồn tại trong bộ nhớ tiến trình của Shelly.
Câu kết luận của tác giả nên treo trong mọi design doc: "Prompt rules like 'never approve yourself' aren't a security boundary. The approval has to live somewhere the model can't reach."
Một lớp duyệt là không đủ
Bài của StareBrain đi tiếp một bước: giả sử đã có chốt duyệt, thì cái gì kích hoạt nó? Họ chạy hai kiểm tra độc lập trước mọi hành động rủi ro — cờ requires_confirmation do chính LLM trả về, và một keyword guard phía client chạy bất kể LLM nói gì.
Lý do họ đưa ra: "The keyword guard is dumb by design. It doesn't understand the action — it just scans the button label or action text for known risky patterns. It can't be confused by context. It doesn't hallucinate." Danh sách từ khoá của họ gồm những mẫu như send, pay, transfer, delete, uninstall, checkout, cancel subscription. Điều kiện kích hoạt là OR: chỉ cần một trong hai lớp báo động là hộp xác nhận hiện ra.
Chi tiết đáng học nhất là trường confirmedBy ghi lại lớp nào đã bắt được: nếu keyword guard liên tục bắt những ca mà LLM bỏ sót, đó là tín hiệu prompt phân loại đang hỏng có hệ thống.
Giới hạn nên biết trước khi tin vào nó
Tác giả Shelly trung thực về phạm vi: kiểm chứng end-to-end trên đúng một thiết bị (N=1), máy phát triển là Galaxy Z Fold6, các máy khác chưa xác minh. Hai lỗi vận hành đã được ghi nhận: Codex bỏ cuộc với lệnh im lặng — nếu một lệnh không in gì trong khoảng 10 giây, nó có xu hướng kết thúc lượt; và các tác vụ dài nhiều bước (ví dụ thêm 10 bài hát lần lượt) chạy không ổn định. Mục tiêu ngắn, cụ thể là vùng an toàn.
Nếu bạn định thử: bắt đầu bằng tác vụ terminal thuần, chưa cần ClosePaw, và đo xem lớp nào trong hai lớp duyệt đang bắt việc nhiều hơn trước khi mở quyền cho app thật sự chạm vào tin nhắn hay thanh toán.
Không spam, hủy đăng ký bất kỳ lúc nào.
Bài viết liên quan

MCP ngốn context: cắt từ 15 tool xuống 4, mô tả giảm 88%
26 thg 10, 2026
Agent AI nằm chờ vẫn tốn tiền: Google tính lại khoản đó
23 thg 10, 2026