Language models can write useful code, but a code snippet is not the same thing as software engineering.
Real development means understanding the codebase, respecting existing patterns, editing the right files, running tests, reading failures, debugging the environment, and stopping when the change is actually correct rather than just plausible.
Coding agents automate parts of that development loop.
A coding agent is an AI system that can inspect a repository, plan a change, edit files, run commands, interpret failures, and revise its work. The important difference is that it works inside a real development environment. It uses search, files, shell commands, linters, type checkers, test runners, package managers, and version control as feedback.
In this chapter, we will look at the edit-run-observe loop, repository understanding, tool design, context management, and error recovery. These are the parts that separate useful coding agents from code generators that can merely run shell commands.