Beginner8 min

What a Coding Agent Actually Does

A coding agent is not a search box and it is not autocomplete. It is a program that wraps a language model and gives it hands: the ability to read your files, run commands in your terminal, edit code, and check whether the result worked. You describe a goal in plain language, and the agent works through it step by step until the job is done or it gets stuck.

The thing that makes it feel like magic is the loop. The agent reads context, takes one action, looks at what happened, then decides the next action. Tools like Claude Code, Cursor, and Windsurf all run some version of this loop. Once you see it, the rest of the course is mostly learning how to feed it well.

The four steps of the loop

  1. Read: the agent opens the files and runs searches to understand your project.
  2. Act: it edits a file or runs a command.
  3. Check: it runs the test or reads the output to see if it worked.
  4. Repeat: it uses what it learned to pick the next move, or stops when finished.
The one rule to remember
An agent is only as good as its feedback. If it has no way to check its own work (a test, a build, a type check), it is guessing. Giving the agent a fast, honest signal is the single biggest upgrade you can make.

Chat vs agent, side by side

ChatbotCoding agent
ScopeAnswers one messageWorks a whole task
ToolsUsually noneFiles, shell, search
Who runs the codeYou copy-paste itThe agent runs it
Best forQuestionsShipping changes

A first session, plain and simple

zsh - hello-app
# you give it a goal, not code
$claude
> add a button that shows the current time when clicked
Read App.tsx ... edited App.tsx ... started dev server
Done. The button renders and updates on click.
$

Notice there was no clever wording. A clear goal plus a way to verify the result is the whole foundation. Models in 2026 such as Claude Opus 4.8 and Claude Sonnet 4.6 are strong enough that your job shifts from typing code to steering and checking it.

Claude Code - first run
You
add a button that shows the current time when clicked
Agent
I will edit App.tsx to add a button and a click handler.
Agent
Edited App.tsx. Dev server is running on localhost:3000.
Agent
The button now shows the time. Want me to format it nicely?
The agent narrates each step of its loop as it works.

Hands-on tasks