Vibe Coding là gì và tại sao nó lại rủi ro?

Tác giả Starlink, T.Ba 29, 2025, 01:55:19 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 2 Khách đang xem chủ đề.

Không ai nói rằng cảm giác đó là tốt.

    Mã hóa Vibe cho phép bất kỳ ai cũng có thể tạo phần mềm mà không cần hiểu mã, loại bỏ rào cản gia nhập.
    Các ứng dụng được mã hóa bằng Vibe có nguy cơ tiềm ẩn các vấn đề về chất lượng và an ninh mạng mà AI có thể bỏ sót.
    Các Mô hình ngôn ngữ lớn cần có sự giám sát của con người do khả năng không chính xác trong quá trình tạo mã.

Bất kỳ ai cũng có thể học lập trình, nhưng lập trình rất khó. Nhờ sức mạnh của AI, bạn có thể nhờ một chatbot viết mã cho bạn, nhưng đó có phải là một ý tưởng hay không?


Chào mừng đến với thế giới " vibe coding ", nơi bất kỳ ai cũng có thể tạo phần mềm và không quan trọng nếu bạn không thực sự hiểu mã code. Điều đó có tuyệt vời không hay thực sự là một vấn đề lớn?

1. "Vibe Coding" chính xác là gì?

Thuật ngữ "vibe coding" về cơ bản là tiếng lóng để chỉ việc tạo mã phần mềm máy tính bằng cách chỉ cần nói với AI những gì bạn muốn mã thực hiện và phần mềm sẽ đưa ra cho bạn. Sau đó, bạn biên dịch mã, chạy ứng dụng và nếu mọi thứ trông ổn, bạn sẽ kết thúc một ngày và chia sẻ phần mềm của mình.

Vấn đề không phải là kiến thức kỹ thuật chính xác, mà là về "cảm giác" mà bạn hướng tới, tôi đoán vậy. Nói cách khác, những người thực hiện mã hóa cảm giác vẫn ở vị trí của một khách hàng giải thích cho một nhà phát triển phần mềm những gì họ muốn. Chỉ là họ đã thay thế nhà phát triển phần mềm con người bằng AI.

2. Ngày càng có nhiều người tạo ra phần mềm bằng AI. Điều đó thật tốt, phải không?

Trong khi thông điệp "học cách lập trình" đã được lan truyền rộng rãi trong nhiều năm nay, sự thật là mặc dù rất nhiều người muốn tạo phần mềm, nhưng họ không có thời gian để học cũng như không có nguồn lực để thuê người có thể lập trình. Vì vậy, có một số lượng lớn những người có ý tưởng về ứng dụng hoặc phần mềm khác, nhưng không có cách nào để biến chúng thành hiện thực.

Vì vậy, theo một góc nhìn, mã hóa rung cảm khá tuyệt vời. Điều đó có nghĩa là, giống như việc tạo hình ảnh AI, rào cản gia nhập đã được xóa bỏ đối với một thứ thường mất nhiều năm thực hành và nghiên cứu để thực hiện. Bạn có thể lập luận rằng đây là sự dân chủ hóa của việc tạo phần mềm.

Nó cũng gần giống với sự phát triển của lập trình trong nhiều thập kỷ. Lúc đầu, các lập trình viên phải làm việc với mã máy thô, sau đó là ngôn ngữ Assembly, dễ hiểu hơn đối với con người, nhưng vẫn khá gần với mã máy về chức năng.

Sau đó, các ngôn ngữ mã hóa cấp cao đã tạo ra một ranh giới giữa thứ gì đó có thể dễ dàng dịch sang mã máy và ngôn ngữ của con người như tiếng Anh. Các ngôn ngữ như C hoặc Python thoạt nhìn có vẻ khó hiểu, nhưng chúng có cú pháp gần hơn nhiều với phía con người và đại diện cho một bước nhảy vọt lớn về mức độ dễ dàng để tạo ra phần mềm.

Vì vậy, bạn có thể coi mã hóa rung cảm là sự tiến hóa tự nhiên của việc dịch từ ngôn ngữ con người sang ngôn ngữ máy, về mặt lý thuyết thì đây là một ý tưởng hay nhưng lại nảy sinh một số vấn đề.

3. Ứng dụng Vibe-Coded có thể nguy hiểm

Vấn đề là—nếu bạn không có cách nào để đánh giá chất lượng mã của mình, nó có thể có đủ loại vấn đề mà bạn không hề hay biết. Ngay cả khi bạn kiểm tra mã một cách rộng rãi và sử dụng AI để sửa lỗi và sự cố lặp đi lặp lại mà bạn tìm thấy, bạn vẫn không biết liệu mã đó có thực sự tốt hay không. Nó có tuân theo các thông lệ tốt về an ninh mạng không? Nó có một số lỗi rõ ràng mà một lập trình viên con người có thể phát hiện ra ngay lập tức không? Có lẽ quan trọng hơn, có một vấn đề không quá rõ ràng mà chỉ một lập trình viên con người có kinh nghiệm mới phát hiện ra không?

Viết một trò chơi nhỏ vui nhộn cho con bạn hoặc cho các dự án tự làm cá nhân là một chuyện, nhưng nếu bạn đang cố gắng tạo ra phần mềm để xuất bản hoặc thậm chí bán thì sẽ có rất nhiều cạm bẫy.

4. LLM luôn có rủi ro trừ khi bạn là chuyên gia về một lĩnh vực nào đó

Do cách thức hoạt động của Mô hình ngôn ngữ lớn, luôn có khả năng nó sẽ mắc lỗi hoặc thậm chí tạo ra những thứ không nên. Khi nói đến mã máy tính, ngay cả một LLM đáng tin cậy và chính xác 99% vẫn sẽ tạo ra các vấn đề đáng kể khi bạn có hàng trăm hoặc hàng nghìn dòng mã. Tệ hơn nữa, nếu bạn yêu cầu một LLM đánh giá mã đó, đôi khi nó sẽ làm không đúng vì những lý do tương tự.

Đây chỉ là triệu chứng của một vấn đề với LLM nói chung. Nếu bạn là chuyên gia về một lĩnh vực nào đó, thì LLM có thể là một công cụ thúc đẩy năng suất mạnh mẽ và sâu sắc. Vì vậy, một lập trình viên lão luyện giờ đây có thể chỉ cần dành thời gian để gỡ lỗi 1% mã sai, thay vì viết 99% còn lại chủ yếu là công việc lặp lại. Đối với một người như vậy, trợ lý lập trình LLM là điều tuyệt vời nhất từng xảy ra với họ.

Đối với người không biết cách gỡ lỗi mã, hoặc người đang cố gắng sử dụng bằng LLM trong một lĩnh vực mà họ không biết gì, thì đây là một cái bẫy chết người khi bạn không biết những gì mình không biết.

5. Luôn phải có một người lập trình trong vòng lặp

Tôi nghĩ điều này thường đúng với bất kỳ công việc nào do LLM thực hiện, nhưng bạn luôn cần một chuyên gia con người trong vòng lặp để kiểm tra công việc do LLM thực hiện. Cho dù đó là mã hóa hay viết một bài nghiên cứu. LLM sẽ không bao giờ đáng tin cậy hoặc đáng tin cậy 100%, và bất kỳ con số nào dưới 100% có nghĩa là bạn cần một con người kiểm tra đầu ra đó.

Điều này không có nghĩa là LLM vô dụng hoặc chúng sẽ không cách mạng hóa những gì chúng ta có thể làm hoặc tốc độ chúng ta có thể làm, nó chỉ có nghĩa là chúng ta sẽ luôn phải giám sát nó một cách thành thạo. Vì vậy, thật không may, bạn vẫn phải học cách viết mã. Không có cách nào khác.