This is a step in an interesting direction for many reasons. First of all it reduces the "conversation in english" aspect and goes back to kinda "writing code" which I think would reduce a lot of fatigue and bring back some joy in making software. But then it also gives more control over the output in a way that makes sense: I know how i want to code this, but I can save time not having to deal with the syntax/boilerplate/actual writing. Also since I structured everything precisely, reviewing is going to be way easier.
It requires though yet another mental shift in how to code: you stop chatting and you go back to writing in a text editor similarly to what you did before, the difference is that now you write some kind of scaffold instead than the actual code.
It has two problems though: if my approach has flaws the agent would implement it as-is even if could instead suggest an improvement. Also, an advantage of agents in huge codebases is that they can find where to make the change and draft it, which wouldn't work with this system.
In practice I think a lot of engineers would do this. My recommendation would be to avoid this at all costs. In my opinion, the way to scale a codebase with AI is to have some part of the codebase that is reserved only for human hands. You need to be able to look at something written, and to know that it expresses human intent. Once you deviate from that constraint, then you might be even worse off than before, because now you have 2 sets of generated source code to sift through, not 1.
It has two problems though: if my approach has flaws the agent would implement it as-is even if could instead suggest an improvement. Also, an advantage of agents in huge codebases is that they can find where to make the change and draft it, which wouldn't work with this system.