Chinh phục Entropy: Xây dựng lòng tin trong kỷ nguyên mã nguồn do AI tạo ra

06 tháng 9, 2026·5 phút đọc

Bài viết phân tích những thách thức về lòng tin khi áp dụng AI tạo mã trong quy trình phát triển phần mềm, đồng thời đề xuất các phương pháp thực tiễn để xây dựng văn hóa trách nhiệm và đảm bảo chất lượng mã nguồn. Tác giả nhấn mạnh vai trò của con người trong việc định nghĩa bài toán, viết test case và duy trì tiêu chuẩn kỹ thuật, thay vì phụ thuộc hoàn toàn vào công cụ AI.

Chinh phục Entropy: Xây dựng lòng tin trong kỷ nguyên mã nguồn do AI tạo ra

Chinh phục Entropy: Xây dựng lòng tin trong kỷ nguyên mã nguồn do AI tạo ra

Phân tích về cách duy trì chất lượng và trách nhiệm khi coding agent trở thành công cụ phổ biến trong đội ngũ kỹ thuật.

Hầu hết các vấn đề tôi gặp phải với mã nguồn do AI tạo ra đều liên quan đến lòng tin. Tôi có tin người viết ticket hiểu rõ yêu cầu? Tôi có tin kỹ sư mở Pull Request (PR) đã nắm được nội dung và hướng dẫn coding agent triển khai đúng cách? Tôi có tin vào phần triển khai của coding agent? Liệu bộ test của chúng tôi có bắt kịp các lỗi hồi quy trước khi chúng ảnh hưởng đến production? Hệ thống CI/CD có đáng tin cậy để build, test và deploy thay đổi? Khả năng quan sát (observability) có cảnh báo kịp thời khi mã AI gây sự cố? AI SRE có chẩn đoán và xử lý vấn đề hiệu quả? Và liệu GitHub có gặp sự cố đúng lúc chúng tôi cần nhất?

Lòng tin rất khó xây dựng nhưng dễ dàng đánh mất. Vì vậy, việc nuôi dưỡng văn hóa tin tưởng trong đội ngũ kỹ thuật là điều then chốt. Chúng ta cần tin tưởng các kỹ sư sẽ làm điều đúng đắn.

Khuyến khích trách nhiệm giải trình

Tôi thấy hữu ích khi truyền đạt rõ ràng điều này đến đội ngũ: "Bạn chịu trách nhiệm cho những gì bạn ship. Nếu mã của bạn gây sự cố production và bạn là tác giả PR, bạn phải có mặt để khắc phục."

Nếu kỹ sư phải chịu trách nhiệm về mã họ phát hành, họ cần được trao quyền lựa chọn công cụ và phương pháp phù hợp. Dù bạn có "cuồng AI" hay không, phải thừa nhận rằng coding agent tạo ra lượng mã khổng lồ với tốc độ chóng mặt. Mã vẫn cần được sinh ra, và giờ chi phí để tạo ra nó đã rẻ hơn nhiều. Để đối phó, kỹ sư phải được phép thiết lập các biện pháp đảm bảo chất lượng mã nguồn không bị suy giảm.

Trong một tổ chức lành mạnh, các kỹ sư nên tin tưởng nhau chỉ đẩy code có chất lượng ở mức "hợp lý". Tôi dùng từ "hợp lý" vì không thực tế khi ám ảnh chất lượng và luôn ship mã hoàn hảo 100%. Ngay cả trước thời coding agent, hầu hết mã nguồn đã là một mớ bug hỗn độn! Vì vậy, việc chấp nhận giải pháp "đủ tốt" là điều dễ hiểu. Chúng ta thường đánh đổi tốc độ lấy chất lượng và chấp nhận một chút nợ kỹ thuật.

Dưới đây là một số thực hành tôi thấy hữu ích để thúc đẩy trách nhiệm giải trình trong kỷ nguyên mã AI:

Quy chuẩn lập trình

Cần có chiến lược công nghệ rõ ràng: dành thời gian xác định điều thực sự quan trọng cho codebase và đầu tư vào các quy chuẩn minh bạch — cho cả con người lẫn coding agent. Ngay cả khi kỹ sư không đọc tài liệu, coding agent của họ sẽ đọc và tuân thủ (phần lớn là vậy).

Công cụ xác định

Tận dụng mạnh mẽ các công cụ xác định (deterministic tools) để đảm bảo chất lượng mã: ngôn ngữ có kiểu tĩnh, trình linter, phát hiện dead code, quét bảo mật, CI/CD... Tất cả những công cụ này đã tồn tại trước coding agent và giúp chúng ta chống lại "rác kỹ thuật số" (slop). (Sẽ có bài tiếp theo với các khuyến nghị cụ thể!)

Áp dụng PR nhỏ

Trao quyền cho kỹ sư từ chối những PR không thể review được. Nếu có thể, hãy mã hóa tiêu chí này để mọi PR không review nổi đều bị hệ thống từ chối ngay lập tức. Tất nhiên, vẫn nên để dư địa cho các trường hợp ngoại lệ.

Làm chủ các bài test

Viết test case bằng tay. Công việc này giống vai trò của một chuyên gia phân tích nghiệp vụ: suy nghĩ sâu về tính năng, xác định tình huống kiểm thử phù hợp, và thảo luận trong team. Coding agent có thể hiện thực hóa test, nhưng chúng phải do con người định nghĩa.

Định vị sản phẩm

Phối hợp chặt chẽ với bộ phận product để có tầm nhìn sản phẩm nhất quán. Rất dễ "phát cuồng" với AI và triển khai mọi tính năng xuất hiện trong đầu. Hãy đảm bảo chỉ xây dựng những tính năng thực sự hữu ích và mang lại giá trị cho người dùng!

Tạo prototype

Viết code "dùng một lần" (throwaway). Vì việc tạo mã giờ rất dễ dàng, đây là cơ hội tốt để thử nghiệm nhiều hướng tiếp cận khác nhau. Đừng để coding agent chỉ đưa ra một giải pháp duy nhất. Ví dụ, thử ba cách tiếp cận khác biệt hoàn toàn và chọn phương án phù hợp nhất với bài toán và hệ thống hiện tại.

Tập trung vào kết quả cuối cùng

Hãy thực dụng về kết quả. Đôi khi mã nguồn không phải là sản phẩm cuối — kết quả có thể là một báo cáo, hay một công cụ giúp bạn hoàn thành việc khác. Trong những trường hợp này, chất lượng code không quá quan trọng miễn là kết quả hữu ích cho người dùng.

Lòng tin là nền tảng của mọi quy trình phát triển phần mềm bền vững — đặc biệt khi AI tham gia sâu hơn vào vòng đời code.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗