Assist, or execute?
An assistant produces text — code, explanations, plans — and you apply it. A coding agent applies it too: writes files, runs the build, reads the errors, fixes them. The assistant optimizes your typing; the agent optimizes the loop. The chess demo shows the agent version end to end.
What the agent loop adds
- Plan: the agent writes the steps before touching anything.
- Execute: files, commands, tests — under policy.
- Verify: it reads its own output and checks against the plan.
- Report: a trace you can audit, like the Deep Dive view.
Where assistants stay the right tool
- Design discussions and architecture questions.
- Small edits where the context is in your head, not the repo.
- Anything you would never let a machine run unattended.
Where agents earn their keep
- Scaffolding a project end to end.
- Migrations and refactors with tests as the safety net.
- Boring repeats: the same deploy check every night via cron.
The controls that make execution safe
Execution is only safe with boundaries: sandboxing, secure mode, and audit logs. Compare the broader landscape in agent vs Copilot.