I second this. As a previous AI skeptic. VS Code with Agent Mode is amazing. Perfect amount of control over what the AI is doing. For me its been a game-changer. I would describe it as letting the AI do lots of the work and me being the guiding hand.
I will say, it is extremely important to have a good AGENTS.md file and other .md files that the agent can refer to when it needs to. Also having tests is more important than ever.
And when you notice common hiccups, document it in the AGENTS.md.
Sorry but if you've never used OpenCode, then i can see how you'd think vscode agent chat is awesome.
Give sst/opencode a go, particularly read about its command, agent, tools feature.
Then go install opencode-skills and opencode-session and read about how to use the `task` tool to fork threads to subagents with skills.
+1 this approach. One recurring issue I've ran into is the agents producing a lot of unused methods and files. Have you ran into this as well? We're working on a pure Typescript system, and found the package Knip helpful. Knip will report these deadfiles/methods. I ask Sonnet to run Knip before opening a merge request and have it clean up it's own mess.