Categories
Programming

The vibe coding-improv connection

Here’s an idea for my next video that I’ve been playing around with: vibe coding is like improv theatre.

Think about it: an improv troupe isn’t all that different from an LLM — it encourages its audience to provide a prompt, and they use that prompt to start generating content. The content they create is based on their training set (in the case of the improv troupe, that training is their life experience and theater training), and to the audience, what they generate seems almost magical.

But an improv troupe is at its best when its work is constrained to short skits. After a couple of minutes,  the longer you stretch out the improv process, the worse the results are. Like LLMs, improv troupes have limited context windows.

In my (admittedly limited) experience experimenting with vibe coding, I’ve found it to be great for small tasks, but as I use it to make larger applications, the worse the code got. The LLM started referring to the same variable using different but synonymous names, it started writing code that looked like textbook examples that had increasingly less to do with the intended functionality, and it started creating more bugs.

But just as good playwright can take improvised skits and the ideas they raise and turn that material into a good two-hour play, a good developer can take application snippets generated by an LLM and the idea they raise and turn them into a good application.

I think this might be a great way to use vibe coding.