Lately I've been dreaming about a way of using LLMs that never (or in majority of the cases) results in chatting with an agent or checking its traces. Instead, you provide prompts in natural language, e.g. refactor these modules in this way ..., and the result is shown as a visual proposal (some kind of diff on a graph). Then you can select a region and provide another prompt like "this goes there instead". The raw prompt + visual markup is compiled to LLM insructions which results in another set of visual changes.
These changes can all be virtual (i.e. "plan mode"), until you are happy with them, at which point you press a button, which compiles the change to a fresh prompt which runs the implementation. And so on.
I.e. forget the idea that you have a "copilot" whose output tokens represent reasoning you can discuss, instead you have a black box which compiles your instructions to a visual markup on which you can iterate. Zoom into the nitty-gritty as required, and so on.