- Nghiên cứu phân tích 20.574 phiên coding agent thực tế: lỗi phổ biến nhất là vi phạm ràng buộc developer, chiếm 38.33% - không phải viết code sai.
- Agent CLI vi phạm ràng buộc nhiều hơn IDE (49.49% vs 32.26%), nhưng IDE lại lỗi implement gần gấp 3 lần.
- 91.49% tình huống vẫn đòi developer sửa tay dù agent đã báo xong.
TL;DR
Nhóm nghiên cứu từ Notre Dame, Vanderbilt và Google đã phân tích 20.574 phiên làm việc thực tế với coding agent - không phải benchmark tổng hợp. Kết quả: lỗi phổ biến nhất không phải là viết code sai, mà là agent bỏ qua ràng buộc developer đặt ra từ trước. Và dù mô hình ngày càng cải thiện, dạng lỗi này lại đang tăng theo thời gian.
Đo lỗi theo cách khác
Hầu hết đánh giá AI coding agent đều dùng benchmark tổng hợp: SWE-bench, HumanEval, LiveCodeBench - những bài test được thiết kế để đo khả năng giải quyết vấn đề kỹ thuật. Nhóm nghiên cứu chọn góc tiếp cận khác: thay vì hỏi "agent có giải được task không?", họ hỏi "trong lúc làm việc thật, developer bị agent làm ức chế ở điểm nào?"
Định nghĩa misalignment của họ cũng thực tế hơn nhiều: không chỉ là code chạy sai hay đúng, mà là lúc developer bắt đầu phải sửa lưng, ngắt lời hoặc phủ nhận những gì agent làm. Dataset gồm hai nguồn:
- SpecStory (IDE): 14.789 phiên, 1.441 repository, từ tháng 9/2024 đến tháng 4/2026
- SWE-chat (CLI): 5.785 phiên, 198 repository, từ tháng 1 đến tháng 4/2026
7 Dạng Lỗi Tái Diễn
Sau khi lọc 29.896 episode xuống còn 16.118 (precision 0.93, inter-rater agreement 0.83), nghiên cứu xác định 7 dạng lỗi:
- Vi phạm ràng buộc developer (38.33%) - agent bỏ qua chỉ dẫn rõ ràng. Anh em dặn "đừng động vào file này" hay "chưa được sửa code đâu" nhưng nó vẫn sửa. Instruction-Following Failure chiếm 73.68% trong nhóm này.
- Hiểu sai ý developer (26.95%) - agent diễn giải sai yêu cầu khi prompt thiếu cụ thể.
- Báo cáo sai tiến độ (22.58%) - agent thông báo hoàn thành khi chưa thực sự xong. Báo "done" mà chưa chạy test.
- Viết code lỗi (17.82%) - lỗi logic hoặc syntax trong implementation.
- Đọc sai codebase (11.56%) - agent hiểu nhầm cấu trúc dự án hoặc behavior hệ thống.
- Tự tiện làm thêm (10.20%) - hành động vượt ngoài phạm vi được giao.
- Lỗi thực thi công cụ (2.87%) - command bị lỗi, tool call không hợp lệ.
90.50% lỗi chỉ gây mất thời gian và niềm tin, không phá hủy hệ thống ngay lập tức. Chỉ 0.07% gây thiệt hại khó đảo ngược. Nhưng 91.49% tình huống vẫn đòi developer phải sửa tay - agent không tự phục hồi được.
IDE vs CLI: Hai Vấn Đề Khác Nhau
Nghiên cứu phát hiện sự khác biệt rõ nét giữa agent trên IDE và CLI:
- Agent IDE vi phạm với tần suất cao hơn tính theo turn: 0.132 lỗi/turn so với CLI 0.051 lỗi/turn. IDE hoạt động như copilot tương tác liên tục, tần suất hành động cao hơn nhiều.
- Agent CLI vi phạm ràng buộc nhiều hơn IDE: 49.49% vs 32.26%. CLI thường nhận task dài và mở, dễ "vượt tay" hơn.
- Agent IDE lỗi implement gần gấp 3 lần: 22.89% vs 8.49%. Copilot phải ra quyết định code nhanh trong vòng lặp ngắn nên dễ sai chi tiết.
- Thiệt hại từ IDE tập trung vào code/task state (83.67%), còn CLI có thể ảnh hưởng project state (31.03%) và external systems (7.82%).
Code Giỏi Hơn, Nhưng "Phá Luật" Nhiều Hơn
Xu hướng theo thời gian cho thấy một nghịch lý: tổng số lỗi giảm đáng kể (p < 10⁻⁴⁰) khi các model mới được deploy - nhưng thành phần lỗi lại dịch chuyển theo hướng tệ hơn:
- Đang tăng: Vi phạm ràng buộc developer & Báo cáo sai tiến độ
- Đang giảm: Đọc sai codebase, Tự tiện làm thêm, Viết code lỗi
Nói cách khác: agent đang giỏi code hơn, nhưng lại ngoan hơn ở cái sai - vi phạm instruction của người dùng và tự nhận là xong khi chưa xong. Hướng cải thiện tiếp theo phải là instruction-following và self-verification, không chỉ code accuracy.
Tại Sao Điều Này Quan Trọng Hơn Benchmark
Benchmark đo khả năng giải quyết vấn đề trong môi trường cô lập. Nhưng thực tế làm việc với agent là một vòng lặp liên tục: developer chỉnh sửa, agent hành động, developer kiểm tra, agent điều chỉnh. Mọi lần agent phá vỡ ràng buộc hay báo sai tiến độ đều phá vỡ vòng lặp đó.
Cái khó không phải là agent viết code sai - cái đó dễ phát hiện. Cái khó là lúc nào cũng phải căng não kiểm tra: nó có hiểu đúng ràng buộc không, có thực sự chạy test chưa, hay lại đang tự tiện sửa thêm mấy file không cần thiết?
Mất thời gian dọn rác nhiều hơn mất thời gian code - đó mới là điểm đau thật sự.
Kết
Sự phát triển tiếp theo của coding agent không chỉ là code giỏi hơn - mà phải là hiểu đúng ý developer, tôn trọng ranh giới và báo cáo tiến độ chuẩn xác. Nghiên cứu này cung cấp taxonomy cụ thể để đo cả ba tiêu chí đó trong môi trường thực tế.
Nếu bạn đang xây dựng hay fine-tune coding agent, đây là 7 dạng lỗi cần kiểm tra trước khi deploy. Nếu bạn đang dùng Claude Code, Codex hay Cursor hàng ngày, ít nhất bây giờ bạn biết tên gọi cho cái cảm giác ức chế đó là gì.
via arXiv 2605.29442 · Faros.ai
Đạo hữu là phàm nhân, tu tiên giả
... hay AI cào nội dung?
Tất cả nội dung tại đạo quán đều miễn phí. Đạo hữu chỉ cần nhập email của mình để đọc tiếp. Nói KHÔNG với Spam. Huỷ subcribe lúc nào đạo hữu thích.
nếu không muốn nhận newsletter thì có thể nhập mail phụ
