Vibe Coding - Lập trình theo vibe
(x.com/karpathy)- Andrej Karpathy nói về vibe coding như một cách làm mới, khi LLM đã đủ tốt để tạo ra mã mà gần như không cần ý thức về bản thân mã nguồn
- Kết hợp Cursor Composer với Sonnet và nhập liệu bằng giọng nói qua SuperWhisper, gần như không dùng bàn phím mà truyền đạt yêu cầu bằng lời nói
- Ngay cả yêu cầu nhỏ như giảm một nửa padding cũng giao cho công cụ xử lý thay vì tự tìm, và bấm Accept All mà không đọc diff
- Thông báo lỗi được sao chép và dán vào mà không giải thích; nếu LLM không sửa được bug thì sẽ đi đường vòng hoặc lặp lại các thay đổi tùy ý cho đến khi vấn đề biến mất
- Có thể dùng được cho các dự án dùng một lần vào cuối tuần, nhưng mã có thể phình to vượt quá phạm vi hiểu biết, nên cách này gần với việc quan sát, nói, chạy và dán hơn là lập trình
Cách làm việc của “vibe coding”
- vibe coding là cách làm gần như giao phó hoàn toàn cho LLM và quên cả sự tồn tại của mã nguồn
- Ví dụ công cụ là Cursor Composer with Sonnet, còn nhập liệu bằng giọng nói dùng SuperWhisper
- Thay vì tự tìm hoặc sửa mã, lặp lại quy trình sau
- Nhìn những thay đổi cần thiết trên màn hình
- Yêu cầu Composer bằng lời nói
- Chạy kết quả
- Sao chép và dán thông báo lỗi
- Không còn đọc diff nữa mà luôn bấm Accept All
- Khi mã phình to vượt quá mức hiểu biết thường ngày, sẽ rơi vào trạng thái phải đọc mã một thời gian để thực sự hiểu được nó
Giới hạn và ví dụ
- Cũng có lúc LLM không sửa được bug
- Khi đó sẽ đi đường vòng để tránh bug
- Hoặc tiếp tục yêu cầu các thay đổi tùy ý cho đến khi vấn đề biến mất
- Cách làm này được đánh giá là không tệ cho các throwaway weekend projects
- Anh cũng đã tạo một trò Battleship bằng khoảng một giờ vibe coding
- Đây là dạng trong đó hai mô hình LLM bất kỳ do người dùng chọn sẽ đấu với nhau theo thời gian thực
- Chưa có thống kê chắc chắn, nhưng anh nói có vẻ 4o thắng 4o-mini
2 bình luận
Ý kiến trên Hacker News
Tự dùng thử thì thấy khá ổn, nhưng chắc chắn phải cẩn thận với ảo giác
Ví dụ, tôi bảo nó viết một báo cáo giới thiệu về tôi dài 500 từ thì có ít nhất 3 lỗi. Nó nói điểm uy tín Stack Overflow của tôi là 47.000, nhưng thực ra nó đã nhầm con số “47k người đã tiếp cận” trên hồ sơ với điểm uy tín 525. Nó còn trích dẫn rằng tôi đã trả lời về PHP monkey-patching, nhưng thực tế đó là câu hỏi tôi đặt 15 năm trước, còn người trả lời là người khác. Cuối cùng, câu trích dẫn phỏng vấn cũng không phải của tôi, mà là từ cuộc phỏng vấn của người anh/em cùng tôi sáng lập công ty
Có thể dùng làm điểm xuất phát, nhưng kết quả nhất thiết phải được kiểm chứng bằng cách lần theo các liên kết nguồn
Nếu phần khó là viết câu chữ, thì tự nghiên cứu rồi viết dàn ý, sau đó để mô hình ngôn ngữ lớn biến nó thành câu văn hoàn chỉnh có lẽ còn nhanh hơn. Nhưng làm vậy rốt cuộc lại chứng minh rằng phong cách văn xuôi là phần có giá trị thấp trong công việc; với tư cách một người từng học chuyên ngành văn học Anh thì nghe đau đấy, nhưng nhìn chung là đúng
Có những nơi tung sản phẩm ra sớm hơn rất nhiều so với năng lực ra mắt sản phẩm cho đàng hoàng, và tôi cũng không rõ lớp phòng vệ pháp lý của họ có vững đến thế không. Tuy vậy, đầu ra được hỗ trợ bởi cơ sở dữ liệu có thể, và nên, hạn chế mạnh những hiện tượng nhớ sai như vậy. Cần một kiểu kiểm chứng tuyến tính giống con người: nảy ra ý tưởng rồi đối chiếu với dữ liệu; đó chính là thẩm định thực tế và là một phần của quá trình suy luận. Có vẻ như những chuyển động theo hướng khác với quá trình tiến hóa cốt lõi của sản phẩm đang làm chao đảo R&D, và nó có cảm giác như một dạng trì hoãn
Khi nói “nghiên cứu chuyên sâu”, rốt cuộc người ta sẽ hiểu là bao gồm cả việc đưa ra đáp án đúng
Giờ đây, ngay cả khi chỉ 10% câu trả lời là hoàn toàn sai, dù là sai theo lẽ thường hay tự mâu thuẫn, nhiều người cũng cho rằng niềm tin vào toàn bộ tương tác bị suy giảm nghiêm trọng. Ngoài việc xác nhận lại những gì mình đã biết, mô hình ngôn ngữ thực ra không đủ lớn để biết mọi thứ; nó chỉ nghe như thể nó biết mà thôi
Điều tôi muốn không chỉ là câu trả lời đúng, mà là câu trả lời đúng nhanh hơn thời gian tôi tự nghiên cứu, và cũng nhanh hơn thời gian kiểm chứng câu trả lời do máy đưa ra. Đưa cho học sinh một đề thi mà mình đã biết đáp án để làm, và phải tin vào đáp án cho một câu hỏi mà chính mình không biết câu trả lời, là hai cấp độ hoàn toàn khác nhau
Thỉnh thoảng dùng đây đó thì hữu ích, nhưng không hữu ích tương xứng với số tiền đổ vào nó. Tất nhiên là nó hữu ích với các công ty nhận khoản tiền đó. Đây là một ví dụ mà nếu là AI thật thì ta kỳ vọng nó có thể tự giải được, nhưng các mô hình ngôn ngữ lớn hiện nay thất bại thảm hại: https://x.com/RadishHarmers/status/1885884032220643587
Nếu không phải lĩnh vực có thể chấp nhận lỗi hoặc ảo giác, thì để có lợi ích thực sự, thời gian con người kiểm tra lời giải phải nhanh hơn theo cấp số mũ so với thời gian AI tìm ra nó
Nó sẽ không phải lời giải cho mọi vấn đề, nhưng cũng giống nhiều vấn đề kỹ thuật. Chẳng hạn ORM không phù hợp với mọi truy vấn, nhưng đủ tốt cho một phần đáng kể
Điều này tạo cảm giác đáng sợ. Dù thừa nhận vấn đề ảo giác và lỗi, người dùng thực tế rất có khả năng sẽ phớt lờ chúng và đưa kết quả vào PowerPoint của mình
Tư vấn quản trị vốn đã đủ tệ rồi, nhưng nếu có thể sản xuất hàng loạt biểu đồ và thống kê tùy ý thì sẽ còn tệ hơn. Dù sao trước đây vẫn còn phần nào hiểu được các con số đến từ đâu ở phía sau, và cũng có thể cung cấp nguồn
Những công cụ như thế này càng mạnh, hiệu ứng khiến các kết quả đó thấm vào khắp nơi sẽ càng phổ biến
Các mô hình ngôn ngữ lớn đang khiến mọi người miễn nhiễm với loại nội dung có giá trị thông tin thấp này. Những người tạo ra kết quả ở mức LLM giờ sẽ bị nghi là đã dùng LLM, và khó còn giả vờ rằng mình đang tạo thêm giá trị. Kết quả là các consultant sẽ bị đòi hỏi chất lượng cao hơn, còn những người chỉ tạo ra lời lẽ dài dòng thay vì thông tin chính xác, có insight và phù hợp ngữ cảnh sẽ bị lọc bỏ
Gemini cũng đã có Deep Research cùng tên từ một hai tháng trước: https://blog.google/products/gemini/google-gemini-deep-resea...
Như một câu hỏi meta, tôi tò mò vì sao trong ngành AI lại có nhiều cái tên trùng nhau như vậy. Tôi nghĩ đến Triton (Nvidia, OpenAI) hay Gro{k,q} (X.ai, groq, OpenAI)
Những từ cần cho PR nhưng thực tế chưa đạt được sẽ bị tái định nghĩa. “grok” là ví dụ hoàn hảo, vì trong sách khoa học viễn tưởng gốc nó có nghĩa là “hiểu trọn vẹn”. Triton trong thần thoại cai quản biển sâu, nên khẩu hiệu bán hàng “deep learning” coi như đã lấy ngay được cái tên đó
Nếu tự thử, bạn sẽ thấy việc khiến một mô hình ngôn ngữ lớn thật sự đào sâu là khá khó. Deep Research của OpenAI có cảm giác như một trong những ví dụ đầu tiên cho thấy một phòng thí nghiệm lớn có thể làm điều đó như thế nào. Thường phần khó không phải bản thân “agent”, mà là buộc mô hình không được quên phải đào sâu
Không biết bạn có để ý không, nhưng tính năng này có vẻ được vận hành bằng mô hình o3 chưa công khai. Điều đó cũng khớp với lý do nó vượt xa trên benchmark và với lập luận rằng o3 quá đắt để phát hành công khai. Trông đây là một mô hình ấn tượng, vượt trước Google, DeepSeek và Perplexity
Nếu o3 quá đắt để công khai cho đại chúng, thì tại sao lại dùng nó cho một công cụ phải gọi suy luận hàng trăm lần cho mỗi câu hỏi? Họ sẽ dùng một mô hình rẻ hơn nhiều. Có lẽ là o3-mini hoặc o1-mini, kết hợp với o4-mini cho một số tác vụ
o3 có thể có lợi khi tổng hợp câu trả lời cuối cùng hoặc chọn giữa các nguồn mâu thuẫn, nhưng để đi đến điểm đó cần rất nhiều bước
Với những người làm trong học thuật, đây thực sự là một công cụ thú vị. Tôi muốn thử, nhưng hiện không kham nổi 200 đô la mỗi tháng
Sẽ rất tốt nếu có ai đó có thể thử bằng prompt sau: với vai trò trợ lý nghiên cứu vật lý hạt, hãy viết một bản tóm tắt kỹ thuật so sánh Future Circular Collider (FCC) của CERN, International Linear Collider (ILC), Compact Linear Collider (CLIC), nhiều đề xuất Muon Collider và các kế hoạch máy va chạm hạt thế hệ tiếp theo chủ chốt tính đến năm 2024 theo dải năng lượng, kiểu va chạm, lịch trình, ưu nhược điểm kỹ thuật, chi phí, mục tiêu vật lý, báo cáo thiết kế, hợp tác quốc tế, hiệu quả chi phí, khả năng khám phá, hạ tầng, tác động môi trường và lộ trình nâng cấp
Kết quả gốc quá dài để chép hết lên HN, và là dạng báo cáo so sánh bằng bảng cùng nguồn tham khảo về FCC, ILC, CLIC, Muon Collider, CEPC/SppC, v.v. theo năng lượng dự kiến, phương thức va chạm, lịch trình, chi phí, thách thức kỹ thuật, mục tiêu vật lý, hỗ trợ quốc tế, tác động môi trường và lộ trình nâng cấp dài hạn
Tôi nghi ngờ liệu năng lực này có thật sự là điều kiện tiên quyết của AGI và ASI hay không
Suy luận, giải quyết vấn đề, kiểm chứng nghiên cứu về cơ bản đều gần với tư duy đã được tinh luyện. Nghiên cứu vẫn là một lĩnh vực mà tôi hoài nghi về tầm quan trọng của nó, vì chứng cứ có giá trị không đến từ một câu trả lời được sắp xếp gọn gàng, mà đến từ kết quả thực thi
Ví dụ, dù bạn có tìm hiểu kỹ đến đâu trên Internet về máy hút bụi tốt nhất, trước khi trực tiếp dùng thử thì bạn vẫn bị kẹt giữa marketing, đánh giá giả và influencer. Lĩnh vực khoa học có thể phần nào được bảo vệ khỏi vấn đề này vì nó nhàm chán, nhưng thật đáng sợ nếu nghĩ rằng một công ty dược có thể lấp đầy Internet bằng các bài blog tùy biến chứa “kết quả nghiên cứu” y khoa cao cấp để tạo ra bầu không khí học thuật đúng ý họ. Đến một lúc nào đó, Internet có thể trở nên hoàn toàn không đáng tin, và thời điểm đó có thể sắp đến
Khi văn bản sinh ra tự động bùng nổ, giá trị của nghiên cứu có lẽ sẽ giảm đi rất nhiều vì lượng rác thông tin khổng lồ. Nó có thể chỉ còn là việc của thời Internet vẫn còn “thật”
Trước đây tôi từng tìm các bài có đo đạc thực tế để so sánh Hydroflask, Klean Kanteen và Thermos khác nhau thế nào với đồ uống nóng/lạnh, nhưng phần lớn kết quả Google chỉ là các bài so sánh chung chung không có dữ liệu cứng. Vậy mà những bài kiểu “Hydroflask tốt hơn cho đồ uống ấm” vẫn được xếp hạng cao
Vấn đề then chốt là liệu công cụ này có thể bỏ qua những bài như vậy và chỉ dùng các bài có thí nghiệm thực tế hay không, cũng như liệu nó có thể lọc ra kết quả trùng lặp khi thí nghiệm do một người thực hiện lại được nhiều blogger trích dẫn lặp đi lặp lại hay không
Nếu là AGI thì nó sẽ làm được những việc như vậy, và khi biểu đồ Venn của các năng lực này ngày càng mở rộng, ta có thể thu hẹp phạm vi những gì có thể là cơ chế nền tảng của AGI. Moravec từng nói về hình ảnh địa hình năng lực của con người dần bị năng lực AI nhấn chìm; khi AI có thể làm mọi thứ con người có thể làm, trong thực tế hoặc về nguyên lý, ta sẽ biết rằng mình đã đạt tới AI đa dụng thật sự. Deep Research chỉ là một hòn đảo nữa đang chìm trong trận lụt đó
Nếu tôi hiểu đúng biểu đồ thì tỷ lệ vượt qua bài kiểm tra nội bộ dường như chỉ 20%. Nếu vậy, có nghĩa là sau khi chờ 30 phút và trả tiền đắt đỏ, tôi vẫn phải lục qua một bức tường văn bản dài mà khả năng cao là phần lớn sai sao?
Nếu khả năng hallucination không nhỏ đến mức có thể bỏ qua, thì lượng nội dung phải kiểm tra một lần là quá nhiều. Có lẽ quy trình cần mang tính lặp nhiều hơn nhiều
Nói cách khác, đó không phải truy vấn thông thường mà gần với benchmark toán học tuyến đầu
Với những trường hợp như nghiên cứu thực tế, nơi khối lượng chuẩn bị lớn hơn sản phẩm cuối cùng, về mặt khái niệm nó có thể rất phù hợp. Nhìn sơ qua benchmark thì có vẻ đến cuối năm tỷ lệ đúng mỗi truy vấn có thể vượt 50%, và dường như cứ mỗi một hai thế hệ mô hình lại tăng gấp đôi
Trong giới blog có những chuyên gia được biết đến ở các lĩnh vực hẹp, hoặc những người nổi tiếng trong lĩnh vực đó, và còn có rất nhiều người viết các bài hữu ích. Ít nhất họ viết với ý nghĩa là mong một con người khác đọc
Nhưng nếu toàn bộ độc giả đều trở thành bot, tôi tự hỏi liệu họ có tiếp tục viết hay không. Có cảm giác Internet chết đang đến gần
Dù vậy, với tư cách tác giả, việc có thể đóng góp vào một thế giới tri thức dễ tiếp cận khi mọi người muốn viết vẫn rất hấp dẫn. Không còn cần vất vả đào bới những bài báo chỉ có tiêu đề trông có vẻ liên quan nữa, và người khác cũng không cần vất vả đọc bài của tôi cũng được
Tôi tò mò liệu có ai thực sự đã có quyền truy cập tính năng này chưa. Trên website nói rằng nó được cung cấp cho người dùng Pro từ hôm nay, nhưng dù tài khoản công ty của tôi có Pro, tôi vẫn không thấy tùy chọn Deep Research trong trình soạn tin nhắn
Khi mở bất kỳ mô hình nào, thẻ
(Deep research)xuất hiện trong ô nhập cạnh tùy chọn tìm kiếm web. Tôi không xóa cache hay làm gì cảÝ kiến Hacker News
Mỗi năm tôi lại nghĩ rằng tiêu chuẩn chất lượng phần mềm không thể xuống thấp hơn nữa, nhưng lần nào cũng nhận ra mình đã sai
Tôi cũng thấy vui khi làm những dự án nhẹ nhàng theo kiểu này
Nhìn cách tiếp cận này, tôi có cảm giác như sản phẩm được nộp bởi một “người vừa ăn vừa code”
Tôi lo rằng nếu bắt đầu code theo cách này thì khả năng giải quyết vấn đề khó sẽ bị mai một
Dạo này ngày càng có nhiều lập trình viên AI-native học ngay từ đầu theo kiểu này
Những công cụ kiểu “WYSIWYG có thể chỉnh sửa bằng lệnh ngôn ngữ tự nhiên” có lẽ sẽ có một vách đá độ khó dựng đứng, giống như giới hạn của công cụ RAD
Có người nói “không nên học theo kiểu này”, nhưng tôi nghĩ điều quan trọng là cân bằng mức độ hoàn thiện so với công sức bỏ ra
Tôi nghĩ mảng CSS thì Vibe Coding là đủ dùng