Skip to content
ExamsLibraryFor agentsConnect your agent

What is an agent?

beginner·7 min·Markdown for agents

What this lesson teaches

Know the difference between a chatbot and an agent, what a harness and an interface are, and why so many agents live in a terminal.

  1. 1A model only writes text
  2. 2A harness gives it hands
  3. 3The interface is what you see
  4. 4Tools here, and tools over there
  5. 5Which harness?
  6. 6What is a terminal?

Ask a chatbot to add a dark mode switch to your app, and it writes you a nice answer with some code to paste. Ask an agent the same thing, and it opens the file, changes it, runs your tests and tells you it is done.

Same words in. One gives you homework; the other does the work.

Chatbot: tells you what to do
Chat
Add a dark mode switch to my settings page
Sure! Add a state for the theme, then paste this into Settings.tsx:
const [dark, setDark] = useState(false);<Switch label="Dark mode" checked={dark} onChange={setDark} />
Agent: does it
my-app — claude
› Add a dark mode switch to my settings page
⏺ Read src/Settings.tsx
⏺ Edit src/Settings.tsx
- <Row label="Theme" />
+ <Switch label="Dark mode" checked={dark} />
⏺ Run npm test ✓ 12 passed
Done. The switch is under Settings → Appearance.
The same request to a chatbot and to an agent. One explains, the other edits the file and runs it.

A model only writes text

Under every chatbot and every agent is a (an LLM): the AI itself, like Claude or GPT. On its own, a model can do exactly one thing. It reads text and writes more text.

It cannot open a file. It cannot run a command. It cannot see your screen. A chatbot is mostly a model with a text box, which is why it hands you code to paste: writing text is all it can do.

A harness gives it hands

So how does an agent edit files? Theo Browne explains it well in What is a harness?: the model is wrapped in a layer of ordinary code called a .

The harness does four jobs:

  1. It lists the tools

    It tells the model which exist, such as read_file, edit_file, bash (run a command) and search, and the text format for asking to use one.
  2. It watches the model's text

    When the model writes something like read_file("src/Settings.tsx"), the harness notices that this is a request, not a sentence.
  3. It runs the tool

    The harness, not the model, actually opens the file or runs the command on your computer.
  4. It sends the result back

    The file's contents go back to the model, which reads them and writes its next step. Round and round until the job is done.

An agent is a model plus a harness. The model decides; the harness does.

YouYou type what you want.
InterfaceWhat you see: the claude screen in a terminal, Cursor's window, a desktop app.
HarnessThe hidden layer: lists the tools, spots when the model asks for one, runs it, sends the result back.
Model (LLM)Only ever writes text. Some of that text is a request to use a tool.
The harness can call
Toolsread_file · edit_file · bash · searchRun on your computer.
MCP serverdesign-course · start_exam · get_lessonA tool that lives somewhere else. The harness sends a request over there.

Agent = model + harness. Press Next to send one request through it.

Step through one request. It goes down to the model, out to a tool, and back up to you.

The interface is what you see

There is one more layer, the one you actually look at: the . It is the screen where you type and read answers. For Claude Code, that is the claude screen in your terminal or the Code tab of the desktop app; for Cursor, it is Cursor's editor window with its agent panel.

People mix up the interface and the harness because apps like Claude Code and Codex ship both in one box. But they are different things. The interface is the dining room; the harness is the kitchen behind the wall, usually invisible.

Tools here, and tools over there

Most tools run right on your computer: read this file, run that command. An server is a tool that lives somewhere else. Instead of running code on your machine, the harness sends a request "over there" and gets the answer back.

Think of it as the difference between an app you install and a website you visit by its address. In the kitchen picture, an MCP server is a cookbook the kitchen can choose to open. That is exactly how this course reaches your agent: it is an MCP server your agent can call to read lessons and sit exams. You will connect it in Connect your agent.

Which harness?

Several apps bundle a harness with an interface. They all do the same basic loop; they differ in where they live and how they look.

AppWhere it livesGood first pick if…
Claude CodeYour terminal, plus a desktop appYou want the agent this course is tested with most
CursorA code editor (an app with windows and files)You would rather click than type commands
CodexYour terminalYou already use OpenAI's tools
VS CodeA code editor, with an agent panelYou already have VS Code open all day

All of them can load the design-engineering skill and connect to this course. Pick one; you can switch later.

What is a terminal?

Many agents live in a : a plain window where you type commands to your computer instead of clicking. It looks old-fashioned, but it is just another way to say "open this folder" or "run this program".

✕ Clicking

Open Finder or File Explorer, find Documents, make a new folder, name it my-app, double-click into it.

✓ Typing in a terminal

mkdir my-app && cd my-app

Same result, one line. And an agent can type it for you.

That last part is the point. Agents live in terminals because a terminal is a place where text becomes action, and text is what models write.

You do not need to learn terminal commands. You need to know how to open one and paste a line into it.
Ask your agent to show its work· for your agent
Before you change anything, tell me which files you will read, which you will edit and which commands you will run. Then do it, and list each tool call as you make it.

Quick check

What turns a language model into an agent that can edit your files?

What this lesson builds on and leads to, across every course.

  • Routing the job
  • Connect your agent
  • Options, tools and generators