An agent is still
a model + tools + a loop.
The difference between a thin wrapper and a serious agent is the system built around that loop.
The model chooses what to do next. The surrounding software gives it useful capabilities, keeps the task alive, controls what may happen, and checks the real result.
A tool call is not yet a serious agent.
One-shot tool caller
- No feedback loop
- No durable state
- No recovery
- No proof of outcome
Goal-driven agent
- Adaptive path
- Saved progress
- Safe recovery
- Verified outcome
Build it. See what each piece adds.
Choose a layer, make a decision, and inspect the files it creates.
What does a good result look like?
Write the job you want done. Include what the agent must produce and what it must leave alone. A goal is useful when someone can check whether it was achieved.
This becomes goal.md. The loop reads it before choosing what to do.
Your project starts here.
Add the business goal to create goal.md. Each new layer adds its files to this same project.
└─ waiting for your first layer
Illustrative code. Adapter names show where your framework and services connect.
Start with one agent.
Then add a code workspace, skills, deeper context handling, or another agent only when the task proves it needs them.
Why these patterns are credible
These patterns are a vendor-neutral synthesis of published agent loops, tool design, context management, durable execution, and outcome evaluation. They are engineering starting points, not proof that a particular agent is reliable.
- Building Effective Agents ↗
- ReAct: reasoning and acting in a loop ↗
- Context engineering for agents ↗
- Safe retries for external actions ↗
- Evaluating agent systems ↗
This page explains a design. It does not run or certify a live agent.