Đánh giá OpenAI Codex CLI: lập trình tự động (2026)
Codex CLI xứng đáng cho các team dùng OpenAI cần một terminal agent với hệ thống kiểm soát an toàn bài bản. Điểm yếu là khả năng phục hồi khi có sự cố.
Bởi Ethan
2.310 từ · 12 phút đọc
Codex CLI đáng để thử nếu stack của bạn chạy trên OpenAI và bạn cần một terminal agent có kiểm soát an toàn rõ ràng, nhiều lớp. Nếu cần linh hoạt về model — hoặc cách xử lý ổn thỏa khi một lần chạy tự động đi sai hướng — hãy dùng Aider hoặc Claude Code.
Công cụ này dành cho ai
Backend và platform engineer sống trong terminal: máy dev từ xa, headless Linux server, CI pipeline. Nếu bạn cần giao diện diff trực quan, plugin IDE, hoặc muốn dùng model ngoài hệ sinh thái OpenAI, công cụ này sẽ không phù hợp.
Codex CLI là gì (và không phải là gì)
OpenAI Codex CLI — được publish với tên @openai/codex trên npm vào tháng 4/2025 — là terminal coding agent mã nguồn mở theo giấy phép Apache-2.0. Nó có thể đọc và chỉnh sửa file code, đổi tên file qua lệnh shell, thực thi lệnh shell tùy ý, và tương tác với Git repository cục bộ. Tất cả chạy local, trực tiếp từ terminal của bạn.
Đây không phải là Codex API gốc mà OpenAI đã khai tử vào năm 2023. Cũng không phải tính năng Codex tích hợp trong ChatGPT Enterprise. Đây là công cụ độc lập bạn cài trên máy. Code của bạn không đi đâu ngoại trừ qua API call tới các model OpenAI với key của chính bạn.
Sự phân biệt này quan trọng vì “Codex” trong lịch sử OpenAI đã mang nhiều ý nghĩa khác nhau. CLI là phiên bản trẻ nhất và hướng tới developer nhiều nhất trong số đó.
Những gì chúng tôi đã thử nghiệm
@openai/codex v0.1.x (tháng 6/2026) trên macOS 15 và Ubuntu 24.04, kết nối OpenAI API với GPT-5.4 và GPT-5.4-mini. Workload thử nghiệm gồm: thêm unit test cho một module hiện có (~400 dòng), refactor nhiều file trong một TypeScript service (~3.000 dòng), và một CI task (chạy test suite, sửa tất cả lỗi, commit). Mỗi task được chạy ở Suggest mode trước, rồi Auto Edit, và CI task được lặp lại ở Full Auto.
Cài đặt và thiết lập
npm install -g @openai/codex
export OPENAI_API_KEY=sk-...
codex --help
CLI đọc OPENAI_API_KEY từ môi trường. Để cấu hình theo dự án, tạo .codex/config.json tại root repo — nó sẽ override ~/.codex/config.json toàn cục cho thư mục đó. Một project config tối giản:
{
"model": "gpt-5.4",
"sandbox": "workspace-write",
"ask_for_approval": "on-request"
}
Với cấu hình này, mọi lần chạy trong thư mục đó mặc định là Auto Edit mà không cần truyền flag.
Chạy lần đầu:
# Suggest mode — mặc định an toàn, không ghi file
codex "explain what this function does and what edge cases it misses"
# Auto Edit mode — ghi file, hỏi trước khi chạy bất cứ thứ gì
codex --sandbox workspace-write "refactor this module to use async/await throughout"
# Full Auto mode — ghi và chạy mà không hỏi
codex --sandbox workspace-write --ask-for-approval never "run all tests and fix failures"
Quy trình làm việc cốt lõi: ba chế độ
Mô hình an toàn của Codex CLI gồm hai lớp cấu hình độc lập — hiểu rõ sự khác biệt này trước khi chọn chế độ.
Lớp 1: sandbox (--sandbox). Định nghĩa giới hạn kỹ thuật cứng do hệ điều hành thực thi — những gì agent thực sự có thể làm.
| Chế độ | Quyền truy cập file | Mạng |
|---|---|---|
read-only | Chỉ đọc — không chỉnh sửa | Tắt |
workspace-write | Đọc và ghi trong thư mục hiện tại | Tắt |
danger-full-access | Không giới hạn filesystem | Không hạn chế |
read-only và workspace-write đều chặn network. danger-full-access gỡ bỏ hạn chế đó — agent có thể cài package, fetch nội dung từ xa, và gọi API bên ngoài. Với môi trường cần bảo mật — server dùng chung, CI — mặc định workspace-write là lựa chọn đúng. Với workflow local cần network, danger-full-access là opt-in có chủ đích.
Lớp 2: approval policy (--ask-for-approval). Kiểm soát khi nào agent dừng và hỏi trước khi hành động — lớp guardrail hành vi đặt trên sandbox.
| Giá trị | Hành vi |
|---|---|
untrusted | Hỏi trước bất kỳ lệnh nào không được tin cậy |
on-request | Dừng tại sandbox boundary — phù hợp cho session tương tác |
never | Chạy không ngắt quãng — phù hợp cho CI |
Hai lớp này kết hợp thành ba preset UX mà hầu hết người dùng tương tác trực tiếp:
| Chế độ | Ghi file? | Chạy lệnh? | Hỏi trước khi hành động? |
|---|---|---|---|
| Suggest | Không | Không | Luôn luôn |
| Auto Edit | Có | Không | Trước khi chạy lệnh |
| Full Auto | Có | Có | Không bao giờ |
Với công việc hàng ngày, Auto Edit là điểm khởi đầu phù hợp. Bạn giữ quyền kiểm soát với mọi thứ thực thi; Codex lo phần chỉnh sửa file. Full Auto dành cho CI hoặc task bạn đã validate trong lần chạy có sandbox.
Khi nhiều rule trùng khớp với một lệnh, rule hạn chế nhất thắng. forbidden thắng prompt, prompt thắng allow — không có chuyện leo thang quyền hạn ngoài ý muốn do rule chồng nhau.
Smart Approvals
Một tính năng ít được chú ý: Smart Approvals, bật mặc định. Khi Codex đưa lệnh lên để phê duyệt, nó đề xuất một prefix_rule — một pattern cho loại lệnh đó. Phê duyệt một lần, rule được lưu vào file rules cục bộ, và Codex sẽ không hỏi lại với lệnh tương tự trong các session tiếp theo.
Có một bug đã biết (GitHub issue #13175): prefix_rule matching thất bại với một số shell wrapper script. Nếu toolchain của bạn dùng executable được wrap, hãy kiểm tra fix đã ship chưa trước khi dựa vào approval-learning loop.
Tùy chọn model
Có ba model tính đến tháng 6/2026:
| Model | Phù hợp nhất cho |
|---|---|
| GPT-5.3-Codex | Model chuyên về code; mạnh hơn về code reasoning, giá thấp hơn GPT-5.4 |
| GPT-5.4 | Hiệu năng tốt cho hầu hết tác vụ coding |
| GPT-5.4-mini | Chạy tiết kiệm, CI khối lượng lớn, lặp nhanh |
Đặt model trong config hoặc mỗi lần chạy với --model gpt-5.4-mini. GPT-5.4 là lựa chọn thực tế cho hầu hết tác vụ coding — refactor, sửa test, sinh code theo function. GPT-5.4-mini đánh đổi độ sâu suy luận để giảm đáng kể chi phí; GPT-5.3-Codex là lựa chọn chuyên code của OpenAI với giá thấp hơn GPT-5.4 — đáng thử với task nặng về code khi reasoning chung ít quan trọng hơn.
Hiệu năng và chi phí
Codex CLI dùng credit-based pricing, tính theo triệu token qua tài khoản OpenAI API của bạn:
| Model | Input (credits/M tokens) | Output (credits/M tokens) |
|---|---|---|
| GPT-5.3-Codex | 43.75 | 350 |
| GPT-5.4 | 62.50 | 375 |
| GPT-5.4-mini | 18.75 | 113 |
GPT-5.4-mini rẻ hơn khoảng 2.3× so với GPT-5.3-Codex về input. Với các lần chạy autonomous dài đọc nhiều file trước khi ghi, chi phí input chiếm phần lớn — lựa chọn model ảnh hưởng đến hóa đơn nhiều hơn bạn nghĩ ban đầu.
Chưa có benchmark token per-task đáng tin tại thời điểm viết bài. Các con số so sánh hiệu quả token với Claude Code hay Aider xuất hiện trên Hacker News và DataCamp đầu năm 2026 nhưng không đứng vững khi kiểm chứng kỹ. Xem bảng giá như thông tin lập kế hoạch; chi phí thực phụ thuộc vào kích thước repo, phạm vi task, và số file mỗi lần chạy đụng tới.
Enterprise đã có OpenAI API credits thì không phải trả thêm SaaS markup — CLI dùng credits như mọi API call khác. Xem OpenAI API để biết các tùy chọn mua credits hiện tại.
So sánh
| Codex CLI | Claude Code | Aider | Cursor | |
|---|---|---|---|---|
| Giấy phép | Apache-2.0 | Proprietary | Apache-2.0 | Proprietary |
| Hỗ trợ model | Chỉ OpenAI | Chỉ Anthropic | Bất kỳ provider | Bất kỳ (qua API) |
| Mô hình sandbox | 2 trục tường minh | Approval-based | Single flag | GUI-based |
| Headless / server | Có | Có | Có | Không — cần VS Code |
| Correction giữa lần chạy | Yếu — re-prompt từ đầu | Mạnh — correction lặp | Trung bình — commit-by-commit | Mạnh |
| Mạng trong lần chạy | Tắt mặc định | Có thể cấu hình | Có thể cấu hình | Có thể cấu hình |
| Smart approval learning | Có (prefix rules) | Không | Không | N/A |
| Giá | Credits per token | Subscription ($20–$100+/tháng) | Miễn phí (chi phí API của bạn) | Subscription |
Một vài điểm đáng chú ý:
Kiến trúc sandbox là rõ ràng nhất trong bốn công cụ này. Hai trục cấu hình độc lập — cái gì được phép về mặt kỹ thuật và khi nào thì hỏi — cho bạn chính sách an toàn có độ biểu đạt cao hơn bất kỳ lựa chọn thay thế nào trong loại này. Với CI pipeline hoặc môi trường dev dùng chung mà ai đó phải định nghĩa chính xác những gì một agent tự động có thể làm, độ chi tiết đó đáng để thiết lập.
Cursor bị loại cho công việc headless. Nó cần VS Code. Nếu bạn trên remote server, dev box không có màn hình, hoặc bất kỳ thứ gì qua SSH, Cursor không phải lựa chọn. Codex CLI, Claude Code, và Aider đều hoạt động tốt không cần GUI.
Correction giữa chừng là điểm yếu rõ nhất của Codex CLI. Khi một lần chạy autonomous dài đi sai — và với task phức tạp, sớm muộn gì cũng vậy — không có cách phục hồi giữa session. Bạn re-prompt từ đầu. Claude Code xử lý mid-run correction tốt hơn; Aider cho bạn độ chi tiết commit-by-commit để lần chạy một phần luôn có thể phục hồi. BuiltIn hồi tháng 5/2026 mô tả: “càng xa khỏi điểm review cuối cùng của developer, càng khó phục hồi khi hướng đi lệch.”
Chỉ dùng OpenAI là ràng buộc, không phải lỗi. Nếu bạn muốn chạy DeepSeek cho task tiết kiệm chi phí và GPT-5.3-Codex cho architecture, hoặc muốn giữ quyền chuyển provider, Codex CLI không đáp ứng điều đó. Aider hỗ trợ mọi endpoint tương thích OpenAI, kể cả Ollama local. Codex CLI thì không, và không có dấu hiệu nào cho thấy điều đó sẽ thay đổi.
Hạn chế đã biết
Over-engineering trong các lần chạy autonomous dài. Task phức tạp — refactor lớn, chuỗi debug nhiều bước — có xu hướng drift. Không có cách correction trong session, rollback đồng nghĩa bỏ mọi thứ từ checkpoint an toàn cuối.
Network tắt mặc định. Cài package, fetch từ xa, và gọi API live đòi hỏi phải chuyển lên danger-full-access. Trong CI thường không sao — bạn preinstall dependencies. Trong session tương tác, đây là ma sát.
Bug prefix_rule của Smart Approvals. GitHub issue #13175 ghi lại lỗi matching với shell wrapper. Kiểm tra issue trước khi tin tưởng vào approval-learning system trên toolchain phức tạp.
Không có diff viewer tích hợp. Bạn chỉ có terminal output, không phải diff được render. Xem lại thay đổi trước khi chấp nhận đòi hỏi chạy git diff thủ công.
Chi phí không rõ ràng với repo lớn. Không có con số token per-task được xác nhận. Lần chạy đọc nhiều file tích lũy input token nhanh — lựa chọn model quan trọng hơn bề ngoài.
Kết luận
Codex CLI là terminal agent vững chắc cho team đang dùng OpenAI. Mô hình sandbox hai trục là kiến trúc an toàn rõ ràng nhất trong loại công cụ này — điểm khác biệt thực sự nếu bạn triển khai agent trong CI, trên cơ sở hạ tầng dùng chung, hoặc bất kỳ môi trường nào đòi hỏi kiểm soát chính xác những gì một process tự động có thể làm.
Các đánh đổi là thực tế và có chủ đích: lock-in model, phục hồi hạn chế khi có sự cố, không có network access nếu không leo thang quyền hạn tường minh. OpenAI đang tối ưu cho hành vi có thể dự đoán và kiểm toán. Các ràng buộc xuất phát từ lựa chọn đó.
Chọn Codex CLI nếu bạn ưu tiên OpenAI, chạy agent trong CI hoặc headless server, và mô hình sandbox control phù hợp với cách bạn nghĩ về agent safety. Credit-based pricing có lợi cho bạn nếu bạn đã có ngân sách OpenAI API.
Chọn Claude Code nếu bạn muốn mid-run correction tốt hơn, tích hợp MCP tool, hoặc đang dùng hợp đồng Anthropic. Xem Claude Max plans để biết tùy chọn subscription.
Chọn Aider nếu linh hoạt về model là không thể thiếu, hoặc bạn muốn mọi thay đổi AI thành một git commit rời, có thể kiểm toán.
Để xem toàn cảnh terminal agent, xem best AI coding CLI roundup. Để so sánh trực tiếp với Claude Code, Claude Code vs Codex đi sâu hơn về so sánh này.
Tham khảo
- OpenAI Codex CLI — GitHub: https://github.com/openai/codex
- OpenAI developer docs — sandboxing: https://developers.openai.com/codex/concepts/sandboxing
- OpenAI developer docs — agent approvals and security: https://developers.openai.com/codex/agent-approvals-security
- OpenAI developer docs — CLI reference: https://developers.openai.com/codex/cli/reference
- OpenAI developer docs — execution policy: https://developers.openai.com/codex/exec-policy
- OpenAI developer docs — pricing: https://developers.openai.com/codex/pricing
- TechCrunch — Codex CLI announcement (April 2025): https://techcrunch.com/2025/04/16/openai-debuts-codex-cli-an-open-source-coding-tool-for-terminals/
- BuiltIn — Claude Code vs Codex vs Cursor comparison (May 2026): https://builtin.com/articles/claude-code-codex-cursor-github-copilot-comparison