Có một xu hướng mới trong số những người đam mê AI, và đó không phải là chatbot hay tác nhân. Chúng ta đang nói về "vibe coding"—một phiên mà một người chỉ cần nói chuyện với AI, đưa ra ý tưởng về thứ họ muốn xây dựng và bắt đầu lặp lại với mô hình, yêu cầu nó sửa và cải thiện mọi thứ trong quá trình thực hiện.
Người ta cho rằng việc này dễ như nói chuyện với một người bạn và thậm chí đủ đơn giản để những người không có nhiều hiểu biết về kỹ thuật cũng có thể thực hiện được.
Tôi đã viết về nó ở đây . Nhưng để vượt ra ngoài sự cường điệu, tôi muốn xem liệu mã hóa rung cảm có thực sự tạo ra được thứ gì đó hữu ích hay không.
Tôi đã chọn Claude 3.7 Sonnet làm đối tác AI của mình sau khi các bài kiểm tra của Decrypt cho thấy nó thậm chí còn vượt trội hơn Grok-3 trong các tác vụ mã hóa.
Dự án phần mềm của tôi khá đơn giản: Tôi muốn xây dựng một trò chơi đánh máy trong đó các từ sẽ lần lượt xuất hiện trên màn hình, yêu cầu người chơi phải gõ chúng trước khi chạm đến đáy để sống sót.
Chúng tôi bắt đầu bằng lời nhắc cơ bản nhất có thể: "Viết một trò chơi đẹp, thư giãn trong đó tôi phải gõ các từ thật nhanh để duy trì sự sống. Các từ sẽ rơi xuống và mỗi chữ cái sẽ biến mất khi tôi gõ chúng."
Trong vòng vài phút, Claude đã cho ra mắt một trò chơi trông giống như hoàn chỉnh... Nhưng khi tôi thử chạy nó, không có gì xảy ra. Nút bắt đầu đã chết. Tôi đã đề cập đến lỗi với Claude và nó bắt đầu hoạt động, đảm bảo với tôi rằng nó đã tìm thấy lỗi và đang sửa lỗi.
Claude đã hoàn thành, và trò chơi mới đã ở trước mắt chúng tôi. Tôi đã thử, và không… vẫn hỏng. Thay vì tự mình tìm hiểu mã (đó không phải là mã hóa rung cảm!), tôi chỉ nói với Claude: "Không. Không có gì xảy ra khi tôi nhấp vào nút. Trò chơi không bao giờ bắt đầu."
AI đã quay lại làm việc và lần thử thứ hai của nó thực sự đã được khởi chạy. Tôi cũng gian lận một Bit và kiểm tra mã, nhận thấy một vấn đề khác: Trò chơi chỉ sử dụng khoảng 10 từ khác nhau, sẽ nhanh chóng bị lặp lại. Thay vì yêu cầu tích hợp toàn bộ từ điển, tôi đã yêu cầu Claude trộn các từ thực với các từ bịa ra—một giải pháp thực tế giúp giữ cho mã đơn giản.
Tôi tiếp tục trao đổi qua lại với Claude, tinh chỉnh thông qua ngôn ngữ tự nhiên thay vì chỉnh sửa mã. Mười bốn lần lặp lại sau, tôi đã có thứ gì đó đủ thỏa đáng để chia sẻ mà không phải xấu hổ.
Khi các đồng nghiệp của tôi thử nghiệm trò chơi đã hoàn thành, phản ứng chủ yếu là tích cực. Một nhà báo thậm chí còn đánh bại điểm cao nhất của tôi (thật tệ), trong khi những người khác đưa ra ý tưởng cải tiến. "Lỗi" duy nhất họ tìm thấy thực ra là những hạn chế cố ý: các từ được tạo ngẫu nhiên, nhưng không hỗ trợ di động.
Bạn có thể thử trò chơi tại đây . Tính đến thời điểm hiện tại, Ryan Gladwin đang giữ kỷ lục với 2.830 điểm, nhưng hy vọng tôi sẽ sớm giành lại được ngai vàng của mình.
Sau tất cả những điều này và các thử nghiệm khác, đây là một số điều có thể hữu ích cho những ai muốn thử mã hóa rung cảm:
1. Nguyên mẫu nhanh hoạt động: Chúng tôi đã chuyển từ khái niệm sang trò chơi có thể chơi được một cách nhanh chóng, với đầu vào kỹ thuật tối thiểu. Điều này rất tuyệt vời cho người mới bắt đầu với khả năng lập trình tối thiểu. Tuy nhiên, nó có thể là một kỹ thuật tốt cho những người lập trình có kinh nghiệm cần bản nháp để bắt đầu lặp lại.
2. Lặp lại là chìa khóa: Nỗ lực đầu tiên hiếm khi hoạt động hoàn hảo. Thành công đến từ sự tinh chỉnh trong giao tiếp và phản hồi rõ ràng. Ở giai đoạn này, các lập trình viên giàu kinh nghiệm có thể bỏ qua mã hóa rung động và tuân theo cách gỡ lỗi thông thường, sử dụng AI như nó vốn có—một trợ lý kỹ thuật số giúp họ trong quá trình này. Tuy nhiên, những người sẵn sàng cam kết hoàn toàn với mã hóa rung động có thể hưởng lợi từ việc sử dụng ngôn ngữ rất cụ thể và chi tiết. Lời nhắc của bạn càng phong phú và có cấu trúc tốt thì kết quả bạn nhận được càng tốt.
3. Đừng vội vàng: Biết khi nào cần đơn giản hóa các yêu cầu giúp đạt được sản phẩm hoạt động nhanh hơn. Lý tưởng nhất là không yêu cầu mô hình thực hiện mọi thứ cùng một lúc. Thay vào đó, hãy nghĩ về trải nghiệm như việc thêm các lớp khác nhau vào một cấu trúc thô. Bắt đầu với những điều cơ bản, sau đó yêu cầu mô hình sửa một lỗi nhỏ, rồi một lỗi khác, sau đó thêm một điều cụ thể mà bạn muốn thấy—và tiếp tục từ đó.
4. Chất lượng có giới hạn: Mặc dù chúng tôi đã tạo ra một trò chơi chức năng và thú vị, nhưng nó thiếu sự trau chuốt và tối ưu hóa của phần mềm được phát triển chuyên nghiệp. Đừng mong phát triển Skyrim bằng Grok.
5. Gỡ lỗi là đàm thoại: Thay vì tìm kiếm các vấn đề trong mã, chúng tôi chỉ mô tả những gì không hoạt động và để AI tìm ra cách khắc phục. Điều này hoạt động tốt, nhưng tất nhiên, các chuyên gia có thể đẩy nhanh mọi thứ bằng cách kiểm tra mã hoặc nói chuyện với mô hình về các vấn đề kỹ thuật thay vì kết quả mong đợi.
Nhìn chung, mã hóa rung động thực sự có thể tạo ra phần mềm chức năng nếu bạn đủ kiên nhẫn để hướng dẫn AI qua nhiều lần lặp lại. Liệu đó có phải là mã chất lượng sản xuất không? Chắc chắn là không. Bạn vẫn cần gỡ lỗi, tối ưu hóa và nhiều công cụ chuyên dụng khác nhau để xây dựng các ứng dụng thực sự chuyên nghiệp.
Nhưng rồi, anh chàng đã tạo ra Flappy Bird đã kiếm được hàng triệu đô la với một trò chơi đơn giản không cần kiến trúc cầu kỳ hay hệ thống phức tạp. Đôi khi, tất cả những gì bạn cần là một ý tưởng hay và có thể—chỉ có thể—phù hợp với AI cho đến khi bạn bắt đầu kiếm được hàng triệu đô la.