I do get your point about speeds and ease of producing working code. This kind of quick win can be a good example of AI assisted tooling. But I don't generate scripts that way as I prefer to have composable blocks that I can reuse later. AI is not great at reusable code.

Another things I noticed with AI assisted programming is the one track thinking. Someone has an idea, generate a working sample and then it becomes like a sunk-cost fallacy where they don't envision any other implementation choice or design. It's about adding more feature without taking a step back and assessing the overall goal of the project and if that feature is really needed.

Antoine de Saint-Exupéry has said it best:

  “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
This kind of cohesiveness is often missed in projects that are AI assisted because there's no refinement step. The product and the efforts are not tempered by real world usage.

But what about compositions of your reusable blocks an order of magnitude larger than you were ordinarily willing to manually compose? A lot of this misnaming Im circling around comes down to demanding that the ai user must be giving up their agency. Whatever you can name as a good practice you don't think an AI agent is a capable of employing on its own, I can retort that a human can demand the agent employ it, along with all of its other capabilities that outstrip the human typist.