
Trang 52 / 63
Chương 52
Dùng Codex CLI để sửa một chi tiết trong repo lạ và tự kiểm chứng
Bạn cần sửa một chi tiết trong dự án mới. Trong 30 đến 45 phút, Codex CLI có thể giúp tìm đúng chỗ, sửa, đọc bản khác biệt và chạy kiểm tra. Bạn cần mã dự án, Git và quyền truy cập Codex.
Điều quan trọng là hiểu, sửa, rồi kiểm chứng. Codex đọc tệp, chỉnh mã và chạy lệnh trong thư mục dự án; bạn quyết định thay đổi nào đáng giữ. Tài liệu Codex CLI của OpenAI gợi ý nhờ Codex giải thích dự án, giao thay đổi có phạm vi rõ và tạo mốc Git.
Nếu mới tạo phần mềm cùng AI, hãy đọc hướng dẫn vibe coding. Bài này tập trung vào một lần làm việc trong terminal.
Chuẩn bị
Công cụ: cài Codex CLI, mở terminal và đăng nhập khi chạy lần đầu. Chạy codex từ thư mục gốc dự án để giới hạn mã cần xem.
Mốc an toàn: chạy git status --short trước khi bắt đầu. Ghi lại tệp đang sửa dở và bảo Codex tránh chúng. Với repo sạch, tạo nhánh hoặc mốc Git theo quy trình nhóm để có đường quay lại. Đọc thêm cách viết prompt rõ mục tiêu nếu bạn thường giao yêu cầu quá rộng.
Làm từng bước
1. Xác nhận đúng thư mục và phạm vi quyền
Trong terminal, chuyển vào thư mục dự án, kiểm tra đường dẫn hiện tại và trạng thái Git, rồi khởi động Codex:
cd "[đường dẫn thư mục dự án]"
pwd
git status --short
codex
Ở lần chạy đầu, làm theo màn hình đăng nhập. Trong phiên Codex, /status cho biết cấu hình phiên và /permissions mở lựa chọn quyền. Hãy đọc quyền hiện tại trước khi yêu cầu sửa tệp hoặc chạy lệnh. Tài liệu về quyền và vùng làm việc giải thích rằng quyền phê duyệt và vùng truy cập là hai điều riêng: một bên quyết định khi nào Codex phải dừng hỏi, bên kia giới hạn tệp và mạng mà lệnh có thể chạm tới. Chọn phạm vi phù hợp với repo và công việc của bạn.
2. Nhờ Codex vẽ bản đồ dự án, chưa sửa gì
Đừng bắt đầu bằng câu “sửa trang liên hệ” khi bạn chưa biết trang ấy được dựng ở đâu. Hãy dán yêu cầu này vào Codex:
Hãy đọc repo hiện tại và giải thích ngắn gọn: ứng dụng làm gì, thư mục nào chứa giao diện trang liên hệ, nút Gửi được tạo ở tệp nào, và có bài kiểm tra nào liên quan. Chỉ đọc, không sửa tệp và không chạy lệnh tạo hoặc xóa dữ liệu. Nêu đường dẫn tệp làm bằng chứng cho từng kết luận. Nếu chưa chắc, nói rõ cần xem thêm gì.
Bạn cần bản đồ có đường dẫn. Mở tệp Codex chỉ ra và xem chữ hiển thị nằm ở đó hay trong tệp bản dịch, cấu hình hoặc nguồn khác. Nếu chưa có vị trí cụ thể, yêu cầu tìm thêm.
3. Chốt một thay đổi nhỏ bằng tiêu chí rõ ràng
Khi đã tìm đúng vị trí, hãy giao một việc có thể kiểm tra trong vài phút. Nếu sửa lỗi chính tả của nhãn nút, phạm vi là đúng một chuỗi và có thể là bài kiểm tra liên quan. Dán yêu cầu:
Hãy sửa nhãn nút trên trang liên hệ từ “Gủi” thành “Gửi”. Chỉ sửa tệp thực sự tạo ra nhãn đó. Không đổi bố cục, luồng gửi biểu mẫu, tên biến hay văn bản khác. Trước khi sửa, cho biết tệp dự định đổi và vì sao. Sau khi sửa, tóm tắt số tệp đã đổi. Nếu phát hiện cần đổi nhiều hơn một tệp, hãy dừng và giải thích trước.
Codex có thể đề xuất chỉnh thêm bài kiểm tra, bản dịch hoặc cấu hình. Đọc lý do trước khi mở rộng phạm vi. Với thay đổi lớn hơn, xem quy trình Codex Cloud mở pull request.
4. Xem từng dòng khác biệt trước khi chạy kiểm tra
Trong phiên Codex, gõ /diff. Theo tham chiếu lệnh của OpenAI, lệnh này cho thấy thay đổi đã đưa vào Git, thay đổi chưa đưa vào Git và tệp Git chưa theo dõi. Bạn cũng có thể mở một terminal khác và chạy:
git diff --check
git diff
git status --short
Đọc bản khác biệt theo ba câu hỏi. Tệp nào đã đổi? Nếu có tệp nằm ngoài phạm vi đã hứa, dừng lại để hỏi nguyên nhân. Dòng nào đã đổi? Với lỗi chính tả, bạn mong chỉ thấy nhãn sai được thay bằng nhãn đúng. Có thứ gì bị thêm ngoài ý muốn? Tìm khóa, tệp sinh tự động, thay đổi định dạng hàng loạt hoặc phần mã không liên quan. git diff --check giúp phát hiện một số lỗi khoảng trắng; nó không chứng minh tính năng hoạt động.
5. Chạy đúng bài kiểm tra và tự xem kết quả
Nhờ Codex tìm lệnh kiểm tra có sẵn trong dự án, rồi chạy bài phù hợp với phần vừa sửa. Bạn có thể hỏi:
Hãy đọc hướng dẫn và cấu hình của repo để xác định lệnh kiểm tra phù hợp nhất cho thay đổi nhãn nút trang liên hệ. Giải thích lệnh sẽ làm gì trước khi chạy. Chạy bài kiểm tra liên quan, báo nguyên văn tên lệnh, kết quả thành công hoặc lỗi, và tệp nào có thể đã bị công cụ kiểm tra tạo ra. Không tự sửa lỗi khác nếu kiểm tra thất bại.
Một dự án có thể dùng npm test, dự án khác dùng công cụ hoàn toàn khác. Đừng đoán lệnh rồi tuyên bố “đã kiểm tra”. Nếu không có bài kiểm tra tự động, mở ứng dụng và xem nút trong trình duyệt theo hướng dẫn chạy dự án. Kiểm tra cả thao tác bấm nút nếu thay đổi có thể ảnh hưởng hành vi. Với ví dụ chỉ sửa chữ, kết quả cần thấy là chữ “Gửi” xuất hiện đúng, trong khi biểu mẫu vẫn hoạt động như trước.
6. Nhờ Codex rà lại, rồi tự quyết định giữ hay sửa
Trong repo Git, gõ /review để Codex rà các thay đổi chưa giao. Hướng dẫn review chính thức nói lệnh này đọc bản khác biệt và báo các vấn đề theo mức ưu tiên, không sửa cây tệp khi review. Sau đó gõ /diff lần nữa để đối chiếu từng nhận xét với mã thực tế. Nếu Codex chỉ ra một lỗi có căn cứ, sửa đúng lỗi đó và chạy lại kiểm tra liên quan.
Cuối cùng, chạy git status --short thêm một lần. Bản giao tốt nên trả lời được bốn câu: đã sửa tệp nào, thay đổi hành vi nào, đã chạy kiểm tra gì, và còn giới hạn nào. Chỉ khi chính bạn hiểu bốn câu ấy, thay đổi nhỏ mới sẵn sàng để đưa cho người khác duyệt hoặc tạo commit theo quy trình nhóm.
Kết quả mẫu
Giả sử repo lưu chữ tiếng Việt trong src/locales/vi.json. Sau các bước trên, một báo cáo ngắn có thể là:
Đã đổi nhãn nút trang liên hệ từ “Gủi” thành “Gửi” trong
src/locales/vi.json. Bản khác biệt chỉ có một dòng nội dung.git diff --checkkhông báo lỗi khoảng trắng. Bài kiểm tra liên quan đã chạy thành công. Tôi đã mở trang liên hệ và thấy nhãn đúng, biểu mẫu vẫn gửi được. Chưa tạo commit.
Mẹo để kết quả tốt hơn
Giữ một yêu cầu cho một thay đổi. Nếu phát hiện thêm lỗi trong lúc tìm hiểu repo, ghi lại để xử lý riêng. Bản khác biệt ngắn sẽ dễ đọc và kiểm chứng hơn.
Nói rõ điều chưa kiểm tra. Khi không chạy được ứng dụng hoặc bài test, ghi nguyên nhân và cách người nhận có thể thử lại. Đừng gọi một bản sửa là đã hoàn tất chỉ vì Codex không báo lỗi.
Giới hạn cần biết
Codex có thể đọc nhầm cấu trúc dự án hoặc sửa đúng chuỗi nhưng sai vị trí hiển thị. Repo cũng có thể chứa nhiều ngôn ngữ, nhiều bản sao của cùng một nhãn và tệp được sinh tự động. Vì vậy, đường dẫn tệp và diff là bằng chứng bắt buộc, còn câu trả lời tự tin của AI chỉ là gợi ý cần kiểm tra.
Một bài kiểm tra xanh không phủ mọi tình huống. Với thay đổi ảnh hưởng thanh toán, quyền truy cập, dữ liệu riêng tư hoặc hệ thống đang phục vụ khách hàng, hãy nhờ người có trách nhiệm duyệt theo quy trình đội. Đừng mở rộng từ một lỗi chữ sang thay đổi cấu hình, xóa dữ liệu hay triển khai chỉ vì Codex đề xuất thêm việc.
Quyền truy cập cũng không phải bảo đảm nội dung trong repo an toàn. Chỉ mở dự án bạn có quyền làm việc, đọc kỹ lệnh trước khi cho chạy, và giới hạn phạm vi truy cập ở mức cần thiết. Nếu repo chứa bí mật, hãy xử lý theo quy định của tổ chức. Codex là công cụ hỗ trợ thao tác; người giao mã vẫn chịu trách nhiệm với kết quả.
Câu hỏi thường gặp
Tôi có cần biết lập trình mới dùng được Codex CLI không? Bạn có thể nhờ Codex giải thích repo bằng ngôn ngữ đơn giản. Nhưng để giao mã an toàn, bạn vẫn cần hiểu mục tiêu, đọc thay đổi và biết cách kiểm tra kết quả. Với dự án quan trọng, hãy có người hiểu mã cùng duyệt.
Có thể yêu cầu Codex chỉ đọc mà không sửa không? Có. Hãy ghi rõ “chỉ đọc, không sửa tệp” trong yêu cầu đầu tiên và kiểm tra chế độ quyền của phiên. Sau lượt đọc, dùng git status --short để xác nhận trạng thái repo.
/diff và /review khác nhau thế nào? /diff cho bạn thấy chính xác dòng và tệp đã thay đổi. /review nhờ Codex tìm vấn đề trong thay đổi đó. Bạn nên đọc diff trước, rồi dùng review như một lượt kiểm tra bổ sung.
Nếu không có bài kiểm tra tự động thì sao? Hãy chạy ứng dụng theo hướng dẫn dự án và thử trực tiếp tình huống vừa sửa. Ghi rõ bạn đã kiểm tra thủ công những gì và chưa kiểm tra được gì.
Khi nào nên dừng thay vì giao mã? Dừng khi Codex muốn sửa ngoài phạm vi, diff có tệp lạ, lệnh kiểm tra thất bại chưa rõ nguyên nhân, hoặc bạn chưa thể giải thích vì sao thay đổi giải quyết đúng vấn đề.

