Chuỗi: Codex Power 10 · Phần 4
Năng suất & công cụ dev
Sandbox và approvals: cho agent quyền vừa đủ
Sandbox và approvals giúp bạn kiểm soát vùng đọc/ghi, quyền mạng, thao tác nguy hiểm và những lúc Codex cần dừng để xin quyết định.
2026-06-299 phút đọcVI
- 1.Codex CLI và App: bắt đầu đúng trong 30 phút
- 2.Prompt contract: Goal, Context, Constraints, Done-when
- 3.AGENTS.md: biến chuẩn làm việc thành trí nhớ bền
- 4.Sandbox và approvals: cho agent quyền vừa đủ(bài này)
- 5.Worktree và khung rà soát: làm song song nhưng vẫn kiểm soát
- 6.Skills và plugins: đóng gói quy trình lặp lại
- 7.MCP và connectors: đưa dữ liệu đúng vào phiên làm việc
- 8.Browser, Computer Use và imagegen: khi agent cần nhìn
- 9.Automations: để Codex quay lại đúng lúc
- 10.Subagents, codex exec, SDK và GitHub Action
English title: Sandbox and Approvals: Give Agents Enough Permission
Cập nhật: 29/06/2026. Đây là bài 4 trong chuỗi Codex Power 10 - 10 bài hướng dẫn dùng các năng lực mạnh của Codex theo cách có kiểm soát.
Bạn sẽ biết phân biệt việc nào nên cho Codex tự làm, việc nào cần cổng phê duyệt, và cách đọc yêu cầu quyền mà không bị hoảng.

Bảng Nhớ Nhanh
| Khi cần | Dùng cái gì | Lệnh hoặc thao tác |
|---|---|---|
| Đọc không sửa | read-only | Dùng cho review, phân tích, học code |
| Sửa trong repo | workspace-write | Dùng cho task local thông thường |
| Quyền rộng | full access | Chỉ dùng trong môi trường kiểm soát |
| Xin phép | approval | Dừng ở lệnh rủi ro hoặc ngoài biên |
| Tự rà phê duyệt | auto-review | Reviewer agent xem yêu cầu leo quyền |
Dùng bài này khi: Codex cần chạy lệnh, sửa file, gọi mạng hoặc thao tác có thể ảnh hưởng máy của bạn.
Không dùng bài này khi: bạn chỉ đang hỏi giải thích đọc-only và không cần chạy gì.
Xong bài khi: bạn biết sandbox đang cho phép gì, approval đang chặn gì, và vì sao một lệnh cần quyền cao hơn.
Ghi nhớ: Bài thực hành này không cố làm bạn nhớ hết tính năng. Nó giúp bạn dựng một vòng làm việc có mục tiêu, có biên và có bằng chứng.
Trước Khi Bắt Đầu
- Biết task cần đọc, ghi, mạng hay GUI.
- Kiểm tra repo có thay đổi chưa commit trước khi cho agent sửa.
- Chuẩn bị câu hỏi approval: lệnh gì, vì sao cần, có đường quay lại không.
Cẩn trọng: Nếu môi trường hoặc quyền đang mơ hồ, hãy dừng một nhịp để kiểm tra. Agent chạy nhanh trong bối cảnh sai sẽ tạo ra diff rất thuyết phục nhưng khó dùng.
Ý Tưởng Trong 3 Phút
Agent mạnh khi có quyền thao tác. Nhưng quyền thao tác cũng là nguồn rủi ro: ghi nhầm file, gọi mạng ngoài, cài dependency, hoặc chạy lệnh phá trạng thái. Sandbox biến quyền lực đó thành biên làm việc có quan sát.
Sandbox không phải là phanh tay. Nó là làn đường. Approval không phải nghi ngờ Codex; nó là cách đưa con người vào đúng điểm quyết định.
- Vùng đọc/ghi quyết định Codex được thấy và được sửa gì. Với task nhỏ, giới hạn hẹp thường tốt hơn.
- Quyền mạng nên được mở có chủ đích, nhất là khi lệnh có thể gọi package registry, dịch vụ đám mây hoặc API bên ngoài.
- Approval tốt phải cụ thể: lệnh gì, vì sao cần, rủi ro nào được chấp nhận, có đường lui không.
- Khi Codex xin quyền, hãy xem đây là tín hiệu kiến trúc của phiên: tác vụ đã đi ra ngoài vùng an toàn ban đầu.

Công Thức 1: Chạy Quy Trình Chính
Khi dùng: Codex cần chạy lệnh, sửa file, gọi mạng hoặc thao tác có thể ảnh hưởng máy của bạn.
- Bắt đầu trong sandbox hẹp: chỉ đọc/sửa phần repo liên quan.
- Khi cần mạng hoặc ghi ngoài workspace, yêu cầu Codex giải thích ngắn lý do.
- Không cấp quyền cho lệnh phá trạng thái nếu chưa có backup hoặc đường quay lại.
- Sau khi cấp quyền, yêu cầu Codex báo rõ lệnh đã chạy và kết quả quan trọng.
Công Thức 2: Đóng Cổng Kiểm Chứng
| Cổng | Cách kiểm |
|---|---|
| Quyền | Sandbox khớp đúng mức cần thiết. |
| Lệnh | Approval nêu rõ command và lý do. |
| Dữ liệu | Không vô tình gửi secrets hoặc file riêng tư ra ngoài. |
| Đường lui | Có thể revert diff hoặc dừng trước khi deploy. |
Một phiên tốt không cần lúc nào cũng dài. Điều cần giữ là nhịp: giao việc rõ, để Codex đọc đúng, cho nó thực hiện trong phạm vi nhỏ, rồi bắt nó tự chứng minh kết quả.
Prompt Mẫu
Goal: Chạy kiểm tra cần quyền ghi trong workspace.
Context: Repo hiện tại, package.json và log lỗi gần nhất.
Constraints: Không gọi mạng nếu chưa cần, không xóa file, không deploy.
Done-when: Nêu lệnh cần chạy, vì sao cần quyền, kết quả và cách rollback nếu có diff.Ví Dụ Tối Thiểu: Cấu hình quyền local tham khảo
sandbox_mode = "workspace-write"
approval_policy = "on-request"
approvals_reviewer = "auto_review"Khi Có Lỗi
| Triệu chứng | Nguyên nhân hay gặp | Cách sửa |
|---|---|---|
| Approval xuất hiện liên tục | Sandbox hẹp hơn nhu cầu task | Mở đúng quyền cần thiết hoặc chia task read-only/write. |
| Không dám approve | Lệnh và rủi ro chưa rõ | Bắt Codex nêu command, lý do, phạm vi ghi, rollback. |
| Agent cần mạng | Cài package hoặc gọi docs/API | Chỉ approve khi nguồn và mục tiêu rõ. |
Nếu gặp một trong các lỗi trên, cách sửa thường không phải là viết prompt dài hơn. Cách sửa là thêm đúng mảnh còn thiếu: một đường dẫn ngữ cảnh, một ràng buộc phạm vi, hoặc một tiêu chí nghiệm thu.
Quy Trình Trong Đội
Đội nên có mẫu phân loại quyền: việc đọc/sửa nội bộ, việc cần mạng, việc chạm secrets, việc deploy. Mỗi nhóm có tiêu chí phê duyệt riêng.
Với đội mới bắt đầu, đừng đưa Codex vào khâu rủi ro nhất ngay. Hãy bắt đầu ở nơi có phản hồi nhanh: viết test, tạo bản nháp, rà link, chuẩn hóa tài liệu, tạo ảnh minh họa, hoặc chuẩn bị diff nhỏ để con người rà soát.
Bài Tập 30 Phút
- Chọn một repo, bài viết hoặc màn hình thật để thực hành.
- Viết một câu mục tiêu cho bài 4, tránh yêu cầu chung chung.
- Liệt kê đúng ba nguồn context mà Codex nên đọc trước.
- Ghi hai ràng buộc không được vượt.
- Viết Done-when bằng bằng chứng có thể kiểm tra.
- Chạy prompt trong Codex CLI hoặc Codex App.
- Dừng sau plan đầu tiên và xem Codex có hiểu đúng không.
- Cho Codex làm phần nhỏ nhất có thể.
- Đóng gate: Quyền, Lệnh, Dữ liệu, Đường lui.
- Ghi lại một điều nên đưa vào prompt hoặc AGENTS.md cho lần sau.
10 Điều Cần Nhớ
- Sandbox là làn đường, không phải vật trang trí.
- Approval đưa người vào đúng điểm rủi ro.
- Quyền hẹp giúp diff dễ tin hơn.
- Quyền mạng cần lý do cụ thể.
- Full access chỉ hợp lý trong môi trường kiểm soát.
- Lệnh phá trạng thái cần đường quay lại.
- Auto-review đổi người phê duyệt, không đổi biên sandbox.
- Approval tốt nêu command, lý do và phạm vi ghi.
- Từ chối mọi approval cũng làm mất kiểm chứng thật.
- Quyền vừa đủ là nền cho tốc độ bền.
Nguồn tham khảo chính: OpenAI Codex documentation. Bài tiếp: Worktree và khung rà soát: làm song song nhưng vẫn kiểm soát.
