Vibe Coding. - Wikipedia explains, it is a software development practice assisted by artificial intelligence, so that would mean, just like the auto complete features on the modern IDE the code is completed for you. But the level of completion you get out AI-assisted development is much more than just a syntax completion.
I remember, when I first got my hands on GitHub copilot, it was merely just a code completion at scale, if I start writing a function, it suggest me the next few lines, and mostly the entire function, Ah... good old days. But from there where we are now is what most people are "scared" about.
Unlike the syntax completion or the early tab completion, now a days the AI assisted development has evolved to a level where it can autonomously write an entire operating system from scratch, I mean how about that!
AI Assisted Development
Let take a quick detour on what is really is AI-assisted development. AI(LLMs) are good at predicting what comes after a sequence of text, so I the phrase is "Sun sets in ____" the AI can complete the sentence with the word "West." because of the vast amount of data it was trained on. Now you can see the similarity, it is just like syntax competition, but the syntax or not just encoded by rules, but are mostly semantic. Because of this an LLM can write the next line of code before you even think about it.
In the beginning it was only a Chat window, where we ask it write a piece of code, then copy paste it to out IDE - like we did with stack overflow. And if there is any error we copy paste the error message to the chat window again get an updated code, and the cycle continues until we get the result we expected.
Now comes the big picture, we gave the LLMs, the ability to call a function, and that is where the game changed forever.
In a nutshell, it is similar to the syntax competition again, when you type on IDE, say a class name like `class Car` and the IDE will trigger a function to get all the methods/functions in the class Car. Just like that when you ask the AI to write a code, instead of replying to you in chat, it will call the functions necessary to understand your code base and write the code to a file where it seems appropriate.
There is no black magic here. Lets take out sun set phrase as an example, in that phrase the next possible and likely token is "West.", like wise, whenever you prompt (tell/ask) the LLM to write code for finding a mean between list of integers, It consider the prompt and process it in two parts, the "write code" part will trigger it to call the function which would save a file, and that file would require the lines of code to be saved as part of the file, so it calls the function with required code and save it as a file.
And if we do this at a large scale, now you have successfully because the AI-assisted developer.
Agentic IDEs
Lets have a closer look at what we have today, we have tools like, Google Antigravity, Gemini CLI, Claude Code and Codex . These are the few I have tried out, but there are a lot others, so tell me which one is your favorite and why.
You open your codebase with these "Agentic IDEs", and then you just chat with it, you say, "write a function to do X", "optimize the function" and you can even say, "Build me a expense tracker application" - this is where the trouble starts.
When you say simple things like "write a function to do X" it is easy for both you and the AI, because mostly it is going to be a couple of lines of code, and if that function is 100 lines of code, you need to learn SWE principles first then playing with Agentic IDEs - vibe coding tools.
"Build me a expense tracker application" - the real trouble, as I mentioned before. When it comes to building an app from scratch is actually an easy one for the LLMs, because they can develop the entire operating system from scratch without a sweat, well they will remotely burn a lots of tokens and get the job done.
The Review Debt
However, the real problem lies in the between code, because we cannot process 100 lines of code across 1000 files in a single stretch, I'm not saying we (as in Humans) will never be able to do it, we certainly can do, but the amount of time it requires is bit longer when compared to LLMs.
To put this in perspective, lets take out expense tracker application as an example, if we where to build an app for tracking expense, it would roughly take use somewhere between a week to a month, complete scratch and production quality code with architecture and testing.
Whereas, in an AI-assisted development environment we can build the same app with the similar "quality" in a day. The "quality" here mostly lies in the way we prompt.
The review debt, now that the LLM has generate over 100 files in a spawn of few hours it is your responsibility to review the code and accept it. See where I'm going with this.
I remember seeing some post online, not sure about the source, if you could point me that would be helpful. I reads as - Humans are the bottleneck of AI assisted development.
Now how can we address this?, well I will give the pointers here and will discuss about it in the upcoming posts in detail.
- Formatting / Linting
- Scripting
- Template
- Unit Test
- Test Driven Development
- Code Review (the final boss)
These are the immediate points that comes to mind, I'll write more in detail about these in the upcoming posts.
Comments
Post a Comment
Don't be a stranger! Speak your mind.