Lập trình AI không theo "vibe": Phương pháp Craft Coding giúp bạn kiểm soát mã nguồn
Bài viết đề xuất phương pháp "craft coding" (lập trình thủ công) như một lựa chọn cân bằng giữa lập trình tay truyền thống và "vibe-coding" (lập trình theo cảm hứng bằng AI). Thay vì để AI tự viết toàn bộ mã, lập trình viên nên tự viết code và dùng AI như một người review code cao cấp, giúp phát hiện lỗi sâu, tăng tính bảo mật và tránh mất kỹ năng.

Lập trình AI không theo "vibe": Phương pháp Craft Coding giúp bạn kiểm soát mã nguồn
Trong bối cảnh AI tạo mã ngày càng phổ biến, bài viết này phân tích hai thái cực: lập trình tay hoàn toàn và "vibe-coding" (giao toàn bộ việc viết code cho AI). Tác giả đề xuất một lựa chọn thứ ba mang tên "craft coding" — nơi lập trình viên tự viết từng dòng mã, sau đó dùng AI như một người review cao cấp để tìm lỗi và đề xuất cải tiến.
Phương pháp này không chỉ giúp code an toàn và chính xác hơn mà còn ngăn chặn tình trạng mất kỹ năng ("deskilling"), đồng thời giảm tác động tài chính và môi trường so với việc đốt token không kiểm soát. Đặc biệt phù hợp với mã nguồn khoa học, nơi sự chính xác là yếu tố sống còn.
Sự trỗi dậy của "vibe-coding" và những rủi ro tiềm ẩn
Hiện nay, nhiều lập trình viên có xu hướng "vibe-coding" — để AI tự viết toàn bộ code và chỉ kiểm tra kết quả đầu ra. Cách làm này mang lại cảm giác hiệu quả tức thì, nhưng tiềm ẩn nguy cơ lớn: code có thể chứa lỗi sâu khó phát hiện, dễ trở thành mớ hỗn độn không thể bảo trì, và quan trọng nhất là người lập trình sẽ dần mất khả năng hiểu và đánh giá chất lượng code của chính mình.
Một trong những điều quan trọng nhất bạn học ở trường đại học là khả năng đánh giá liệu bạn có thực sự hiểu một ý tưởng hay không. Giao phó mọi thứ cho AI đồng nghĩa với việc cơ chế đó không bao giờ được phát triển.
Tác giả cảnh báo rằng "vibe-coding" không chỉ là đi đường tắt mà còn là sự tự lừa dối. Khi hóa đơn đến hạn — tức khi bạn nhận ra mình không có kỹ năng thực sự nào — thì có thể đã quá muộn để sửa chữa.
Craft coding: Cách tiếp cận cân bằng giữa hai thái cực
Tác giả sử dụng phép ẩn dụ về ba thợ làm bánh: Hanna (làm thủ công hoàn toàn), Vivian (chỉ quan tâm lợi nhuận, dùng AI để tối ưu chi phí), và Cara (làm bánh chuyên nghiệp nhưng vẫn đặt chất lượng lên hàng đầu). Cara chính là hình ảnh của "craft coder" — người biết dùng công cụ hiện đại để cải thiện sản phẩm nhưng không bao giờ từ bỏ sự hiểu biết sâu sắc về từng chi tiết.
Minh họa phương pháp craft coding
Nguyên tắc cốt lõi của craft coding rất đơn giản: "Viết tay, AI review" (Hand-written, AI reviewed). Nghĩa là:
- Bạn tự viết từng dòng code, không để AI can thiệp vào quá trình viết
- Bạn dùng AI như một người review code cấp cao để tìm lỗi và đề xuất cải tiến
- Bạn tự đánh giá xem có nên áp dụng các đề xuất đó hay không
Mười nguyên tắc của craft coding
Tác giả đưa ra 10 "dogma" để giúp lập trình viên không đi quá xa khi sử dụng AI:
- Không dùng AI trong IDE, kể cả tính năng tự động hoàn thành mã
- Không cho AI truy cập codebase — chỉ copy-paste đoạn code cần review
- Không để AI thực thi code — AI chỉ đề xuất, bạn tự chạy
- Không copy-paste code từ chat AI trực tiếp vào dự án
- Không dùng AI cho việc mà tìm kiếm thông thường đã giải quyết được
- Đọc tài liệu trước khi hỏi AI
- Chỉ hỏi AI khi bạn tự giải quyết không được, sau khi đã dành thời gian suy nghĩ
- Tự kiểm tra code trước khi đưa cho AI review
- Chạy thử code để tìm lỗi, sau đó mới dùng AI để review phần còn lại
- Không áp dụng đề xuất mà bạn không hiểu
Tác giả thừa nhận bản thân không theo tất cả các nguyên tắc này một cách tuyệt đối, nhưng việc biết rõ lý tưởng của mình giúp anh luôn đi đúng hướng.
Vì sao craft coding lại quan trọng trong thời đại AI?
Bảo mật là yêu cầu bắt buộc
Một trong những lý do quan trọng nhất khiến craft coding trở nên cần thiết là vấn đề bảo mật. Con người không thể viết code an toàn 100%. Trước đây, điều này không quá nghiêm trọng vì kẻ tấn công cũng là con người — nếu chúng ta không giỏi tìm lỗi bảo mật sâu thì chúng cũng vậy. Nhưng giờ đây, với sự xuất hiện của AI có khả năng tìm ra lỗ hổng mà mắt thường không thể thấy, code viết tay thuần túy không còn đủ an toàn.
Nếu bạn nghĩ mình đặc biệt và có thể viết code an toàn mọi lúc, tôi xin bạn hãy để một mô hình AI hiện đại review nó. Có thể tôi sai trong trường hợp của bạn, nhưng tôi chắc chắn phần lớn mọi người không như vậy.
Ngăn chặn mất kỹ năng
Code review không chỉ tốt cho chất lượng code mà còn là kênh truyền đạt kỹ năng hiệu quả giữa senior và junior developer. Với AI trong vai trò reviewer, bạn chính là "junior" — nhưng thay vì thụ động nhận đáp án, bạn chủ động đánh giá và học hỏi từng đề xuất. Quá trình này giúp bạn duy trì và phát triển kỹ năng thay vì để chúng mai một.
Tiết kiệm chi phí và bảo vệ môi trường
Trái ngược với "vibe-coding" đốt token không giới hạn, craft coding chỉ cần một phiên chat khiêm tốn là đủ cho nhiều ngày làm việc. Mức phí $20/tháng hoàn toàn hợp lý, và tác động môi trường còn nhỏ hơn cả lượng cà phê bạn uống trong lúc code.
Ứng dụng trong mã nguồn khoa học
Craft coding đặc biệt phù hợp với mã nguồn nghiên cứu khoa học. Trong khoa học, code không phải là sản phẩm cuối cùng mà là công cụ chứng minh ý tưởng trong bài báo. Điều này đòi hỏi code phải chính xác tuyệt đối — nếu code không đúng như mô tả trong bài, toàn bộ nghiên cứu có thể bị vô hiệu.
Tác giả chia sẻ kinh nghiệm cá nhân: khi còn là nghiên cứu sinh, anh dành hàng tuần để viết test suites và debug. Nhưng với AI trong vai trò reviewer, anh có thể nhanh chóng phát hiện lỗi mà trước đây phải mất nhiều tuần mới tìm ra. "Có một mối nguy hiểm là mất kỹ năng nếu tôi làm điều này quá thường xuyên, nhưng tôi biết lý tưởng của mình là gì và cố gắng đi theo hướng đó."
Cân bằng trong một thế giới phân cực
Hiện nay, cộng đồng công nghệ đang có nhiều tranh cãi gay gắt về AI. Một số tổ chức như Codeberg phản đối AI mạnh mẽ, trong khi những người khác như Linus Torvalds lại ủng hộ sử dụng AI như công cụ review. Tác giả cho rằng đây không phải là vấn đề hai chiều — giữa hai thái cực có một vùng trung tâm đầy tiềm năng thông minh và thú vị.
Điều quan trọng nhất là chúng ta phải chống lại sự khao khát phân cực không bao giờ dứt. Đây không phải là vấn đề hai chiều. Có một khoảng trung gian tuyệt vời, đầy những cơ hội thông minh, thú vị và hấp dẫn. Miễn là chúng ta cẩn thận, và không ngừng sử dụng bộ não của mình, mọi giải pháp đều nằm ngay đó.
Kết luận: Tương lai của lập trình
Craft coding không phải là giải pháp hoàn hảo cho mọi tình huống, đặc biệt là trong các công ty công nghệ lớn chạy theo lợi nhuận. Nhưng nó cung cấp một hướng đi có ý nghĩa cho những ai coi trọng chất lượng code, hiểu biết sâu sắc và sự phát triển kỹ năng lâu dài. Trong một thế giới mà AI ngày càng mạnh, việc giữ cho mình vai trò "người viết" thay vì "người ra lệnh" có thể là chìa khóa để không chỉ tồn tại mà còn phát triển.


