

🔥 Claude Code bỏ luật "Avoid over-engineering" — Cộng đồng dev đang tranh cãi kịch liệt
Anthropic vừa âm thầm thay đổi một quy tắc cốt lõi trong Claude Code, và phản ứng của cộng đồng lập trình viên khắp nơi đang chia làm hai phe rõ rệt.
🔄 Chuyện gì xảy ra trong bản 2.1.84?
Bản cập nhật Claude Code 2.1.84 vừa ra mắt, và thay đổi được chú ý nhất không phải là tính năng mới hay fix bug, mà là việc Anthropic xóa bỏ quy tắc "Avoid over-engineering" khỏi bộ hướng dẫn mặc định của Claude Code.
Trước đây, quy tắc này được nhúng thẳng vào system prompt, ra lệnh cho Claude ưu tiên giải pháp đơn giản, tránh viết code phức tạp không cần thiết, và không thêm abstraction layer khi chưa thật sự cần.
❌ Quy tắc cũ nói gì?
"Avoid over-engineering" về cơ bản là Claude Code phải chủ động cưỡng lại xu hướng viết code "nguy hiểm": không tạo thêm class/interface nếu một hàm đơn giản là đủ, không dùng design pattern cho vấn đề không phức tạp, không sớm tối ưu hóa khi chưa có dữ liệu thực tế về bottleneck.
Đây là một trong những quy tắc được cộng đồng đánh giá cao nhất, vì nó khiến Claude Code ra code gọn, dễ đọc, và dễ maintain hơn so với nhiều AI coding tool khác.
🤔 Tại sao Anthropic lại bỏ?
Anthropic chưa giải thích công khai lý do cụ thể. Nhưng một số lý giải đang được cộng đồng thảo luận.
Một luồng ý kiến cho rằng quy tắc này đang cản trở Claude khi làm việc với codebase lớn, enterprise. Trong môi trường thực tế, đôi khi abstraction và pattern phức tạp là cần thiết để scale, và việc Claude luôn "sợ" over-engineering khiến nó đưa ra giải pháp quá đơn giản, không phù hợp với yêu cầu thực tế.
Một luồng khác thì nhận xét đây là tín hiệu Anthropic muốn trao quyền quyết định lại cho người dùng, thay vì hard-code một quan điểm về "good code" vào model.
⚡ Cộng đồng phản ứng thế nào?
Phe phản đối cho rằng đây là bước lùi. Họ lo ngại Claude Code giờ sẽ có xu hướng viết code phức tạp hơn, khó đọc hơn, đặc biệt với các project nhỏ và mid-size nơi đơn giản là tốt nhất. Một số dev còn nói thẳng: "Đây là thứ khiến tôi chọn Claude thay vì Cursor hay Copilot."
Phe ủng hộ lại lập luận rằng một AI không nên tự áp đặt quan điểm về kiến trúc code. Developer mới là người hiểu context, hiểu scale, hiểu trade-off. Claude chỉ cần thực thi tốt theo yêu cầu, không cần "ý kiến" về over-engineering hay không.
💡 Thực tế ảnh hưởng thế nào?
Với những ai dùng Claude Code thường xuyên, sự thay đổi này có thể chưa rõ ràng ngay lập tức. Claude vẫn sẽ viết code tốt nếu bạn prompt rõ ràng. Nhưng về dài hạn, nếu bạn không chỉ định, Claude giờ sẽ ít có "lương tâm" hơn trong việc tự giới hạn độ phức tạp của giải pháp.
Cách đơn giản nhất để giữ lại hành vi cũ: thêm vào CLAUDE.md của project một dòng rõ ràng như "Prefer simple solutions. Avoid unnecessary abstractions unless complexity is justified."
Bạn đang đứng về phía nào trong cuộc tranh luận này? Comment xuống dưới nhé!


