The "task vs goal" distinction is the most practical insight I have seen on this topic. I made the same mistake early on: gave the agent a goal, got a technically correct but architecturally wrong solution, and spent more time fixing it than I would have spent coding. Now I write tasks with specific files, constraints, and a definition of done I can verify in two minutes. What is the biggest productivity gain you noticed after switching from goals to tasks?