LLMs still (I basing this mostly on Opus4.6) don't appreciate how to order items in their todo list
If we're working on component A, where A depends on B, and then we realize that B needs to be updated before A can be updated, then the priority should (depending on the precise circumstances) be to get B correct before updating A.
It's too keen to do major refactorings, redesigning everything in one step. That's still too likely to result in everything breaking. I often have to intervene to help it identify the best (least likely to break) order in which to change things.
Get the interfaces right between your components, starting with the lower levels, before working your way up
Of course, as the LLMs are getting better, I'm allowing them to be more 'ambituous' and to try to do bigger changes at once. But, as of now, their level of ambition in complex protocols/systems doesn't quite match their ability, and I have to intervene regularly: "Yes, we want to change X,Y,Z, but don't you think that we can change Y first and ensure that all tests keep passing before we proceed to X and/or Z?"
