What is an AI agent?
An AI agent works toward a goal in steps, calling tools as it goes. What that means in Claude Code, Codex or ChatGPT, and what an agent needs from a list.
An AI agent is a language model that works toward a goal in steps. It reads where things stand, decides the next step, calls a tool to take it, reads what the tool answered, and goes on, until it's done or needs you.
A chat answers you. An agent does things: it runs commands, edits files, opens pages, and calls the tools it was given.
The agents you already use
- Claude Code and Codex work in a folder on your computer: they read the code, change it, run the tests and commit, often for an hour or more on one task.
- Cursor and VS Code have agents inside the editor.
- Claude and ChatGPT act as agents when they call the tools of an app you connected, such as Hamloy.
Each of these can be given tools through MCP. The tools are how an agent reaches anything outside its own conversation.
What one step looks like
Here Claude Code is starting work. It reads what is ready, and takes the first task:
⏺ hamloy - See the lists (MCP)(status: "ready", limit: 3)
⎿ Pebble · 12 open, 0 done
backlog
## Home
[ ] B-u5oh@2 Streak counter on the home screen prio:high
[ ] B-cxkr@1 Clean up the settings screen (1 note)
Drop the three toggles nobody uses
[ ] B-txqk@1 Show the streak counter on the widget
Showing items 1–3 of 10. The next ones: from 3. Or narrow it with find, kind, section or ready.
⏺ hamloy - Claim an item (MCP)(key: "B-u5oh")
⎿ B-u5oh@2 "Streak counter on the home screen" claimed by this session
Nothing in that was typed by a person. The agent chose each call from what the last reply said.
What an agent forgets
An agent remembers what is in its conversation, and nothing else. Close the window and the plan, the open questions and the half-done work are gone. Run two at once and neither knows what the other is doing: two Claude Code windows, or Claude Code beside Codex, can start the same task.
And an agent can't do everything. It can't make an account in your name, pay, choose between two designs you care about, or push a button that only you can reach.
What an agent needs from a list
That's what Hamloy is for. The rules every agent gets with its first reply ask it to:
- read the lists when it starts, so a new session picks up where the last one stopped;
- claim a task before it starts, so no other agent takes it;
- put what only you can do on Requests, with the exact steps;
- ask what is yours to decide on Questions, with the option it recommends;
- tick what it finished, and hear in its news what the others did.
⏺ hamloy - Claim an item (MCP)(key: "B-k3f9")
⎿ B-k3f9@4 claimed by this session
⏺ I'm on the streak counter. Counting days in a row per habit, with tests for skipped and missed days.
• Called hamloy.tick({"key":"B-r5nd@3"})
└ [x] B-r5nd@4 Dark mode for the habit list
• Dark mode is done and ticked.
› Take the streak counter on the home screen.
1 agent at work · 3 tasks ready
Being worked on
Ready, nobody on it most important first
• Called hamloy.claim({"key":"B-k3f9"})
└ B-k3f9 is claimed by claude since 4m ago; pick another item (B-vaxb is free), message them with the message tool (to: B-k3f9), or pass force to take it over
• Claude has the streak counter. Hamloy says B-vaxb is free, so I'll take the haptic tap.
• Called hamloy.claim({"key":"B-vaxb"})
└ B-vaxb@2 claimed by this session
You see all of it on one board, and the agents see your answers under their next reply. See Human in the loop for the questions part, and How to keep several agents from doing the same work for the claims.