Transcription
Vibe-coding is when you upload a prompt into a neural network and everything breaks immediately or a little later. Many think that coding is no-code, but on steroids. They expect that from one prompt, the neural network will immediately give them a finished product. Just as beautiful and simple as in all these fashionable No-Code builders. But this is not the case. And we will tell you how in this episode. With you is Evgeny and Taras. And we will tell you today about the main approaches in vibe-coding. >> What is this vibe-coding of yours really? True? >> In reality, it is a fairly new concept. It was first introduced into circulation by Andrey Karpathy. He is one of the founders of Open AI, who worked at Tesla for a long time and is essentially, well, one of the leaders in the field of LLMs, large neural networks, which are developing so actively now. He called it vibe-coding because he implied that you can sort of give in to the vibe and enjoyment, instead of directly engaging in micromanagement and writing every letter in every line of code, concentrating not on what is interesting, not on the concept, algorithms, structures, and so on, but directly on the implementation. >> So, if I understand you correctly, vibe-coding implies that you must know how to code? Absolutely, the basic idea of vibe-coding is not at all like no-code, for example, when you don't need to know code to build some application, but on the contrary, it means that you need to understand deeper meanings than just writing some words that will be assembled into some simple algorithms. You need to understand the essence of what you want to do, and understand what the Neural Network will give you in the process of this, in this very vibe-communication with the neural network. >> Well, can only some engineer or tech director vibe-code, or can a graduate of programming courses who just started yesterday vibe-code? That's a tough, good question, but for effective vibe-coding, a good foundation and understanding of what's happening is always needed. In fact, most technical universities, for example, in Russia, train good programming professionals who understand what needs to be done, and perhaps good vibe-coders can emerge from them immediately, including. But basic Python programming courses are definitely not enough. And disappointment in the vibe-coding process will definitely arise. It will arise for a very simple reason: because the person who will receive the results from the neural network simply will not fully understand what the neural network is doing, and, consequently, will sooner or later simply not be able to communicate with the neural network on the topic of what it produces. >> Well, guys, vibe-coding is not no-code magic. For you to vibe-code, it's like, so to speak, surfing with pleasure. That is, not when you are just learning to ride, but when you are already enjoying some tricks, fun stuff, and planning some things like that. A good example, actually, yes, if we talk about surfing, it's a good example, in a sense, vibe-coding without knowing programming is like surfing without knowing how to swim. In principle, it's possible, but doubtful. Well, essentially, you need that very tech background, the ability to break down tasks, read and fix code that the AI will write, take care of security, understand infrastructure concepts. Besides code, there is also the need to deploy infrastructure, set up servers, establish the CI/CD process, and all that. If you don't have the full picture, the most you can write is some scripts. That's cool, it can also replace no-code in general, but it won't allow you to create a large product or even a good concept. If, for example, you want to create concepts without deep knowledge of technologies and programming itself, you can use cool prototyping tools like Bolt or Lavable. Yes, but that's no-code, isn't it? >> Well, I would say that these platforms are something in between no-code and vibe-coding. That is, in a sense, you communicate with the platforms in the form of prompts. This resembles vibe-coding, but the platform is initially designed to generate ready-made interfaces in a ready-made infrastructure. That is, it is a kind of sandbox, so in this sense it is close to no-code. It's just that in no-code, you usually move blocks and connect them. Well, I think the most important question is how to make it so that using all these tools you're talking about, you get a really cool service that you want to create, and not something mediocre, you know, an ugly creature from Rick and Morty. >> Well, it depends on the task. So if you just want to create a concept, well, I think a conditional Lava will work great. If you want a full-fledged product that will be fully functional, not contain security holes, be pleasant for users and with normal support, adding features, well, of course, such an approach will not work. >> Listen, I wouldn't call myself a programmer. Right. And I've experimented quite a bit with Lavable. And from experience, I can say that Lavable starts giving some cool results after, probably, a week of practice with it. And if you prepare tasks for it like for a real development team, meaning technical specifications, constraints, parameters, results, visual diagrams, and so on, then it's a full, you know, seven-page technical specification. And then Lavable will give a cool result. Before that, it will be something halfway. >> Well, that's right. This applies, in fact, to vibe-coding in Cursor or Vinsurf as well. And, in principle, to approaches to ensuring that the neural network, which operates on the creation of something, whether it's a prototype or a product, is in maximum context. And precisely understanding the role in which the neural network works and what product it creates is one of the factors for creating a good product. In general, based on Andrey Karpathy's idea, a whole stream of vibe-coding enthusiasts was born, and from there came the so-called vibe-coding manifesto. On my Telegram channel, I talked more about this manifesto. There you will find more detailed information and a link to it directly, to familiarize yourself and delve into vibe-coding. The manifesto has five supporting principles. The first is flow over microcontrol. It means that you need to stay in the flow and not think about every symbol, but think about the tasks that are being solved at the moment as a whole. Prompt and architecture are interconnected, and the correct description of the task is more important than syntax. And, in fact, the method of solving this very task. And one of the ideas of how the method of communication with the computer has evolved and how languages have changed is that at some point in time, instead of communicating in a language understandable to the computer, like Python or Java, >> in assembler, you can directly >> or Assembler, you can communicate directly in a more familiar language, for example, in English. In principle, if you give a good prompt, you will get a good result. It doesn't matter to you in what language it will be implemented internally. >> I was getting at the fact that the level of abstraction has been gradually increasing. First on punch cards, then assembler, then machine code. In a sense, in a sense, vibe-coding and the method of programming in English or even Russian is precisely the next level of abstraction, to put it mildly, which rises so high above the, well, in this abstraction, that it allows you to think not only about code and, well, perhaps about some infrastructure drivers and so on, but much more broadly. That is, to think, including about marketing, and design, and something else. This, of course, greatly allows you to focus on what is important in the context of the product, the final product. The third important principle is small iterations. Essentially, each task should be kept as contextually small as possible, and the cycle of description, execution, and code generation, and receiving feedback from the neural network, or vice versa, providing this feedback to the neural network, should be completed quickly. Why is that? Neural networks are limited in context. If you give them too large tasks, like, write a classified ads website. Well, a rather useless prompt, because it can be written in, say, 100,000 lines of code. In fact, if you give such a prompt to Claude in Cursor, it will start to generate a very, very large amount of code without understanding the final task or how to do it step by step, and also constantly losing context. You will definitely be disappointed, you will not get any cool and good results. This, in fact, is the difficulty. In order to iterate with small tasks, you need to understand independently, including why you are going with these specific tasks and which task follows which. Of course, the correct approach would be to ask the Neural Network to plan these tasks, break them down into subtasks, and understand the size of each subtask. But you still need some technical, technological foresight to avoid inflating them and to control the entire process. And if you want to learn to trust neural networks more and integrate them into projects and personal effectiveness, then definitely come to my webinar dedicated to this topic. The link is in the description. The fourth important principle is human in the loop. You need to understand that while you are vibe-coding, you are the vibe-coder, the person who is responsible for the result, and no one takes that responsibility away from you. In this sense, when a large number of programmers, people just trying vibe-coding, become dissatisfied with the results of the work. Well, in fact, they are dissatisfied not with the results of the work, not with the neural network, but with their own. It's just that they shift responsibility, as many like to do. >> But the next point, I think, is one of my favorites - it's Learning Mindset. Every unsuccessful response from the neural network, which gave not what you needed, is actually an opportunity to learn something new, to understand how exactly the neural network made a mistake, why, to correct the prompt, and in general, it's an opportunity to become smarter in a fun, interactive way by interacting with the neural network. >> Exactly. In fact, in vibe-coding, the principle of perceiving the neural networks you interact with as a development team that is provided to you is very helpful. That is, imagine that these are just junior developers who, I don't know, might have graduated from the coolest university departments, like, I don't know, Mechanics and Mathematics, St. Petersburg State University, and they are ready to work, but they have absolutely no enterprise experience, but they have a lot of knowledge, and they google very well. And at the moment when you perceive it through such a prism, you will understand that, well, you need to prompt qualitatively and well. You need to divide tasks yourself because they don't have that experience yet. And if they don't have it at all, you can even teach them to divide tasks and work correctly yourself, but the responsibility is always on you. Well, and with training, it's the same. It's possible that these very junior guys understand some things better, in fact. They just graduated from universities. Maybe you can learn something cool from them too, but for that you need to be open and, well, not be skeptical, at least towards the information you might receive from neural networks in response. >> Will coding and agents replace junior developers or not? >> I think in the near future they definitely will, simply because the productivity of agents is already head and shoulders above. That is, they can work in three shifts, unlike. One of the frightening things about vibe-coding is the speed of result delivery. That is, if before you gave a task to a programmer, you calmly discussed it for an hour, two, three, and set deadlines for solving the task in days or sometimes a week. And in parallel, you could sync up, communicate, discuss results, problems, solutions, and approaches once a day. All this was very gradually downloaded into your head and into the head of the person you are working with, but now you can, in principle, very quickly load all this with quite short prompts. That is, even if you are a very structured person and spend half an hour on a prompt, yes, it will be, let's say, approximately equivalent to the first dialogue with that junior developer, but you will now get the result not in days, but in minutes. That is, in 5-10 minutes you will already have a lot of code. If I understand your take correctly, the neural network doesn't write code for you, it writes code with you. And the more systematically and engineer-like you can think and orchestrate this whole process, the better your result will be. >> No, well, in a sense, it still writes for you, but you can imagine that other programmers also wrote it for you. It's the same. That is, therefore, your task is to be able to manage a team of neural networks. This is essentially vibe-coding, but you need to understand that vibe-coding is also part of the picture, just as a team of programmers is part of a huge team of employees working on a product. There are marketers, there are product managers, and so on. So here, vibe-coding can be considered part of the process called AI first. That is, you can create your team or your product with deep neural network support from the start. In general, design products and processes in advance so that neural networks work at the core, not as an add-on. Why is it important to build AI-first processes now? That is, neural networks perform a large number of tasks much more efficiently than humans. Accordingly, the speed of feature rollout in various fields will be much faster. The deeper you are integrated into processes, the more controlled, in fact, and faster results you will get. For this, you will simply need to change the mindset, including of employees and the team, so that they understand why the neural network will be more effective here than how they did these tasks before. And in general, competitors who will appear for your business, for your products, and who will implement neural networks, they will somehow win against you in efficiency. Perhaps not right today and now, but in fact, in a month's horizon, this can have a significant impact. And in general, for developers, the transition to a vibe-coding model. Simply writing code to directly designing human interaction and now designing processes by which something is created, and I only accept it. They will significantly change both the speed and quality of products, and the volume of features that can be rolled out per unit of time. If you want to try vibe-coding, and you feel that you have enough basic understanding of what's happening to start implementing it, then I recommend trying such a simple typical vibe-coding cycle. This is a mini-tour. First, you need to formulate a goal in natural, simple language. Try to describe in detail, for example, in Cursor. Or you can start with even just ChatGPT, what you want to do, and get, for example, a file that will simply describe the concept of the product or task you want to solve. Ask the neural network, or you can do it yourself. Break this task down into checklists and subtasks. After that, you can go to an IDE assistant. Well, I definitely recommend Cursor. It currently surpasses everyone in functionality and allows you to truly enjoy the vibe-coding style. Because conditional Codex or fully agent modes are probably overkill. This is not quite vibe-coding in a sense. Ah, well, you can try to immediately break down these checklists in Cursor and start asking it to solve the first task, and definitely ask it to solve it step by step. That is, directly in the prompt, indicate that we will start in order, let's do point one, when you finish it, show me the result, describe what you did, and we will figure out if everything works. If, for example, you need instructions on how to run this thing that you coded, or rather, the neural network coded for you, well, you can also ask for instructions. And by the way, write us your prompts that you would like AI to generate for you as a business or service in the comments. And we will try to answer how we would rewrite the prompt so that you get the same result as if a team of professional developers coded it for you. Well, after this step, you enter the direct vibe-coding cycle. Now it's important to run, look at reports, send bugs back to the neural network for it to analyze. And separately, it's cool to set up more meaningful processes like Test-Driven Development. For example, if the neural network first writes tests and tests the code at the moment it is written, then the number of bugs will be less. I will share my life hack with you, since I am not a developer, how I write prompts for neural networks that will code. I always ask, I inform about it, I go to ChatGPT, open it, open version O3, because it is smarter, and I tell the neural network, listen, I am not a developer, but now I will write a prompt for the model in Cursor so that it makes me such and such a mini-service or such and such a website or I will write for Lavable. I always say where I will write the prompt and what I want to get. And I ask the neural network to ask me questions, after which it can help me write such a prompt for a neural network in another service or in Cursor, in Lavable, whatever. And so, we start a dialogue. The neural network asks me a question, I answer: "For whom? Who is the target audience? What kind of service will it be? Where? What, how, and so on?" I answer these questions, or if I don't know, I start brainstorming with the neural network, "Let's think together about how it could be." And in this process, I immediately understand better what I am doing myself. And secondly, I learn, because by asking me these questions, I understand what, at least, parts are in all this goodness. If it's difficult for me, I ask to explain in simple terms. Well, and so, it takes me a good hour or two, and at the output, I get a prompt that I can then insert into Cursor, Lavable, or, well, whatever else we have. >> What, what do you use? Wnsrcf, some other fashionable competitor service to Lava, I tested, I remember. >> Bolt. I liked Bolt. It was cool. >> Bolt. Okay. A little about the risks. Well, first, it's false confidence. If it compiles, it means it works. This is not always the case. Again, if you don't control the process, neural networks can take control of the process for you and pretend to have connected something, but not actually connect it, insert extraneous data somewhere, and so on. That is, why it is important to keep the task small? In this sense, it is simply easier for you to control that there are really no problems. The second point is uncontrolled pasting. Well, the same thing, if your task is not small, but large, then neural networks will generate hundreds or thousands of lines of code. It is simply difficult to understand them. Because you are unlikely to sit and check every line. When you write them, it's one thing, when you just check them, it's another, of course. Well, and in this place, security flaws can simply appear, hidden bugs, unhandled private cases, and so on. Therefore, again, keep the task smaller and remember that you are responsible for the process. And, well, returning to what I suggested you discuss with ChatGPT, you can also discuss all these points with ChatGPT. In fact, for example, you can ask GPT to think about how to formulate a prompt in terms of security, so that, you know, user data doesn't leak somewhere, so that you don't get hacked, and so on. And then, how to check that the neural network on the other side, whether it's Cursor or anything else, coded exactly as you need. That is, you consult with ChatGPT here, as with, for example, an advisor. You can use, well, not ChatGPT, but the latest Claude, again, and as an architect, if you yourself do not have the necessary knowledge. And then you insert it or use it as instructions for another neural network. And thereby you separate the sphere of activity where you, well, do some kind of project, code, and so on. And that part of the work where you think about it as an engineer, a security specialist, or a tester. Another risk is if you feel tired from vibe-coding and some burnout from constant context switching. You sit in the IDE, then go to ChatGPT, then communicate in the chat directly in Cursor, and it just tires and annoys you. Most likely, you are again breaking down tasks incorrectly, because, of course, it will be tiring if you launch a task and just stare at the screen for 25 minutes while Claude generates something, without understanding what. So, try to make tasks such that the result from the neural network returns quickly enough, because, of course, the approach itself has become significantly different. If before, human thought activity was focused on writing something, now it is focused on quickly writing a prompt, pressing the Enter button, then you have, in fact, free time. And even if it generates for 3 minutes, well, the desire to occupy yourself with something arises. This, in fact, also adds, I think, problems for people with ADHD, yes, a lot. >> Yes. But in general, do sports. Sports help to burn out slower. >> Excellent advice. Right. Well, and it is also necessary to protect yourself from all risks and problems. >> In what way? >> Well, in general, don't forget about tests, try to understand what the Neural Network is writing to you. Don't forget to ask the Neural Network to write documentation. Use modern tools and approaches that developers create to improve and facilitate the vibe-coding process. And if it's unclear to you, ask the neural network to explain what it did, because the neural network will not hit you with a pointer. >> Well, yes, don't forget that the neural network is your ultimate teacher, and it is here to help you become a better programmer, and a better vibe-coder, a technical director, anyone. It is the ultimate way to gain knowledge right here and now. >> Will it help you become a better person? >> Write in the comments what you think about it. And do you vibe-code like a true vibe-coder with voice or do you still type commands textually in the old-fashioned way? >> Well, that's a cool question, actually. I've tried both ways. It depends on the mood and location, so it's not always comfortable to communicate by voice, but in general, it's a cool, cool experience of coding by voice, using Flow or similar products. And I definitely recommend trying it. In a sense, it brings you closer to communication with the team and a different feeling of vibe-coding. >> If you want us to do a review of programs for recognizing your voice commands and inserting them into neural network text. That is, in fact, only neural networks, right? >> Well, yes. In general, there is a lot of software now. They recognize using different algorithms. Somewhere you can do it right on your computer, somewhere, yes, your command data goes somewhere to the cloud. Something is more secure, something is not. If you are interested in this topic, write to us in the comments, and we will make a separate video on this topic. Have you tried vibe-coding while driving? >> Not yet. >> And thank God. You can actually shoot an advertisement like, you're flying, you know, on a plane and you're like: "And now we'll try to vibe-code while driving a plane." >> Already now, LLM agents are starting to write entire pull requests. This means that soon we will come to the point where you won't need Cursor or anything else at all. And agents like Codex or Cloud Code can already do something based on a prompt, upload it to GitHub themselves. If your infrastructure is ready, you can just say: "Okay, roll out this feature to production." And instantly you will see that a lot of users have already updated something. At the presentation of Cloud 4, for example, Anthropic showed how they updated a very, very old feature in a well-known repository for working with tables. This is cool in general, but it's not yet widespread, but it's definitely what awaits us in the very near future. And this means that the mindset and skillset of vibe-coders, and those who build AI-first processes, should shift from the direct focus on these micro-tasks of writing code to understanding what problems exist, what product is being created. And in general, to develop product thinking, rather than algorithmic thinking. And only, guys, we would like, of course, to create more serious and deeper episodes, so subscribe to our channel, and if we feel a response, then we will provide more professional, deeper content, because we would like to go there together with you. Subscribe, >> subscribe to the channel. And be sure to follow vibe-coding. As I said, the term is very new. This is what is happening here and now. In fact, vibe-coding is not even half a year old, and there is already so much that can be said about it. And I think that in the next six months, the picture may change very, very significantly. So stay with us. >> Stay with us. >> Everyone, bye. >> Bye-bye.