Từ Ý Tưởng Đến Hiện Thực Chỉ Trong 30 Phút
Fly.pieter.com là một trò chơi mô phỏng bay MMO miễn phí trên trình duyệt, được tạo ra hoàn toàn bằng AI. Tác giả của trò chơi, Pieter Levels, là một nhà phát triển phần mềm nổi tiếng với phong cách làm việc độc lập và tận dụng tối đa công nghệ AI trong khởi nghiệp.
"Tất cả trang web, ứng dụng, start-up của tôi đều được tôi xây dựng một mình, chỉ sử dụng HTML, JavaScript với jQuery, PHP và SQLite. Tôi không hợp tác với ai và thích tự làm nhanh” – Levels chia sẻ.
Theo 404 Media, phong cách lập trình của Levels được gọi là "vibe coding" – nghĩa là lập trình theo cảm tính. Cách tiếp cận này không quá chú trọng vào cấu trúc hay chi tiết mã nguồn mà tập trung vào việc hướng dẫn AI thực hiện công việc. Với cách làm này, lập trình viên không cần lo về sự gọn gàng hay tính toàn vẹn của mã nguồn, mà chỉ cần mô tả ý tưởng để AI tự triển khai.
"Vibe Coding" – Lập trình không cần hiểu mã nguồn?
Ngày 22/2, Pieter Levels chia sẻ trên X rằng anh đã sử dụng AI lập trình Cursor để tạo ra Fly.pieter.com chỉ với một câu lệnh đơn giản: “Hãy tạo một trò chơi bay 3D trong trình duyệt với các tòa nhà chọc trời”. Sau một số chỉnh sửa nhỏ, trò chơi đã hoàn thiện. Chỉ hai tuần sau, Levels công bố doanh thu từ trò chơi này lên tới 52.360 USD/tháng.
Tuy nhiên, phần lớn doanh thu không đến từ việc bán vật phẩm trong game. Trong tổng số 52.360 USD, chỉ có 360 USD đến từ 12 chiếc máy bay (mỗi chiếc 29,99 USD). Phần lớn lợi nhuận (khoảng 52.000 USD) đến từ quảng cáo trong game, với Bolt – một công ty phát triển công cụ AI – là nhà tài trợ lớn nhất. Ngoài ra, trò chơi cũng được tài khoản của Elon Musk với 220 triệu người theo dõi chia sẻ, giúp nó lan tỏa mạnh mẽ.
Khái niệm "vibe coding" được đặt ra bởi Andrej Karpathy – cựu chuyên gia nghiên cứu của OpenAI. Theo Karpathy, cách lập trình này giúp người dùng không cần hiểu sâu về mã nguồn. Họ chỉ cần mô tả ý tưởng, để AI viết mã và chấp nhận kết quả mà không cần kiểm tra quá kỹ.
“Có một kiểu lập trình mới mà tôi gọi là ‘vibe coding’. Bạn chỉ cần cảm nhận, chấp nhận kết quả, quên rằng mã nguồn tồn tại. Tôi chỉ cần nhìn thấy thứ gì đó, mô tả nó, chạy thử, sao chép - dán và phần lớn là nó hoạt động" – Karpathy chia sẻ.
Sự phát triển của AI khiến cách lập trình này ngày càng phổ biến. Các công cụ như ChatGPT, Claude của Anthropic, Cursor Composer (40.000 người dùng trả phí), GitHub Copilot (1,3 triệu người dùng) và Replit Agent (30 triệu người dùng) giúp bất kỳ ai cũng có thể lập trình mà không cần hiểu về mã.
AI Có Thực Sự Thay Thế Lập Trình Viên?
Mặc dù "vibe coding" có thể giúp tạo ra sản phẩm nhanh chóng, nhưng liệu nó có thực sự đáng tin cậy? Theo nhà nghiên cứu AI Simon Willison, phương pháp này phù hợp với các dự án nhỏ hoặc thử nghiệm nhanh, nhưng khó có thể thay thế lập trình truyền thống khi phát triển các hệ thống lớn.
"Tạo một trò chơi từ một câu lệnh AI là điều đáng kinh ngạc. Nhưng việc duy trì, sửa lỗi và mở rộng một dự án lớn yêu cầu sự hiểu biết sâu sắc về mã nguồn. Bạn không thể chỉ dựa vào AI mà không có kiến thức nền tảng về lập trình"– Willison nhấn mạnh.
Một vấn đề lớn của việc lập trình bằng AI là tính chính xác và độ tin cậy. AI có thể tạo ra mã không tối ưu hoặc chứa lỗi. Việc lạm dụng AI khi lập trình cũng có thể dẫn đến "nợ kỹ thuật" – khi một đoạn mã không được kiểm tra kỹ sẽ trở thành gánh nặng khi cần sửa lỗi hoặc mở rộng sau này.
Dù Fly.pieter.com thành công nhanh chóng, nhưng Levels vẫn phải liên tục sửa lỗi và nâng cấp trò chơi. Anh từng phải khắc phục một lỗ hổng bảo mật khi có người lợi dụng game để quảng bá nội dung không phù hợp. Anh cũng thêm nhiều yếu tố mới như khí cầu, hành tinh và không gian quảng cáo để tăng trải nghiệm cho người chơi.
Theo Ars Technica, vào những năm 1980, nhiều người từng tin rằng ai cũng cần biết lập trình để sử dụng máy tính. Nhưng với sự phát triển của phần mềm, người dùng ngày nay có thể làm được nhiều việc mà không cần viết mã. AI lập trình cũng có thể đi theo con đường tương tự – giúp việc viết mã dễ dàng hơn, nhưng không thay thế hoàn toàn lập trình viên.
"Là một lập trình viên, bạn phải chịu trách nhiệm về mã nguồn của mình. Nếu bạn đặt tên mình lên một đoạn mã, bạn cần hiểu nó hoạt động như thế nào và tại sao" – Simon Willison kết luận.