Agentic development is a loop, not a chatbot
Chat completes text. Agents close a loop: plan, act with tools, observe, verify, repeat.
Most “AI coding” is still chat with extra steps: you paste context, it emits a patch, you run it.
Agentic development starts when the model is allowed to act, then read the result, then act again without you re-pasting the world every turn.
The loop
goal
→ plan (optional, often implicit)
→ tool call (edit, shell, search, browser)
→ observation (diff, test output, HTTP status)
→ update beliefs
→ next action or stop
If there is no observation channel, you do not have an agent. You have autocomplete with better marketing.
What changed vs Copilot-style assist
| Assist | Agent | |
|---|---|---|
| Unit of work | next tokens / next edit | a goal that may span many steps |
| Feedback | you | tools + environment |
| Failure mode | wrong suggestion | wrong trajectory (keeps digging) |
| Value | speed of typing | speed of closing the loop |
The hard part is not “smarter model.” It is bounding the loop so it converges instead of thrashing.
The four primitives
- Tools — filesystem, shell, git, browser, APIs. No tools → no agency.
- State — working tree, branch, env, open PR. Agents corrupt this silently.
- Policy — what it may touch, what needs approval, max steps/cost.
- Verify — tests, typecheck, lint, smoke URL, “does the button still work.”
Skip verify and you are automating confidence, not correctness.
Decision rule
Use an agent when the task is:
- multi-step
- checkable (you can define “done”)
- cheap to reverse (branch, worktree, preview)
Keep it as chat when:
- you are still shaping the problem
- the blast radius is production data or shared infra
- you cannot state a stop condition
Agentic development is software engineering with a non-deterministic intern that types very fast. The loop is the product. The model is just the planner inside it.
get new posts
Occasional notes on agentic development. No spam.