Claude Code: Công cụ khuyên viết test nhưng chính nó không có lấy một dòng test nào
Claude Code: Khuyên viết test nhưng bản thân không có test

Claude Code: Lời khuyên viết test và nghịch lý không có test trong 512.000 dòng code

Ngày 31/3/2026, một lỗi đóng gói trong bản cập nhật của Claude Code đã khiến toàn bộ mã nguồn của công cụ lập trình AI này bị lộ ra ngoài. Hàng nghìn lập trình viên trên khắp thế giới đã đổ xô vào phân tích 512.000 dòng code TypeScript, và phát hiện gây sốc nhất không phải là tính năng bí mật hay kiến trúc phức tạp, mà là sự vắng mặt hoàn toàn của bất kỳ dòng test nào.

Con số 0 đáng kinh ngạc trong mã nguồn Claude Code

Trang hướng dẫn chính thức của Claude Code liệt kê rõ những việc mà công cụ này có thể hỗ trợ: "viết test cho những đoạn code chưa có test, fix lỗi lint, và đảm bảo mọi thứ hoạt động đúng". Đây là một trong những điểm bán hàng được Anthropic, công ty phát triển Claude Code, quảng bá mạnh mẽ nhất - công cụ sẽ giúp lập trình viên viết code có chất lượng, được kiểm tra kỹ lưỡng và có độ tin cậy cao. Tuy nhiên, khi mã nguồn bị lộ, cộng đồng phát hiện rằng trong toàn bộ 512.000 dòng code đang phục vụ hàng triệu người dùng, không hề có một file test nào.

Test trong phần mềm là các đoạn kiểm tra tự động mà kỹ sư viết để xác minh: "nếu tôi làm X, kết quả phải là Y". Những test này chạy tự động mỗi khi có thay đổi code và báo ngay nếu có vấn đề phát sinh. Đây là lý do các phần mềm lớn có thể cập nhật liên tục mà không sợ hỏng các tính năng cũ. Không có test đồng nghĩa với việc mỗi lần sửa một chỗ, không ai biết các phần khác có bị ảnh hưởng hay không - cho đến khi người dùng gặp lỗi và báo cáo. Các công ty phần mềm nghiêm túc thường có quy định bắt buộc về tỷ lệ test coverage tối thiểu để đảm bảo chất lượng.

Banner rộng Pickt — ứng dụng danh sách mua sắm cộng tác cho Telegram

Lý do đằng sau sự thiếu vắng test: Claude Code tự viết code cho chính nó

Tại sao một sản phẩm phần mềm nghiêm túc lại không có test? Câu trả lời nằm ở cách Anthropic xây dựng công cụ này. Boris Cherny, người tạo ra Claude Code, đã xác nhận công khai rằng 100% code của Claude Code được viết bởi chính Claude Code kể từ tháng 11/2024, mà không có kỹ sư nào review từng dòng. Giới lập trình viên gọi đây là "vibe coding" - để AI tự viết code, tự đưa ra quyết định kiến trúc, và con người chỉ duyệt ở mức tổng quan.

Vấn đề là AI không tự thêm test trừ khi được yêu cầu cụ thể. Khi Claude Code tự viết code của chính mình, nó không tự đặt câu hỏi "tôi có nên viết test cho đoạn này không?". Kết quả là một codebase khổng lồ được đưa vào production mà không có lớp kiểm tra tự động nào. Hệ quả đã xảy ra trong thực tế: trước khi mã nguồn bị lộ, một nhóm developer ghi nhận hàng loạt lỗi có hệ thống, như phiên làm việc bị đứng hình từ 5 đến 20 phút không có cách thoát, gần 1.300 phiên mỗi ngày gặp hơn 50 lỗi liên tiếp, gây lãng phí hàng trăm nghìn lượt gọi API. Những lỗi này rất khó phát hiện và sửa chính xác vì không có test để xác định phạm vi ảnh hưởng.

Nghịch lý: Claude Code vẫn hoạt động tốt dù không có test

Điều khiến câu chuyện trở nên phức tạp hơn là dù không có một dòng test nào và được viết hoàn toàn bởi AI không có human review từng dòng, Claude Code vẫn đang là công cụ lập trình AI được đánh giá cao nhất trên thị trường. Trên benchmark SWE-bench - bài kiểm tra chuẩn của ngành đo khả năng giải quyết bug thực tế trên GitHub - Claude Code đạt 80,9%, cao hơn hầu hết đối thủ.

Banner sau bài viết Pickt — ứng dụng danh sách mua sắm cộng tác với hình minh họa gia đình

Khi cộng đồng lập trình viên phân tích mã nguồn bị lộ và tự chấm điểm, phần bảo mật đạt 8,5/10, hiệu năng đạt 8/10, và độ ổn định production đạt 7,5/10. Nhận xét kèm theo con số cuối cùng là: "ổn định đáng ngạc nhiên dù không có test". Điều này đặt ra một câu hỏi thực sự: liệu test có thực sự bắt buộc với mọi loại phần mềm, hay đây chỉ là một best practice của ngành mà thực tế đôi khi có thể bỏ qua nếu chấp nhận đủ rủi ro?

Khoảng cách giữa lời khuyên và thực hành trong thế giới AI

Vụ lộ mã nguồn ngày 31/3 sẽ không làm Anthropic sụp đổ. Claude Code vẫn hoạt động, vẫn là lựa chọn hàng đầu của hàng triệu lập trình viên, và Anthropic vẫn đang tiếp tục phát triển sản phẩm. Tuy nhiên, câu chuyện để lại một dư âm khó gạt đi. Mỗi ngày, Claude Code vẫn đang nói với người dùng: hãy viết test, hãy đảm bảo code của bạn được kiểm tra kỹ lưỡng, hãy làm theo best practice. Đó là lời khuyên đúng, nhưng chính công cụ đưa ra lời khuyên đó lại đang vận hành trên một codebase không có bất kỳ lớp kiểm tra nào.

Irony lớn nhất của câu chuyện này không phải là 0 test trong 512.000 dòng code, mà là: công cụ dạy cả thế giới code tốt hơn, chính nó đang là ví dụ sống động nhất của khoảng cách giữa lời khuyên và thực hành. Sự kiện này nhấn mạnh sự phức tạp trong việc áp dụng AI vào phát triển phần mềm và đặt ra những câu hỏi về tiêu chuẩn chất lượng trong kỷ nguyên AI.