AI Agents in Your IDE: What Autonomous Coding Actually Looks Like Day to Day
A walk through a real coding-agent session, from the first prompt to the finished diff.
Descriptions of "AI agents" tend to stay abstract — plans a task, takes actions, checks its work. What that looks like during an actual coding session is more concrete and, honestly, more useful to understand before you hand one real work.
A session usually starts with a task described in plain language: fix a bug, add a feature, refactor a module. The agent doesn't start writing code immediately. It typically reads first — opening the files it thinks are relevant, searching the codebase for related functions or tests, and sometimes checking recent commit history to understand why the code looks the way it does. This reading phase matters more than it might seem; an agent that skips it tends to produce changes that are locally correct but break an assumption made three files away.
From there it forms a plan, often visible as a short list of steps, and starts executing. This is where the "autonomous" part becomes tangible: the agent runs the test suite, executes a build, greps for other call sites, or starts a local server to check that a change actually works, rather than just looking plausible. When a command fails, a competent agent reads the actual error output and adjusts, rather than repeating the same failing approach.
The part that distinguishes a well-behaved agent from a reckless one is what happens before a risky step. Deleting files, force-pushing to a shared branch, installing a new dependency, running a command that costs money or touches production data — these are moments where a good agent pauses and asks for explicit confirmation instead of proceeding on its own judgment. This isn't a limitation bolted on as an afterthought; it's the difference between a tool you can hand real work to and one you have to babysit constantly.
By the end of a session, what you get is usually a diff — a concrete set of file changes — along with a summary of what was done and why, plus test or build output showing the change actually works rather than just claiming to. The developer's job shifts from typing every line to reviewing that diff: checking the reasoning, skimming the changed files, and deciding whether it's ready to merge or needs another pass.
None of this requires the agent to be flawless. It requires the workflow around it — the reading, the running, the asking before anything irreversible — to be visible and inspectable, so a developer can trust the parts that worked and catch the parts that didn't before they ship.
