“Vibecoding”, i.e. ~hands-off usage of LLMs to rapidly generate code without regard for the actual code’s contents, for novel applications, can literally never be non-slop, because—as I’ve described before—there is not enough bits of information content in prompts to express the user’s exact desires in sufficient detail, and the desired solution is not expressed in training data (due to the problem’s novelty).
Only a sentient human developer can relate to another human user to determine what is desirable, and design the software such that it accomplishes this desirable outcome, and carefully verify that it is doing that, rather than something else (potentially undesirable).
This is true even for the combinatoric space implied by the training data, for instance if the novel problem is merely novel in that it combines pieces of existing solutions. There needs to be a guiding force to know what to combine and how.
The more detailed the prompt becomes, the more human oversight (the more human-guided round trips with the LLM), the closer it becomes to actual code (i.e. detailed execution instructions for a computer).