The biggest challenge I've encountered while coding with LLMs is tooling and dev environment.
Having multiple versions of the same codebase with different states on the same dev environment is a shit show.
To fully unlock the power of iterating with LLMs, each agent should run on its own isolated environment and the human driver should be able to swap between agent environments quickly and be able to pair-program/review code for each agent.
I can see that Cursor is trying to move us towards this world but using git worktrees is just a hacky and messy solution. Each agent needs its own environment (FS, DB, etc.) and the human driver needs to be able to tap in from their IDE or even their phone to run, review, revise, approve, etc.