Bỏ qua để vào nội dung chính
Audit AGENTS.md trong 5 phút: 62% file dính rule thừa

Audit AGENTS.md trong 5 phút: 62% file dính rule thừa

Bởi Zoe Taylor
06 thg 11, 20264 phút đọc

Nghiên cứu trên 532.000 file chỉ ra 6 lỗi phổ biến của AGENTS.md và CLAUDE.md. Đây là checklist 5 phút để cắt rule thừa và đặt line budget cho repo.

Bạn generate AGENTS.md từ một pack vài trăm rule, commit vào repo, rồi không mở lại lần nào. Agent vẫn nạp file đó mỗi session, bạn vẫn trả token cho nó, và không ai trong team biết bao nhiêu dòng thật sự đổi được hành vi của model. Hai nghiên cứu công bố năm nay đã đo đúng chỗ loại file này hỏng — đủ để dựng một bản audit chạy trong 5 phút.

Sáu lỗi phổ biến, đo trên 532.000 file

Nhóm nghiên cứu tại Federal University of Minas Gerais công bố catalog chính thức đầu tiên về "configuration smell" trong file hướng dẫn agent (arXiv:2606.15828, nhận tại SCAM 2026). Họ phân tích 532.000 file thuộc 100 repo open-source nhiều sao nhất có AGENTS.md hoặc CLAUDE.md, và 91/100 repo dính ít nhất một trong sáu smell:

SmellTỉ lệMô tả
Lint Leakage62%Rule mà linter/formatter đã enforce sẵn
Context Bloat42%File dài quá 200 dòng, mức tuân thủ bắt đầu rơi
Skill Leakage35%Workflow hiếm dùng nhưng nạp mọi session
Conflicting Instructions28%Các rule mâu thuẫn nhau
Init Fossilization24%Generate một lần rồi không bao giờ sửa
Blind References16%Trỏ tới doc nhưng không nói khi nào cần đọc

Dòng đầu bảng là điểm đáng chú ý: lỗi phổ biến nhất ngoài thực tế là nhồi style rule trùng với tooling vốn đã deterministic. Một repo trong mẫu nhét nguyên style guide Python vào AGENTS.md; file phình nhất dài 1.477 dòng chia 27 section.

File generate đo ra không hơn gì không có file

Nghiên cứu thứ hai khó nuốt hơn. Nhóm ETH Zurich (arXiv:2602.11988) chạy coding agent trên task thật, có và không có context file. File do LLM sinh ra cho kết quả thấp hơn một chút so với không dùng file nào: kém 2% tỉ lệ thành công trên CTXbench và 0,5% trên SWE-bench Lite — cả hai không đạt ý nghĩa thống kê — trong khi chi phí inference tăng 20–23% cho cả file generate lẫn file người viết. File người viết thêm 2,4% thành công, cũng nằm trong vùng nhiễu.

Generate không phải phiên bản rẻ tiền của curate: trên benchmark đó, nó là file mà agent trả token để nạp rồi đi theo tới kết quả nhỉnh hơn phần tệ.

Bản audit 5 phút

  1. Xoá mọi rule mà linter, formatter hoặc pre-commit hook đã enforce. Riêng bước này gỡ đúng smell dính 62% file trong mẫu.
  2. Đếm dòng. Vượt 200 là bạn đang ở vùng chứa 42% file. Một pull request trong review của nhóm nghiên cứu cắt file config từ 598 dòng xuống 149, với lập luận model làm tốt hơn ở khoảng 150–200 dòng.
  3. Đẩy workflow hiếm dùng sang skill file nạp theo nhu cầu, thay vì nạp mỗi session.
  4. Đọc lại file chỉ để tìm đúng một thứ: hai rule đá nhau. Heuristic tự động của nhóm UFMG bắt Conflicting Instructions chỉ ở 57% precision — yếu nhất trong sáu smell — nên đây là phần máy chưa gánh thay bạn được.
  5. Rule nào trỏ tới doc path thì thêm một dòng nói rõ khi nào cần đọc.

Số trong file: để CI kiểm, đừng để người review

Người review doc generate thường kiểm cấu trúc, độ phủ và giọng văn, nên con số lọt qua vì trông đã có vẻ là fact. Hai lớp lỗi gây thiệt hại nhiều nhất: invented precision (model làm tròn hoặc ước lượng một giá trị chưa ai đo) và unit drift (số đúng nhưng gắn sai đơn vị). Cách chặn rẻ hơn bạn nghĩ — tách numeral thành một lớp claim được máy kiểm: một fact file ánh xạ từng số về dòng code sinh ra nó, cộng script standard-library khoảng 70 dòng Python fail build khi có số không có fact đứng sau. Đặt key sao cho segment cuối chính là đơn vị thì script kiểm unit được mà không cần schema riêng. Siết prompt không thay được bước này: prompt giảm rò rỉ chứ không chứng minh được là không còn.

Giới hạn mà rule không vượt qua

Rule là cú hích mạnh, không phải bảo đảm: độ chính xác tuân thủ chỉ dẫn giảm khi số chỉ dẫn tăng — IFScale đo khoảng 68% ở mốc 500 instruction (arXiv:2507.11538). Việc gì tuyệt đối không được xảy ra thì công cụ đúng là hook hoặc permission, không phải một câu trong file.

Nếu AGENTS.md của bạn sinh ra từ một pack lớn, 20 phút đáng giá nhất tuần này là ngồi xoá bớt một phần ba nó — rồi đặt line budget vào CI để lần sau file không phình lại.

Không spam, hủy đăng ký bất kỳ lúc nào.

Bài viết liên quan