Andrej Karpathy discusses the transition to a new computing paradigm called software 3.0, where AI agents and prompting replace traditional coding. He shares his personal experience of feeling behind as a programmer despite his background at OpenAI and Tesla. He coined the term 'vibe coding' and notes a fundamental shift in AI capabilities around December, when agentic tools started working reliably. Examples like OpenClaw installation and MenuGen illustrate the shift from explicit code to agent-based instructions.
Andrej Karpathy thảo luận về sự chuyển đổi sang một mô hình điện toán mới gọi là phần mềm 3.0, nơi các tác nhân AI và việc nhắc nhở thay thế mã hóa truyền thống. Anh chia sẻ trải nghiệm cá nhân về việc cảm thấy tụt hậu với tư cách là một lập trình viên mặc dù có nền tảng tại OpenAI và Tesla. Anh đặt ra thuật ngữ 'vibe coding' và ghi nhận một sự thay đổi cơ bản trong khả năng AI vào khoảng tháng 12, khi các công cụ tác nhân bắt đầu hoạt động đáng tin cậy. Các ví dụ như cài đặt OpenClaw và MenuGen minh họa sự chuyển đổi từ mã rõ ràng sang hướng dẫn dựa trên tác nhân.
We're so excited for our very first special guest.
Chúng tôi rất hào hứng với vị khách mời đặc biệt đầu tiên của mình.
He has helped build modern AI, then explain modern AI, and then occasionally rename modern AI.
Anh ấy đã giúp xây dựng AI hiện đại, sau đó giải thích AI hiện đại, và thỉnh thoảng lại đổi tên AI hiện đại.
He actually helped co-found OpenAI right inside of this office, was the one who actually got autopilot working at Tesla back in the day.
Anh ấy thực sự đã đồng sáng lập OpenAI ngay trong văn phòng này, là người đã làm cho tính năng tự lái hoạt động tại Tesla hồi đó.
And he has a rare gift of making the most complex technical shifts feel both accessible and inevitable.
Và anh ấy có một tài năng hiếm có là làm cho những thay đổi kỹ thuật phức tạp nhất trở nên dễ tiếp cận và tất yếu.
You all know him for having coined the term vibe coding last year, but just in the last few months he said something even more startling, that he's never felt more behind as a programmer.
Mọi người đều biết anh ấy là người đặt ra thuật ngữ "vibe coding" năm ngoái, nhưng chỉ vài tháng trước anh ấy đã nói một điều còn đáng ngạc nhiên hơn, rằng anh ấy chưa bao giờ cảm thấy mình tụt hậu hơn với tư cách một lập trình viên.
That's where we're starting today.
Đó là nơi chúng ta bắt đầu hôm nay.
Thank you, Andre, for joining us.
Cảm ơn Andre đã tham gia cùng chúng tôi.
Yeah, hello.
Vâng, xin chào.
I'm excited to be here and to kick us off.
Tôi rất hào hứng được ở đây và bắt đầu buổi nói chuyện.
Okay, so just a couple months ago you said that you've never felt more behind as a programmer.
Được rồi, chỉ vài tháng trước bạn nói rằng bạn chưa bao giờ cảm thấy mình tụt hậu hơn với tư cách một lập trình viên.
That's startling to hear from you of all people.
Điều đó thật đáng ngạc nhiên khi nghe từ bạn, trong số tất cả mọi người.
Um can you help us unpack that?
Ừm, bạn có thể giúp chúng tôi giải thích điều đó không?
Was that feeling exhilarating or unsettling?
Cảm giác đó là phấn khích hay bất an?
Uh yeah, mixture of both for sure.
Ừ, chắc chắn là cả hai.
Uh well, first of all, um I guess like as many of you I've been using agentic tools like Alpha code adjacent things uh for a while, maybe over the last year as it came out.
Ừm, trước hết, tôi đoán như nhiều người, tôi đã sử dụng các công cụ tác nhân như Alpha code và những thứ tương tự trong một thời gian, có lẽ hơn một năm qua khi nó ra mắt.
And it was very good at, you know, chunks of code.
Và nó rất giỏi trong việc xử lý các đoạn mã.
And sometimes it would mess up and you have to edit them, and it was kind of helpful.
Đôi khi nó mắc lỗi và bạn phải sửa chúng, và nó khá hữu ích.
And then I would say December was this uh clear point where
Và sau đó tôi cho rằng tháng 12 là một thời điểm rõ ràng khi
for me uh I was on a break, so I had a bit more time.
Đối với tôi, tôi đang trong kỳ nghỉ, vì vậy tôi có nhiều thời gian hơn.
I think many other people were similar.
Tôi nghĩ nhiều người khác cũng tương tự.
And uh I just start to notice that with the latest models uh the chunks just came out fine.
Và tôi bắt đầu nhận thấy rằng với các mô hình mới nhất, các đoạn mã được tạo ra hoàn hảo.
And then I kept asking for more, and just came out fine.
Và sau đó tôi tiếp tục yêu cầu thêm, và chúng vẫn hoàn hảo.
And then I can't remember the last time I corrected it.
Và tôi không nhớ lần cuối tôi phải sửa nó.
And then I was I just uh you know, trusted the system more and more.
Và rồi tôi bắt đầu tin tưởng hệ thống ngày càng nhiều.
And then I was vibe coding.
Và sau đó tôi đã "vibe coding".
- laughter - And uh so it was kind of a I do think that it was a very stark transition.
- [cười] - Và ừ, đó là một sự chuyển đổi rất rõ rệt.
I think that a lot of people actually I tried to I tried to stress this on uh Twitter and or X because I think a lot of people experienced AI uh last year as ChatGPT adjacent thing, uh but you really had to look again, and you had to look as of December uh because things have changed
Tôi nghĩ rằng nhiều người thực sự đã trải nghiệm AI năm ngoái như một thứ gì đó liên quan đến ChatGPT, nhưng bạn thực sự phải nhìn lại, và phải nhìn từ tháng 12 vì mọi thứ đã thay đổi
fundamentally and uh especially on this like agentic coherent workflow that really started to actually work.
Một cách cơ bản và đặc biệt là về quy trình làm việc tác nhân mạch lạc này thực sự bắt đầu hoạt động.
Um and so I would say that um yeah, it was just that realization that really uh had me um go down the whole rabbit hole of just, you know, infinity side project.
Ừm, và tôi sẽ nói rằng đó chính là nhận thức đó đã khiến tôi đi sâu vào cái hố thỏ, bạn biết đấy, vô số dự án phụ.
Uh my side projects folder is like extremely full with lots of random things and uh just I've been coding all
Thư mục dự án phụ của tôi cực kỳ đầy ắp với rất nhiều thứ ngẫu nhiên và tôi đã code suốt
the time.
Thời gian.
Uh so uh yeah, that kind of happened in December, I would say.
Ừ, vậy điều đó đã xảy ra vào tháng 12, tôi nghĩ vậy.
And I was looking at the repercussions of that since.
Và tôi đã xem xét những tác động của nó kể từ đó.
Um you've talked a lot about this idea of LLMs as a new computer.
Ừm, bạn đã nói rất nhiều về ý tưởng LLM như một máy tính mới.
Um that it isn't just better software, it's a whole new computing paradigm.
Ừm, nó không chỉ là phần mềm tốt hơn, mà là một mô hình điện toán hoàn toàn mới.
And um software 1.0 was explicit rules, software 2.0 was learned weights, software 3.0 is this.
Và phần mềm 1.0 là các quy tắc rõ ràng, phần mềm 2.0 là các trọng số học được, phần mềm 3.0 là cái này.
Um if that's actually true, what does a team build differently the day they actually believe this?
Ừm, nếu điều đó thực sự đúng, thì một đội ngũ sẽ xây dựng khác đi như thế nào ngay khi họ thực sự tin vào điều này?
Right.
Đúng vậy.
So uh yeah, exactly.
Vậy ừ, chính xác.
So software 1.0 I'm writing code, software 2.0 I'm actually programming by creating data sets and training uh training neural networks.
Vậy phần mềm 1.0 tôi viết mã, phần mềm 2.0 tôi thực sự lập trình bằng cách tạo tập dữ liệu và huấn luyện mạng nơ-ron.
So the programming is kind of like arranging data sets and maybe some objectives and neural network architectures.
Vậy lập trình giống như sắp xếp các tập dữ liệu và có thể một số mục tiêu và kiến trúc mạng nơ-ron.
And then what happened is that basically if you train one of these GPT models or LLMs on a sufficiently
Và sau đó điều đã xảy ra là về cơ bản nếu bạn huấn luyện một trong những mô hình GPT hoặc LLM trên một tập hợp đủ lớn
large set of tasks implicit basically implicitly because by training on the internet you have to multitask all the things that are in the data set.
Các nhiệm vụ, về cơ bản là ngầm, bởi vì khi huấn luyện trên internet, bạn phải đa nhiệm tất cả mọi thứ có trong tập dữ liệu.
Uh these actually become kind of like a programmable computer in a certain sense.
Ừm, những thứ này thực sự trở thành một loại máy tính có thể lập trình theo một nghĩa nào đó.
So software 3.0 is kind of about uh you know, your programming now turns to prompting and what's in the context window is your lever over the
Vậy phần mềm 3.0 là về việc lập trình của bạn bây giờ chuyển thành prompting và những gì trong cửa sổ ngữ cảnh là đòn bẩy của bạn đối với
interpreter that is the LLM that is kind of like interpreting your context and uh performing computation in the digital digital information space.
Trình thông dịch là LLM, nó giống như diễn giải ngữ cảnh của bạn và thực hiện tính toán trong không gian thông tin kỹ thuật số.
So I guess um yeah, that's kind of the transition and I think there's a few examples of that really drove it home for me and maybe that might be instructive.
Vậy tôi đoán ừ, đó là sự chuyển đổi và tôi nghĩ có một vài ví dụ thực sự đã làm rõ điều đó cho tôi và có thể điều đó sẽ hữu ích.
Uh so for example, when you when Open Claw came out when you want to install Open Claw, you
Ừ, ví dụ, khi Open Claw ra mắt, khi bạn muốn cài đặt Open Claw, bạn
would expect that normally this is a bash script like a shell script.
Sẽ mong đợi bình thường đây là một tập lệnh bash, một tập lệnh shell.
So, run the shell script to run uh to install OpenClaw.
Vậy, chạy tập lệnh shell để cài đặt OpenClaw.
Um but the thing is that in order to target lots of different platforms and lots of different types of computers you might run an OpenClaw, uh this these shell scripts usually ballooned up and become extremely complex.
Ừ nhưng vấn đề là để nhắm đến nhiều nền tảng khác nhau và nhiều loại máy tính khác nhau, bạn có thể chạy OpenClaw, uh những script shell này thường phình to ra và trở nên cực kỳ phức tạp.
But the thing is you're still stuck in a software 1.0 universe of wanting to write the code.
Nhưng vấn đề là bạn vẫn bị mắc kẹt trong vũ trụ phần mềm 1.0 với mong muốn viết mã.
And actually the OpenClaw installation is a is a copy-paste of a bunch of text that you're supposed to give to your agent.
Và thực ra, việc cài đặt OpenClaw chỉ là sao chép một đống văn bản mà bạn được cho là sẽ đưa cho agent của mình.
Uh so, basically it's it's a little skill of uh you know, copy-paste this and give it to your agent and it will install OpenClaw.
Ừ, về cơ bản đó là một kỹ năng nhỏ kiểu như, sao chép cái này và đưa cho agent của bạn và nó sẽ cài đặt OpenClaw.
And the reason this is a lot more powerful is you're working now in the software 3.0 paradigm where you don't have to precisely uh
Và lý do điều này mạnh mẽ hơn nhiều là bạn đang làm việc trong mô hình phần mềm 3.0, nơi bạn không cần phải mô tả chính xác
spell out, you know, all the individual details of that setup.
từng chi tiết riêng lẻ của quá trình thiết lập đó.
The agent has its own intelligence that it packages up and then it kind of like follows the instructions and it looks at your environment, your computer, and it kind of like performs intelligent actions to make things work and debugs things in the loop.
Agent có trí thông minh riêng, nó đóng gói lại và sau đó nó làm theo hướng dẫn, nhìn vào môi trường của bạn, máy tính của bạn, và nó thực hiện các hành động thông minh để mọi thứ hoạt động và tự sửa lỗi trong quá trình.
And it's just like so much more powerful, right?
Và nó mạnh mẽ hơn rất nhiều, phải không?
So, I think that's
Vì vậy, tôi nghĩ đó là
a very different kind of like way of thinking about it.
một cách suy nghĩ rất khác về vấn đề này.
It's just like, what is the piece of text to copy-paste to your agent?
Nó giống như, đoạn văn bản nào để sao chép và đưa cho agent của bạn?
That's the programming paradigm now.
Đó là mô hình lập trình bây giờ.
I think one more maybe uh example that comes to mind that is even more extreme than that is when I was building um MenuGen.
Tôi nghĩ thêm một ví dụ nữa có thể xuất hiện trong đầu, thậm chí còn cực đoan hơn, là khi tôi xây dựng MenuGen.
So, MenuGen is this idea where you um you come to a restaurant, they give you a menu, there's no pictures
Vậy, MenuGen là ý tưởng này: bạn đến một nhà hàng, họ đưa cho bạn thực đơn, không có hình ảnh
usually, so I don't know what any of these things are.
Thông thường, vì vậy tôi không biết bất kỳ món nào trong số này là gì.
Uh usually I like 30% of the things I don't have no idea what they are, 50%.
Ừ thường thì 30% những thứ tôi không biết chúng là gì, 50%.
So, I wanted to take a photo of the restaurant menu and to get pictures of what those things might look like in a generic sense.
Vì vậy, tôi muốn chụp ảnh thực đơn nhà hàng và lấy hình ảnh về những món đó một cách tổng quát.
And so, I built I built coded this app that basically lets you upload a photo and it does all this stuff and it runs on Vercel and uh it basically re-renders the menu and it gives you like all the items and it gives you a picture that it uses an image um you know, generator uh for to basically OCR all the different titles, uh use the image generator to get pictures of them and then shows it
Và tôi đã xây dựng ứng dụng này về cơ bản cho phép bạn tải lên một bức ảnh và nó làm tất cả những thứ này, chạy trên Vercel và uh nó về cơ bản hiển thị lại thực đơn, đưa cho bạn tất cả các mục và đưa cho bạn một bức ảnh mà nó sử dụng một trình tạo hình ảnh để OCR tất cả các tiêu đề khác nhau, dùng trình tạo hình ảnh để lấy hình ảnh của chúng và sau đó hiển thị nó
to you.
cho bạn.
And then I saw the software 3.0 version of this, which is which blew my mind, which is literally just take your photo, give it to Gemini, and say use Nano Banana to overlay the things onto the menu." Uh and Nana Banana basically returned an image that is exactly the picture of the menu that I took, but it actually put into the pixels, it rendered the different things in the menu.
Và sau đó tôi thấy phiên bản phần mềm 3.0 của việc này, điều đã làm tôi kinh ngạc, đó chỉ đơn giản là chụp ảnh của bạn, đưa cho Gemini, và nói "dùng Nano Banana để chồng các thứ lên thực đơn." Và Nana Banana về cơ bản trả về một hình ảnh chính xác là bức ảnh thực đơn tôi đã chụp, nhưng nó thực sự đặt vào các pixel, nó hiển thị các món khác nhau trong thực đơn.
And this blew my mind because actually all of my menu gen is spurious.
Và điều này làm tôi kinh ngạc vì thực ra toàn bộ menu gen của tôi là vô dụng.
It's working in the old paradigm that app shouldn't exist.
Nó đang hoạt động trong mô hình cũ, ứng dụng đó không nên tồn tại.
Uh and uh yeah, the software 3.0 paradigm is a lot more kind of raw.
Ừ và yeah, mô hình phần mềm 3.0 thô sơ hơn nhiều.
It just um your neural network is doing more and more of the work, and your prompt or context is just the image, and the output is an image, and there's no need to have any of the app in between.
Nó chỉ là mạng nơ-ron của bạn đang làm ngày càng nhiều công việc, và prompt hoặc ngữ cảnh của bạn chỉ là hình ảnh, đầu ra là hình ảnh, và không cần bất kỳ ứng dụng nào ở giữa.
Um so, I think that people have to kind of like reframe, you know, not to work in the existing paradigm of what things existed and just think about it as a speed up of what exists.
Ừm, vì vậy tôi nghĩ mọi người cần phải suy nghĩ lại, bạn biết đấy, đừng làm việc trong mô hình hiện tại của những thứ đã tồn tại và chỉ nghĩ về nó như một sự tăng tốc của những gì đang có.
It's actually like new things are available now.
Thực ra bây giờ có những thứ mới khả dụng.
And going back to your programming question, it's not even I think that's also an example of working in the in the old mindset because it's not just about programming and programming becoming faster.
Và quay lại câu hỏi về lập trình của bạn, tôi nghĩ đó cũng là một ví dụ về việc làm việc trong tư duy cũ vì nó không chỉ về lập trình và lập trình trở nên nhanh hơn.
This is more general information processing that is automatable now.
Đây là xử lý thông tin tổng quát hơn mà bây giờ có thể tự động hóa.
So, um it's not just even about code.
Vì vậy, ừm, nó không chỉ về mã.
So, previous code worked over a kind of like structured data, right?
Vậy, mã trước đây hoạt động trên một loại dữ liệu có cấu trúc, phải không?
And uh you write
Và uh bạn viết