Hôm nay mình sẽ hướng dẫn anh em dùng Copilot CLI để kiểm soát quyền trước khi giao việc, từ chỉ dẫn ban đầu tới kế hoạch cần duyệt và thông tin session. Anh em đọc xong sẽ biết chuẩn bị và kiểm tra từng phần.
Mình soạn hướng dẫn này từ tài liệu chính thức của GitHub, còn log chạy thử ở cuối bài giúp anh em xem một bản chỉ dẫn đã được sửa như thế nào. Anh em mở terminal, tức cửa sổ gõ lệnh, rồi gõ copilot để vào session.
Bước 1: Mình chuẩn bị Copilot CLI
Anh em nên chuẩn bị file instructions (chỉ dẫn cho Copilot) trước. Repo là nơi chứa code cùng lịch sử thay đổi của một project.

Tài liệu dùng file .github/copilot-instructions.md để minh họa cách ghi lệnh kiểm tra, cách viết code và cách lưu thay đổi, giúp anh em hình dung những việc cần nói rõ. Anh em nên viết yêu cầu mà người nhận có thể kiểm tra được.
Anh em mở file .github/copilot-instructions.md và tìm hai dòng trái nhau, chẳng hạn dòng bắt viết test và dòng cho bỏ test mà thiếu điều kiện. Anh em sửa lại cho khớp nhau trước khi giao việc để Copilot khỏi phải tự chọn quy tắc. Anh em chưa biết code vẫn có thể đọc để tìm yêu cầu mâu thuẫn.
Anh em gõ /permissions show để xem chế độ hiện tại, rồi gõ /permissions manual để chọn duyệt thủ công. Ở chế độ này Copilot sẽ hỏi trước khi chạy lệnh, sửa file hoặc mở link. Mình đọc trong tài liệu thì quyền này có thể là chạy lệnh, sửa file hoặc mở link.
Khi Copilot hỏi quyền, anh em đọc kỹ việc nó sắp làm rồi chọn cho phép một lần, hoặc cho phép cả session, tức suốt lần làm việc hiện tại. Ở chế độ duyệt thủ công, Copilot sẽ hỏi mọi yêu cầu chưa được cho phép trước khi thực hiện. Anh em dùng /reset-allowed-tools khi muốn xóa các quyền công cụ đã được duyệt.
Tài liệu có ví dụ cho phép Copilot chạy lệnh git:
copilot --allow-tool='shell(git:*)' --deny-tool='shell(git push)'Anh em gõ lệnh trên ở terminal để khởi động Copilot kèm quyền chạy mọi lệnh git, đồng thời chặn git push để nó không tự đẩy code lên được. Những lệnh bắt đầu bằng dấu gạch chéo được nhập trong session.
Anh em gõ /model để chọn model. Việc khó thì chọn model mạnh hơn, việc thường ngày thì chọn model nhanh, rẻ hơn, và đổi giữa session được.
Bước 2: Mình yêu cầu kế hoạch trước
Trước khi lập kế hoạch, anh em có thể cho Copilot đọc code trước bằng câu dưới đây trong session đang làm việc:
Read the authentication files but don't write code yet
Anh em nên yêu cầu kế hoạch khi việc chạm nhiều file, sửa cấu trúc code hoặc thêm chức năng mới, vì Copilot sẽ làm rõ việc cần làm trước khi viết code. Để yêu cầu kế hoạch, anh em gõ /plan ngay trong session.
Ví dụ dưới đây chép nguyên văn từ tài liệu, yêu cầu Copilot lên kế hoạch cho chức năng đặt lại mật khẩu:
/plan Implement password reset flowCopilot đọc code liên quan rồi hỏi thêm để làm rõ yêu cầu. Copilot tạo kế hoạch dạng danh sách có ô tick, lưu vào file plan.md trong thư mục của session, rồi chờ anh em đồng ý mới làm.
Anh em đọc từng việc trong kế hoạch và xem mỗi việc đã có cách kiểm tra kết quả đi kèm chưa. Việc thiếu kiểm tra phải bổ sung. Nếu yêu cầu ban đầu còn mơ hồ, anh em nên bổ sung lúc này để kế hoạch phản ánh đúng việc cần làm, rồi đọc lại kế hoạch sau khi Copilot cập nhật theo yêu cầu của anh em.
Khi kế hoạch ổn, anh em gõ câu dưới đây để Copilot bắt đầu làm theo những việc đã duyệt:
Proceed with the planTài liệu gợi ý trình tự đọc code, lập kế hoạch, duyệt, triển khai, kiểm tra rồi mới tạo commit, tức mốc lưu thay đổi để anh em xem lại lịch sử code. Sau khi triển khai, anh em cho Copilot chạy test và sửa những lỗi phát hiện được bằng câu dưới đây:
Run the tests and fix any failuresKhi test đã chạy xong và các lỗi đã được sửa, anh em mới yêu cầu Copilot tạo commit bằng câu tiếp theo:
Commit these changes with a descriptive messageVới lỗi nhỏ hoặc thay đổi nằm gọn trong một file, bảng tình huống của tài liệu không đánh dấu là cần lập kế hoạch, nên anh em có thể bỏ bước riêng này.
Bước 3: Mình xem lại session
Anh em dùng lệnh dưới đây để xem thông tin session hiện tại:
/sessionMình thấy tài liệu ghi là Copilot tự gom gọn lịch sử chat khi cần, vẫn giữ lại phần quan trọng. Anh em dùng /session checkpoints để xem các mốc sau lần gom gọn.
Mỗi mốc cho anh em xem bản tóm tắt Copilot đã tạo lúc gom gọn. Mình thấy tài liệu còn có lệnh xem các file tạm, anh em cần thì dùng. Anh em nhập lệnh này trong session đang làm việc của mình:
/session filesFile tạm là những thứ Copilot tạo ra trong session nhưng không nên đưa vào repo, nên anh em cần biết chúng nằm ở đâu để khỏi commit nhầm. Anh em có thể gõ /compact để tự gom gọn (compact) lịch sử chat.
Thường anh em không cần compact thủ công vì Copilot tự làm rồi, nhưng mình vẫn ghi lệnh ở đây phòng khi anh em muốn chủ động.
Mình chạy thử việc sửa chỉ dẫn
Trong log được cung cấp, mình đã chạy thử việc tìm quy tắc mâu thuẫn và viết lại chỉ dẫn cho trợ lý code, đúng phần chuẩn bị mà anh em vừa đọc ở trên. Mình gửi prompt yêu cầu tìm mâu thuẫn, chỉ ra dòng mơ hồ.
Yêu cầu còn bảo viết lại thành chỉ dẫn ngắn gọn; mình gửi qua Claude Code mà không kèm file hay công cụ, nên kết quả chỉ phản ánh việc đọc và sửa nội dung. Trong log, Claude Sonnet trả lời mình sau thời gian chờ 9,4 giây.
Câu trả lời của Claude Sonnet dài 339 chữ, theo log mình nhận được. Nó chỉ ra quy tắc luôn viết test đang mâu thuẫn với ngoại lệ cho hàm nhỏ, đồng thời nhận ra yêu cầu viết code đẹp thiếu tiêu chí để kiểm tra.
Mình thấy bản viết lại đã biến yêu cầu chung thành việc cụ thể. Chỗ mình muốn anh em để ý là câu trả lời tự thêm ngưỡng bỏ test dựa trên độ dài hàm, trong khi yêu cầu ban đầu chưa chốt ngưỡng được dùng.
Anh em nhớ tự duyệt ngoại lệ ấy trước khi đưa chỉ dẫn vào repo nhé, đừng tin hẳn câu trả lời của AI. Lần thử minh họa việc rà chỉ dẫn, nhưng chưa kiểm tra quyền, kế hoạch hay quản lý session trong Copilot; mình chưa có log chạy trực tiếp những bước hướng dẫn phía trên.
Lỗi hay gặp
Nếu công cụ liên tục hỏi quyền, anh em dùng /permissions show để xem trạng thái trước khi cho phép thêm thao tác, vì yêu cầu chưa được cho phép sẽ cần duyệt thủ công.
Nếu anh em dùng model từ dịch vụ riêng, tài liệu yêu cầu nó phải dùng được công cụ và trả lời dần khi sinh nội dung, nếu thiếu thì Copilot sẽ báo lỗi. Anh em cần kiểm tra các khả năng đó trước khi cấu hình.
Anh em nên dùng /help để xem hướng dẫn mới nhất vì công cụ vẫn thay đổi; những lệnh trong bài giúp bắt đầu, còn thông tin hiện tại cần xem tại đó. Một bản chỉ dẫn nghe hợp lý vẫn cần anh em duyệt từng ngoại lệ trước khi cho công cụ sửa code.



