Trong vài tháng gần đây, các AI Coding Agent như Codex, Claude Code, Gemini CLI hay Cursor Agent đã trở thành trợ lý lập trình rất mạnh. Chúng có thể đọc toàn bộ project, sửa code, chạy lệnh terminal, commit và thậm chí push code lên repository.
Đó cũng chính là lý do chúng ta cần đặt ra các "quy tắc làm việc" (Instructions) trước khi giao quyền cho AI.
Nếu không có giới hạn rõ ràng, AI hoàn toàn có thể:
Tự merge nhánh vào
mainChạy
git reset --hardForce push làm mất lịch sử commit
Tự build hoặc chạy test khiến môi trường thay đổi
Refactor hàng chục file dù bạn chỉ yêu cầu sửa một lỗi nhỏ
Để tránh những tình huống này, mình luôn cấu hình AI theo nguyên tắc: AI chỉ sửa code, mọi thao tác ảnh hưởng đến Git đều phải có sự xác nhận của mình.
Bộ Instruction mình đang sử dụng
Chỉ sửa code và không chạy thử.
Không tự động merge code vào `main`.
Mỗi khi tôi yêu cầu merge, AI phải chỉ review trước:
- fetch remote
- show commits
- show changed files
- summarize diff
- explain conflict risk
Sau đó phải hỏi tôi:
"Bạn có muốn tôi tiến hành merge không?"
Chỉ khi tôi trả lời xác nhận rõ ràng như:
- merge đi
- đồng ý
- tiến hành
AI mới được chạy:
- git merge
- git rebase
- git commit
- git push
Nếu có conflict, AI phải báo danh sách file conflict và hỏi tôi muốn xử lý theo hướng nào trước khi resolve.
Mình bổ sung thêm một số quy tắc an toàn
Ngoài phần trên, mình còn thêm các quy tắc sau để AI không làm quá phạm vi công việc.
1. Chỉ sửa đúng phạm vi yêu cầu
AI không được:
Refactor toàn bộ project
Format toàn bộ source
Đổi tên file hàng loạt
Sửa những module không liên quan
Điều này giúp mỗi lần thay đổi đều nhỏ, dễ review và dễ rollback.
2. Không chạy các lệnh nguy hiểm
AI tuyệt đối không được tự ý chạy:
git reset --hard
git clean -fd
git push --force
git push --force-with-lease
Đây đều là các lệnh có thể làm mất dữ liệu hoặc ghi đè lịch sử Git.
3. Không tự build hoặc chạy test
Nếu mình chỉ yêu cầu sửa code thì AI không được:
npm run build
npm test
pnpm build
yarn build
docker compose up
migrate database
restart service
Chỉ thực hiện khi mình yêu cầu rõ ràng.
4. Trước khi sửa phải báo kế hoạch
AI cần nói ngắn gọn:
sẽ sửa file nào
mục tiêu của từng thay đổi
phạm vi ảnh hưởng
Nhờ đó mình biết AI chuẩn bị làm gì trước khi nó bắt đầu chỉnh sửa.
5. Sau khi sửa phải có báo cáo
Sau mỗi lần hoàn thành, AI cần báo:
Danh sách file đã sửa
Nội dung thay đổi chính
Có rủi ro gì không
Có cần mình review thêm không
Điều này giúp việc kiểm tra Pull Request nhanh hơn rất nhiều.
6. Mọi thao tác với Git đều cần xác nhận
Theo mình, AI không nên tự:
merge
rebase
commit
push
Nếu cần thực hiện các thao tác này thì phải hỏi lại người dùng.
Đặc biệt với branch main, mình gần như không bao giờ cho AI thao tác trực tiếp.
Lợi ích của cách làm này
Sau một thời gian áp dụng, mình nhận thấy:
Không còn tình trạng AI sửa lan sang các module khác.
Giảm đáng kể nguy cơ mất lịch sử Git.
Review Pull Request nhanh hơn.
Dễ rollback nếu có lỗi.
AI hoạt động giống một lập trình viên trong team hơn là một công cụ tự động.
Kết luận
AI Coding Agent ngày càng mạnh, nhưng sức mạnh càng lớn thì càng cần có quy tắc rõ ràng.
Theo mình, nguyên tắc quan trọng nhất là:
AI được phép viết code, nhưng mọi thao tác có thể ảnh hưởng đến lịch sử Git hoặc môi trường chạy đều phải có sự xác nhận của con người.
Chỉ cần dành vài phút để thiết lập Instruction ngay từ đầu, bạn sẽ có một trợ lý lập trình an toàn, dễ kiểm soát và đáng tin cậy hơn rất nhiều.


Nhận xét
Đăng nhận xét