Chuỗi: Codex Power 10 · Phần 2
Năng suất & công cụ dev
Prompt contract: Goal, Context, Constraints, Done-when
Một khuôn prompt bốn phần giúp Codex hiểu mục tiêu, đọc đúng ngữ cảnh, giữ phạm vi và biết khi nào dừng.
2026-06-2910 phút đọcVI
- 1.Codex CLI và App: bắt đầu đúng trong 30 phút
- 2.Prompt contract: Goal, Context, Constraints, Done-when(bài này)
- 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 đủ
- 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: Prompt Contract: Goal, Context, Constraints, Done-when
Cập nhật: 29/06/2026. Đây là bài 2 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ẽ có một mẫu giao việc dùng lại được cho hầu hết nhiệm vụ với Codex, từ sửa bug đến viết bài.

Bảng Nhớ Nhanh
| Khi cần | Dùng cái gì | Lệnh hoặc thao tác |
|---|---|---|
| Nói kết quả | Goal | Hành vi hoặc tác động cần đạt |
| Chỉ nguồn đọc | Context | File, log, ảnh, tài liệu |
| Giữ biên | Constraints | Điều không được đổi |
| Định nghĩa xong | Done-when | Test, build, ảnh chụp, diff |
| Giảm đoán | Restate | Yêu cầu Codex nói lại hiểu biết |
Dùng bài này khi: task dễ bị hiểu nhầm, có nhiều file liên quan hoặc bạn muốn Codex tự kiểm chứng đầu ra.
Không dùng bài này khi: bạn chỉ cần hỏi nhanh một khái niệm không đụng file, không cần cổng nghiệm thu.
Xong bài khi: prompt có đủ Goal, Context, Constraints và Done-when, rồi Codex có thể lặp lại đúng ý bạ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
- Có một yêu cầu thật đủ nhỏ để làm trong một phiên.
- Biết ít nhất một file, màn hình, log hoặc lỗi liên quan.
- Biết thay đổi nào tuyệt đối không muốn Codex chạm vào.
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
Prompt yếu thường chỉ có mong muốn: 'làm giúp bạn trang này đẹp hơn'. Prompt mạnh giống một hợp đồng ngắn: mục tiêu là gì, ngữ cảnh nằm đâu, giới hạn nào không được vượt, và tiêu chí xong việc là gì.
Mỗi prompt tốt nên giảm khoảng đoán của agent. Không cần dài, nhưng phải khóa bốn điểm: đích đến, vật liệu, rào chắn và cổng nghiệm thu.
- Goal nói rõ kết quả kinh doanh hoặc kỹ thuật, không chỉ thao tác. 'Sửa lỗi đăng nhập' yếu hơn 'người dùng nhập email có khoảng trắng vẫn đăng nhập được'.
- Context chỉ ra nơi cần đọc: file, thư mục, log, ảnh hoặc tài liệu. Codex càng ít phải đoán, kết quả càng ổn định.
- Constraints giúp bảo vệ hệ thống: không đổi schema, không refactor ngoài phạm vi, không thêm dependency khi chưa có lý do.
- Done-when biến kỳ vọng thành cổng kiểm tra: test nào chạy, ảnh nào cần chụp, file nào phải được cập nhật.

Công Thức 1: Chạy Quy Trình Chính
Khi dùng: task dễ bị hiểu nhầm, có nhiều file liên quan hoặc bạn muốn Codex tự kiểm chứng đầu ra.
- Viết một câu Goal theo ngôn ngữ kết quả, không phải ngôn ngữ thao tác.
- Liệt kê Context bằng đường dẫn hoặc bằng chứng cụ thể.
- Nêu Constraints theo dạng điều Codex phải giữ, ví dụ 'không đổi API public'.
- Định nghĩa Done-when bằng kiểm chứng có thể chạy hoặc có thể quan sát.
Công Thức 2: Đóng Cổng Kiểm Chứng
| Cổng | Cách kiểm |
|---|---|
| Goal | Một câu mô tả kết quả, không chỉ thao tác. |
| Context | Đường dẫn hoặc bằng chứng cụ thể. |
| Constraints | Ranh giới đọc/ghi, API, dependency, style. |
| Done-when | Kiểm chứng có thể chạy hoặc quan sát. |
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: Sửa lỗi trang bài viết bị tràn ảnh trên mobile.
Context: Đọc components/content/Figure.tsx và một bài MDX có ảnh rộng.
Constraints: Không đổi bố cục toàn site, không thêm gói phụ thuộc, giữ ảnh có border radius 8px.
Done-when: Build pass, ảnh không tràn ở viewport 390px và 1440px, tóm tắt file đã sửa.Ví Dụ Tối Thiểu: Prompt contract bốn dòng
Goal: Sửa lỗi trang bài viết bị tràn ảnh trên mobile.
Context: Đọc components/content/Figure.tsx và một bài MDX có ảnh rộng.
Constraints: Không đổi bố cục toàn site, không thêm gói phụ thuộc, giữ ảnh có border radius 8px.
Done-when: Build pass, ảnh không tràn ở viewport 390px và 1440px, tóm tắt file đã sửa.Khi Có Lỗi
| Triệu chứng | Nguyên nhân hay gặp | Cách sửa |
|---|---|---|
| Codex làm khác ý | Goal viết theo thao tác, không theo kết quả | Viết lại Goal bằng hành vi cần đạt. |
| Agent đoán sai | Context thiếu đường dẫn/bằng chứng | Thêm file, log, ảnh hoặc lỗi cụ thể. |
| Phiên không biết dừng | Done-when mơ hồ | Đưa test/build/screenshot làm cổng nghiệm thu. |
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 kỹ thuật có thể đưa khuôn này vào mẫu issue hoặc pull request. Người không chuyên code cũng dùng được nếu thay file path bằng ảnh chụp, mô tả lỗi và tiêu chí nghiệm thu.
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 2, 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: Goal, Context, Constraints, Done-when.
- 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ớ
- Prompt tốt là hợp đồng ngắn, không phải văn dài.
- Goal phải nói kết quả, không chỉ thao tác.
- Context nên là file, log, ảnh hoặc nguồn có thể kiểm.
- Constraints bảo vệ phạm vi và quyết định kiến trúc.
- Done-when biến kỳ vọng thành cổng nghiệm thu.
- Nếu Codex đoán nhiều, prompt đang thiếu vật liệu.
- Nếu Codex sửa lan, prompt đang thiếu ranh giới.
- Nếu không biết xong chưa, prompt đang thiếu gate.
- Yêu cầu Codex nói lại hiểu biết khi task mơ hồ.
- Một prompt dùng lại được đáng giá hơn mười prompt ngẫu hứng.
Nguồn tham khảo chính: OpenAI Codex documentation. Bài tiếp: AGENTS.md: biến chuẩn làm việc thành trí nhớ bền.
