Muốn dùng ChatGPT Codex tự động hóa những việc code lặp đi lặp lại, bạn có ba “cửa”: lệnh codex exec để chạy Codex không tương tác trong script, cron hay CI; Codex GitHub Action và @codex review để gắn Codex vào quy trình pull request; và Scheduled tasks trong ứng dụng desktop để giao việc theo lịch. Bài này chỉ cách chọn cửa nào cho việc nào, kèm lệnh mẫu và quy trình an toàn theo tài liệu OpenAI tháng 9/2026.
TL;DR
codex exec "<task>"chạy Codex một lần rồi thoát, không mở giao diện; theo tài liệu OpenAI, mặc định nó chạy trong sandbox read-only.- Tiến trình đi ra stderr, chỉ câu trả lời cuối ra stdout, nên pipe sang lệnh khác hay ghi file rất gọn. Muốn dữ liệu máy đọc được thì dùng
--json(JSON Lines) hoặc--output-schema. - Cờ
--full-autođã bị đánh dấu deprecated; script mới nên ghi rõ--sandbox workspace-writekhi cần cho Codex sửa file. - Trong GitHub Actions, dùng
openai/codex-action@v1và không đặtOPENAI_API_KEY/CODEX_API_KEYở cấp job — OpenAI cảnh báo script build/test trong cùng job có thể đọc được key. - Comment
@codex reviewtrên PR để Codex review; bật “Automatic reviews” thì mọi PR mới đều được review, và Codex chỉ gắn cờ lỗi mức P0/P1. - Scheduled tasks (trước gọi là Automations) chạy theo ngày, tuần, RRULE hoặc vòng lặp theo phút; việc cần file local đòi hỏi máy bật và app đang mở.
Codex tự động hóa được những loại task code nào?
Codex hợp nhất với việc có đầu vào rõ, đầu ra kiểm tra được và lặp lại đều đặn — kiểu “mỗi tuần mình lại làm đúng việc này”. Trang Non-interactive mode của OpenAI liệt kê bốn tình huống nên dùng codex exec: chạy trong pipeline (CI, kiểm tra trước khi merge, job theo lịch), tạo output để pipe sang công cụ khác (release notes, bản tóm tắt), nối vào chuỗi lệnh CLI, và chạy với cấu hình sandbox/approval đặt sẵn.
Đem vào bối cảnh một team dev nhỏ ở Việt Nam — thường 2 đến 5 người, không có DevOps riêng, một người kiêm luôn review — những việc “ăn” thời gian mà ít ai muốn làm nhất lại chính là thứ Codex làm tốt: viết changelog trước mỗi lần deploy, đọc log lỗi đêm qua để tìm nguyên nhân, tóm tắt vì sao test đỏ, review PR ở mức phát hiện lỗi nghiêm trọng, cập nhật tài liệu sau khi đổi API. Không việc nào trong số này cần quyết định kiến trúc, nhưng cộng lại có thể tốn vài giờ mỗi tuần.
Ngược lại, những việc cần phán đoán sản phẩm, đụng dữ liệu khách hàng thật hay deploy lên production thì nên giữ ở chế độ chỉ đọc hoặc để người duyệt. Tự động hóa việc lặp lại, không tự động hóa trách nhiệm.
Nên dùng codex exec, GitHub Action hay Scheduled tasks?
Chọn theo “ai kích hoạt”: bạn hoặc script kích hoạt thì dùng codex exec; sự kiện trên GitHub kích hoạt thì dùng Action hoặc @codex review; đồng hồ kích hoạt thì dùng Scheduled tasks. Bảng dưới tổng hợp từ các trang docs tương ứng của OpenAI:
| Cửa tự động hóa | Kích hoạt bởi | Chạy ở đâu | Hợp với việc | Lưu ý chính |
|---|---|---|---|---|
codex exec (CLI) |
Script, Makefile, cron, bước CI | Máy bạn hoặc runner CI | Changelog, triage log, tóm tắt test, sửa lỗi nhỏ | Mặc định read-only; phải ở trong repo Git |
| Codex GitHub Action | Workflow GitHub (push, PR, CI fail) | GitHub runner | Review tự động, autofix khi build fail | Tách job chạy Codex và job mở PR |
@codex review |
Comment trên PR hoặc tự động cho PR mới | Codex cloud | Soát lỗi nghiêm trọng trước merge | Chỉ gắn cờ P0/P1; luật riêng ghi trong AGENTS.md |
| Scheduled tasks (app) | Lịch ngày/tuần/RRULE/phút | Máy đang mở app (checkout local hoặc worktree) | Bản tin sáng, review cuối tuần, giám sát định kỳ | Cần file local thì máy phải bật |
| Codex SDK | Code của bạn | Ứng dụng/dịch vụ riêng | Nhúng Codex vào tool nội bộ | Gói @openai/codex-sdk |
Với phần lớn người mới, thứ tự hợp lý là: làm quen codex exec trên máy trước, khi đã tin kết quả thì đưa lên GitHub Action, cuối cùng mới dựng Scheduled tasks cho các việc định kỳ.
Cú pháp codex exec cơ bản và cách lấy kết quả ra sao?
Truyền task dạng chuỗi; Codex chạy xong in câu trả lời cuối ra stdout để bạn ghi file hoặc chuyển sang lệnh tiếp theo. Ba mẫu dùng nhiều nhất:
codex exec "tóm tắt cấu trúc repo và liệt kê 5 vùng rủi ro nhất"
codex exec "viết release notes cho 10 commit gần nhất" | tee release-notes.md
npm test 2>&1 | codex exec "tóm tắt các test lỗi và đề xuất bản vá nhỏ nhất"
Ở mẫu thứ ba, khi bạn vừa pipe dữ liệu vào vừa viết prompt, Codex coi prompt là chỉ thị còn nội dung pipe là ngữ cảnh. Nếu muốn cả prompt đến từ file (tiện khi prompt dài và cần quản lý bằng Git), dùng dấu gạch ngang làm sentinel: cat prompt.txt | codex exec -.
Vài cờ nên thuộc lòng, đều có trong trang Non-interactive mode:
-o/--output-last-message <đường dẫn>: ghi câu trả lời cuối ra file.--ephemeral: không lưu file phiên xuống đĩa — hợp cho runner CI dùng một lần.--skip-git-repo-check: cho chạy ngoài repo Git. OpenAI yêu cầu mặc định phải ở trong repo Git để tránh thay đổi phá hủy, nên chỉ bỏ qua khi chắc chắn thư mục an toàn.codex exec resume --last "..."hoặccodex exec resume <SESSION_ID>: nối tiếp phiên trước, hữu ích cho pipeline hai giai đoạn (giai đoạn 1 tìm lỗi, giai đoạn 2 sửa).
Làm sao để output của Codex nối được vào công cụ khác?
Dùng --json để nhận luồng sự kiện JSON Lines, hoặc --output-schema để ép câu trả lời cuối đúng theo JSON Schema bạn định nghĩa. Đây là điểm biến Codex từ “trợ lý chat” thành một mắt xích trong workflow.
Với --json, mỗi dòng stdout là một sự kiện; tài liệu nêu các loại thread.started, turn.started, turn.completed, turn.failed, item.* và error. Script của bạn có thể lọc sự kiện turn.failed để báo lỗi, hoặc đọc item.* để biết Codex vừa chạy lệnh nào, sửa file nào.
Còn khi bước sau cần dữ liệu cấu trúc ổn định — ví dụ một workflow n8n đọc trường risk_level để quyết định có gửi cảnh báo Telegram hay không — hãy khai schema:
codex exec "Đánh giá rủi ro của thay đổi trong nhánh này" --output-schema ./risk-schema.json -o ./risk.json
Cách này hợp với người đang làm tự động hóa bằng n8n hay Make: Codex xử lý phần “hiểu code”, còn n8n lo phần gửi thông báo, ghi Google Sheets, tạo task. Nếu bạn đã quen nối AI vào n8n, bài tích hợp Claude API vào n8n có cách parse JSON và bắt lỗi áp dụng tương tự.
Sandbox và approval nên đặt thế nào khi chạy tự động?
Nguyên tắc: cấp ít quyền nhất mà việc vẫn chạy được — đọc và tóm tắt thì read-only, cần sửa file thì workspace-write, còn danger-full-access chỉ dùng trong container hoặc runner cô lập.
Trang Agent approvals & security của OpenAI mô tả ba chế độ sandbox (read-only, workspace-write, danger-full-access) và các chính sách approval: on-request hỏi khi cần, never tắt mọi lời hỏi. Chính sách untrusted cũ đã bị khai tử. Preset khuyến nghị cho phiên tương tác là --sandbox workspace-write --ask-for-approval on-request; nhưng trong CI không có ai bấm duyệt, nên thường phải dùng never — và chính vì vậy sandbox càng phải chặt.
Một điểm dễ nhầm: codex exec mặc định read-only, trong khi phiên tương tác trong thư mục có Git mặc định là workspace-write. Đừng giả định hai chế độ giống nhau; hãy luôn ghi cờ --sandbox rõ ràng trong script để người đọc sau biết Codex được làm gì. Chi tiết cấu hình config.toml, mạng và nhãn lệnh nguy hiểm mình đã viết riêng ở bài Codex Security.
AGENTS.md giúp tự động hóa ổn định hơn như thế nào?
AGENTS.md là file chỉ dẫn mà Codex đọc trước khi làm việc, nên viết một lần là mọi lần chạy tự động sau đều theo đúng luật dự án. Khi không có người ngồi sửa prompt, đây là thứ quyết định chất lượng đầu ra.
Theo tài liệu AGENTS.md, Codex đọc theo lớp: file toàn cục trong ~/.codex/ (AGENTS.override.md rồi AGENTS.md), sau đó từng thư mục từ gốc repo xuống thư mục hiện tại; file càng gần thư mục đang làm việc càng được ưu tiên. Dung lượng đọc mặc định tối đa 32 KiB (tham số project_doc_max_bytes), nên hãy viết gọn.
Nội dung nên có cho mục đích tự động hóa:
- Lệnh test, lint, build chuẩn của dự án — để Codex tự kiểm trước khi báo xong.
- Thư mục và file cấm đụng (cấu hình bí mật, migration đã chạy, thư mục vendor).
- Quy ước commit message và đặt tên nhánh.
- Mục
## Code Review Rules— tài liệu tích hợp GitHub nói Codex dùng mục này khi review PR, ví dụ “luôn gắn cờ truy vấn SQL nối chuỗi”.
Với team Việt, một mẹo nhỏ: ghi rõ ngôn ngữ mong muốn cho comment và mô tả PR (tiếng Việt hay tiếng Anh) ngay trong AGENTS.md, tránh việc mỗi lần chạy ra một kiểu.
Tự động hóa trong GitHub: review PR và autofix khi CI đỏ
Có hai cách gắn Codex vào GitHub: comment @codex review (hoặc bật review tự động) để soát PR, và dùng openai/codex-action@v1 trong workflow để chạy Codex như một bước CI.
Với review, bạn comment @codex review trên PR; Codex thả biểu tượng 👀 rồi đăng review. Bật “Automatic reviews” trong cài đặt Codex thì mọi PR mới đều được review. Theo docs, Codex chỉ gắn cờ vấn đề mức P0 và P1 — tức là nó không thay reviewer người ở phần style hay kiến trúc, mà đóng vai lưới lọc lỗi nghiêm trọng.
Với Action, cấu hình tối thiểu trông như sau (theo trang GitHub Action của OpenAI):
steps:
- name: Run Codex
id: run_codex
uses: openai/codex-action@v1
with:
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
prompt-file: .github/codex/prompts/review.md
output-file: codex-output.md
Action còn nhận các input như prompt, sandbox, model, effort, safety-strategy (mặc định drop-sudo), allow-users, và trả output final-message để step sau dùng.
Mẫu autofix khi CI thất bại được OpenAI mô tả thành sáu bước; điểm cốt lõi là tách quyền. Job chạy Codex chỉ có quyền đọc repo; job áp patch và mở PR có quyền ghi nhưng không nhận API key. Lý do: build script, test, hook của dependency hay một action bị chiếm quyền trong cùng job đều có thể đọc biến môi trường. Ngoài GitHub, tài liệu khuyên chỉ đặt key inline cho đúng lệnh cần nó: CODEX_API_KEY=<api-key> codex exec --json "triage các bug report đang mở".
Scheduled tasks trong ứng dụng Codex hoạt động ra sao?
Scheduled tasks cho bạn giao một prompt chạy lặp theo lịch — hằng ngày, hằng tuần, theo quy tắc RRULE tùy chỉnh, hoặc vòng lặp tính theo phút để giám sát — và gom kết quả vào mục Scheduled như một hộp thư. Tính năng này từng được gọi là Automations (tên này vẫn xuất hiện trong nhiều bài viết bên ngoài, như StartupHub.ai tháng 4/2026).
Những gì tài liệu nói rõ: với dự án Git, task chạy trong checkout local hoặc trong một worktree riêng để thay đổi không lẫn vào việc bạn đang làm dở; có ba mức quyền read-only, workspace-write và full access (docs cảnh báo full access rủi ro cao); và nếu task cần file local thì phải giữ máy bật, app đang chạy. Điều này quan trọng với người dùng laptop ở Việt Nam hay gập máy khi rời bàn — task 7 giờ sáng sẽ không chạy nếu máy đang ngủ.
Ví dụ các task hợp lý: 8 giờ sáng thứ Hai tổng hợp PR mở quá 3 ngày; 17 giờ thứ Sáu viết bản tóm tắt thay đổi trong tuần cho sếp; mỗi 30 phút kiểm file log staging và chỉ báo khi có lỗi mới. Tất cả đều nên bắt đầu ở read-only.
Quy trình 6 bước để giao việc lặp lại cho Codex an toàn
Tự động hóa tốt là dựng sẵn đường lùi trước khi cho chạy. Quy trình dưới đây ghép từ khuyến nghị trong docs non-interactive, approvals và AGENTS.md:
- Chọn một việc nhỏ, lặp lại, kiểm tra được. Ví dụ sinh changelog — sai thì thấy ngay, không gây hại.
- Làm sạch repo Git.
git statusphải sạch, làm trên nhánh riêng; Codex yêu cầu repo Git chính là để bạn rollback được. - Viết AGENTS.md. Ghi lệnh test/lint, vùng cấm, quy ước commit và ngôn ngữ đầu ra.
- Chạy thử bằng
codex execở read-only vài lần trên máy, đọc kỹ kết quả, chỉnh prompt cho tới khi ổn định. Lưu prompt thành file trong repo. - Thêm output có cấu trúc (
--jsonhoặc--output-schema) nếu bước sau là máy đọc; chỉ nâng lên--sandbox workspace-writekhi việc thật sự cần sửa file. - Đưa lên CI hoặc Scheduled tasks, giữ khâu review người. Mọi thay đổi code đi qua PR; không auto-commit lên nhánh production. Bài hướng dẫn CI của Developers Digest (6/2026) cũng cảnh báo điều này vì nguy cơ prompt injection từ nội dung repo.
Dùng Codex tự động hóa có tốn thêm tiền không?
Nếu đăng nhập bằng tài khoản ChatGPT, việc chạy Codex trừ vào hạn mức gói của bạn; nếu dùng API key trong CI, bạn trả theo giá token của API. Trang pricing của Codex cho biết mọi gói ChatGPT đều có Codex — Free, Go (8 USD/tháng), Plus (20 USD/tháng), Pro (từ 100 USD/tháng), Business (20 USD/người/tháng, tối thiểu 2 người, trả năm) — và có thể mua thêm credit khi vượt hạn mức. Lưu ý docs ghi ChatGPT Work và Codex dùng chung hạn mức.
Với tự động hóa, chi phí dễ đội ở hai chỗ: vòng lặp Scheduled tasks tính theo phút, và review tự động trên repo có nhiều PR. Hãy bắt đầu với tần suất thấp rồi tăng dần. So sánh chi tiết từng gói có ở bài giá ChatGPT Codex.
Câu hỏi thường gặp
codex exec khác gì chạy codex bình thường?
codex mở giao diện tương tác để bạn trao đổi qua lại; codex exec nhận một task, chạy tới khi xong rồi thoát, không mở giao diện — hợp cho script, cron và CI.
codex exec có tự sửa file của tôi không?
Mặc định không, vì nó chạy trong sandbox read-only. Chỉ khi bạn thêm --sandbox workspace-write (hoặc full access trong môi trường cô lập) thì Codex mới được ghi file.
Cờ –full-auto còn dùng được không?
Vẫn chạy nhưng đã deprecated và in cảnh báo. OpenAI khuyên dùng --sandbox workspace-write rõ ràng trong script mới.
Có bắt buộc chạy trong repo Git không?
Mặc định có, để tránh thay đổi phá hủy. Có thể bỏ qua bằng --skip-git-repo-check, nhưng chỉ nên làm khi thư mục không chứa dữ liệu quan trọng.
Scheduled tasks có chạy khi tôi tắt máy không?
Task cần file local thì không — tài liệu yêu cầu máy bật và app đang chạy. Nếu cần chạy độc lập với máy, hãy dùng cron trên server hoặc GitHub Actions gọi codex exec.
Codex review có thay được người review không?
Không. Codex chỉ gắn cờ lỗi mức P0/P1, nên nó là lưới lọc lỗi nghiêm trọng; phần thiết kế, style và nghiệp vụ vẫn cần người.
Nên chọn Codex hay Claude Code để tự động hóa?
Cả hai đều có chế độ chạy không tương tác và tích hợp CI. Nếu team đã dùng ChatGPT thì Codex tiện hơn về tài khoản; so sánh chi tiết ở bài Codex vs Claude Code.
Kết: bắt đầu từ một việc nhỏ, lặp lại nhiều
Đừng cố tự động hóa cả quy trình ngay trong tuần đầu. Chọn một việc bạn làm hằng tuần, gói nó thành một lệnh codex exec read-only, đọc kết quả vài lần cho tới khi tin, rồi mới đưa lên GitHub Action hoặc Scheduled tasks. Mỗi bước nâng quyền đều nên đi kèm một đường lùi bằng Git và một khâu review người.
Nếu bạn mới làm quen, đọc trước ChatGPT Codex là gì và cách cài Codex trên Windows; chưa biết code thì có Codex cho người không biết code. Còn nếu bạn đang dùng hệ Anthropic, hướng dẫn Claude Code từ A–Z sẽ giúp bạn so sánh cách hai công cụ xử lý cùng loại việc.
Nguồn tham khảo
- OpenAI — Non-interactive mode (codex exec) — mặc định read-only, cờ –json, –output-schema, -o, –ephemeral, resume, –full-auto deprecated, mẫu autofix CI 6 bước, cảnh báo API key cấp job (truy cập 29/09/2026).
- OpenAI — Agent approvals & security — ba chế độ sandbox, chính sách approval on-request/never, untrusted đã khai tử.
- OpenAI — Codex GitHub Action — cấu hình openai/codex-action@v1, các input và output final-message.
- OpenAI — Codex trong GitHub — @codex review, Automatic reviews, chỉ gắn cờ P0/P1, mục Code Review Rules trong AGENTS.md.
- OpenAI — Scheduled tasks — lịch ngày/tuần/RRULE/phút, worktree, mục Scheduled, yêu cầu máy bật khi cần file local.
- OpenAI — AGENTS.md — thứ tự đọc theo lớp, giới hạn 32 KiB mặc định.
- OpenAI — Codex pricing — các gói ChatGPT có Codex, dùng chung hạn mức với ChatGPT Work, tính phí API key theo token.
- Developers Digest — Codex Exec in CI — khuyến nghị –ephemeral trong CI, cảnh báo auto-commit lên nhánh production (6/2026).
- StartupHub.ai — OpenAI Codex Gets Automation — bối cảnh ra mắt tính năng Automations (4/2026).
