← Back to context

Comment by furyofantares

3 days ago

I have put a lot of effort into learning how to program with agents. There was some up-front investment before the payoff. I think I'm still learning a lot, but I'm also well over the hump, the payoff has been wonderful.

The first thing I did, some months ago now, was tried to vibe code an ~entire game. I picked the smallest game design I did that I would still consider a "full game". I started probably 6 or 7 times, experimenting with different frameworks/game engines to use to find what would be good for an LLM, experimenting with different initial prompts, and different technical guidance, all in service of making something the LLM is better at developing against. Once I got settled on a good starting point and good framework, I managed to get it across the finish line with only a little bit of reading the code to get the thing un-stuck a few times.

I definitely got it done much faster and noticeably worse than if I had done it all manually. And I ended up not-at-all an expert in the system that was produced. There were times when I fought the LLM which I know was not optimal. But the experiment was to find the limits doing as little coding myself as possible, and I think (at the time) I found them.

So at that point, I've experienced three different modes of programming. Bespoke mode, which I've been doing for decades. Chat mode, where you do a lot of bespoke mode but sometimes talk to ChatGPT and paste stuff back and forth. And then nearly full vibe mode.

And it was very clear that none of these is optimal, you really want to be more engaged than vibe mode. My current project is an experiment in figuring this part out. You want to prevent the system from spiraling with bad code, and you want to end up an expert in the system that's produced. Or at least that's where I am for now. And it turns out, for me, to be quite difficult to figure out how to get out of vibe mode without going all the way to chat mode. Just a little bit of vibing at the wrong time can really spiral the codebase and give you a LOT of work to understand and fix.

I guess the impression I want to leave here is this stuff is really powerful, but you should probably expect that, if you want to get a lot of benefit out of it, there's a learning curve. Some of my vibe coding has been exhilarating, and some has been very painful, but the payoff has been huge.