But I also use more casual style when investigating. “See what you think about the existing inheritance model, propose any improvements that will make it easier to maintain. I was thinking that creating a new base class for tree and flower to inherit from might make sense, but maybe that’s over complicating things”
(Expressing uncertainty seems to help avoid the model latching on to every idea with “you’re absolutely right!”)
Also, there's a big difference between giving general "always on" context (as in agents.md) for vibe coding - like "validate against existing code" etc - versus bouncing ideas in a chat session like your example, where you don't necessarily have a specific approach in mind and burning a few extra tokens for a one off query is no big deal.
Context isn't free (either literally or in terms of processing time) and there's definitely a balance to be found for a given task.
What exercise is best? Why... the one you enjoy and will continue doing!
Focusing on ROI can be a good way to view it for the right personality type, but I think that mentality can be harmful for the wrong personality type who will just grind out activities they don't really enjoy until they give up in exasperation.
I suspect for most people the trick is just finding something - anything - that is physically demanding that they enjoy, and then sticking to that.