I do some amount of vibe coding – writing out the problems I’d like to see solved, translating those into requirements, and translating both problems and requirements into code implementations.
I am pretty aware of the failure modes of vibe coding, including but not limited to
- not understanding what the generated code does
- not being able to “sanity check” the code construction
- agents touching far too many files
- agents deleting entire codebases
Being frank, I’ve dealt with the first three. I try to minimise those issues by going through the code construction in painful levels of detail, writing teeny tiny amounts of code, using “checkpoints” (essentially, sets of lab notes for LLMs) to try and elicit the behaviour I’d like to see from the computer, committing frequently to my own branch, and not holding the only copy of anything critical on my local machine.
Let me be very clear: I am very junior. I don’t have much experience with proper codebases in the “real” world. Much of my experience has been working with small-ish scripts for data analysis.
I’ve never managed to get an agent to delete my entire repository, though, which is the kind of screwup I’d have expected someone with my level of experience to make. It makes me wonder how I would reproduce that kind of error on something totally unimportant. Call it morbid curiosity.