Site icon LCDUNG

Vibe Coding & CHOP: Những điều bạn cần biết về phát triển phần mềm dựa trên AI

Định nghĩa Vibe Coding & CHOP

Vibe Coding là một phương pháp lập trình mới, nơi các nhà phát triển mô tả chức năng phần mềm mong muốn bằng ngôn ngữ tự nhiên. Một trợ lý lập trình AI sau đó sẽ tạo ra phần lớn mã nguồn dựa trên mô tả đó. Vai trò của nhà phát triển chuyển từ việc viết từng dòng mã sang hướng dẫn AI thông qua các lệnh và tinh chỉnh lặp đi lặp lại, đóng vai trò như một người điều phối cấp cao. Thuật ngữ này được giới thiệu lần đầu bởi Andrej Karpathy vào tháng 2 năm 2025.

CHOP (Chat-Oriented Programming) là một khái niệm liên quan, được phổ biến bởi Steve Yegge, mô tả việc ngày càng phụ thuộc vào các tương tác hội thoại với các mô hình ngôn ngữ lớn (LLM) để tạo và chỉnh sửa mã. Trong khi Vibe Coding nhấn mạnh trải nghiệm tổng thể của nhà phát triển và sự lặp lại nhanh chóng, CHOP đặc biệt nhấn mạnh giao diện trò chuyện như phương tiện chính để tương tác với AI. Cả hai phương pháp đều phản ánh một xu hướng rộng hơn: các nhà phát triển đóng vai trò như những người điều phối và hướng dẫn chiến lược cấp cao, thay vì chỉ là những người viết mã từng dòng.

Vibe Coding có chỉ là một từ thông dụng?

Thuật ngữ “vibe coding” đã bị sernior developer bác bỏ như một từ thông dụng tầm thường và gây hiểu lầm.

Các nhà phê bình cho rằng đây chỉ là việc tái định danh các thực hành lập trình hỗ trợ AI hiện có, không phải một phương pháp mới. Nó đơn giản hóa quá mức sự phức tạp của phát triển phần mềm và không thừa nhận tầm quan trọng liên tục của các kỹ năng lập trình truyền thống.

Nhiều người coi đây là một thuật ngữ tiếp thị bỏ qua những rủi ro đáng kể. Như một người bình luận đã nói: “Viết mã thì dễ, kiểm thử và duy trì mới khó.”

Source: reddit

Bối cảnh phát triển phần mềm đang thay đổi

Sự gia tăng của Vibe Coding và các phương pháp tương tự được thúc đẩy bởi khả năng ngày càng tăng của các mô hình ngôn ngữ lớn (LLM) trong việc tự động hóa các nhiệm vụ lập trình cụ thể, được xác định rõ.

Hãy xem một dự án phần mềm như một mạng lưới các nhiệm vụ liên kết – một “task graph”. Các LLM ngày càng trở nên thành thạo có thể xử lý những tác vụ đơn lẻ (gọi là “leaf nodes” trong task graph), như viết hàm, xử lý API, sinh form, tạo dashboard…

Điều này để lại cho các nhà phát triển con người tập trung vào các “interior nodes” – các nhiệm vụ liên quan đến lập kế hoạch cấp cao hơn, quyết định kiến trúc, phối hợp các thành phần khác nhau và tích hợp mã do AI tạo ra.

Sự chuyển đổi này có nghĩa là các nhà phát triển ngày càng ít tập trung vào việc viết từng dòng mã và nhiều hơn vào việc điều phối quá trình phát triển tổng thể như CTO, hướng dẫn AI và đảm bảo chất lượng và sự nhất quán của sản phẩm cuối cùng.

Lợi ích và thách thức của Vibe Coding & CHOP

Lợi ích

Thách thức

Những hạn chế của phát triển dựa trên AI

Mặc dù phát triển dựa trên AI mang lại những lợi ích đáng kể, nhưng nó cũng có một số hạn chế và rủi ro tiềm ẩn:

Best Practices khi áp dụng Vibe Coding & CHOP trong AI-Assisted Development

1. Thành thạo kỹ năng Prompting (Prompt Engineering)

Trong Vibe Coding, cách bạn giao tiếp với AI chính là kỹ năng lập trình mới.

📝 Ví dụ prompt:

“Viết hàm xử lý thanh toán qua MoMo API cho ứng dụng e-commerce sử dụng NodeJS + Express. Trả về lỗi nếu mã giao dịch không hợp lệ.”


2. Áp dụng mô hình Hybrid Workflow

Không nên để AI làm hết. Hãy tách rõ phần việc:

Dev giỏi là người biết “phân công lao động” hợp lý giữa AI và con người.


3. Bắt buộc Code Review

Mọi đoạn code do AI sinh ra đều phải qua tay review của dev có kinh nghiệm.

🤖 Code AI sinh ra có thể chạy được, nhưng chưa chắc đủ tốt để scale, bảo trì hoặc bảo mật trong môi trường production.


4. Testing kỹ lưỡng là bắt buộc

Dù AI có viết đúng logic đi nữa thì vẫn cần test chặt chẽ:

Testing không chỉ để bắt lỗi, mà còn là cách hiểu rõ hơn về system bạn đang xây dựng.


5. Hiểu mã mình không viết

Dù không viết từng dòng code, bạn vẫn phải hiểu rõ:

Nếu không hiểu, bạn sẽ không sửa được, và về lâu dài sẽ đánh mất khả năng làm chủ sản phẩm.


Lời kết cho các team phát triển phần mềm

Vibe Coding và CHOP không phải để thay thế developer, mà để giúp developer làm việc thông minh hơn.

Hãy coi AI như một cộng sự, chứ không phải “người thay thế”.

Đội ngũ phát triển giỏi trong tương lai là đội biết:

AI là công cụ mạnh, nhưng bạn vẫn là người chịu trách nhiệm cuối cùng.

Exit mobile version