> What tremendously helps is asking the LLM to add a lot a lot explanations by adding comments to each and every line or function.
No, it doesn't. It's completely useless and unhelpful. These machine-generated comments are only realizations of the context that already outputted crap. Dumping volumes of this output adds more work to reviewers to parse through to figure out the mess presented by vibecoders who didn't even bothered to check what they are generating.
You don't get me. I don't say that those are good comments, I even say that you should probably delete them afterwards.
But as you say, they are realization of the context of the LLM. Their role is not helping you to understand what the code is doing, but how the LLM understood the problem and how it tried to solve it. Now you can compare its own understanding with yours.
Now I need to add context myself : I'm not talking about vibe coding entire apps, here adding verbosity wouldnt help a lot. My main usage of LLMs is at $JOB where I need to execute "short" tasks into codebases I barely know most of the times, that's where I use this trick. It also have the side benefit to help me understand the codebase better.