The speed gain is real and nobody should minimise it. But it comes with a counterpart comparisons never quantify: you inherit code you did not write and are nonetheless expected to maintain.
The characteristic defects break nothing immediately, which is exactly the problem:
- Architectural decisions taken implicitly. The tool picks an approach because it works, not because it matches the rest of your codebase.
- Duplication. It did not know an equivalent function already existed three directories away.
- Shallow error handling. The happy path is covered, edge cases get swallowed silently.
- Dependencies added without a trade-off. Each one is a maintenance commitment nobody discussed.
The discipline that works comes down to three rules: small tasks, atomic commits, and a diff you can hold in a single reading. An agent that edits fifteen files in one command produces a diff nobody reads — and unreviewed code always costs its price eventually, usually at the worst moment.
The same logic applies to agents in production, where the issue is no longer review but scope: see AI agent scope and permissions.