Skip to content

Agents vs Assistants ​

"AI coding tool" covers four different machines with four different supervision models. Mixing them up causes both failure modes: babysitting an agent keystroke-by-keystroke, or letting autocomplete-level trust govern a 40-file autonomous change.

Autocomplete (Copilot-style)Chatbot (ChatGPT-in-a-tab)Pair programmer (Cursor-style)Agent (Claude Code)
Unit of workLine / blockSnippet, explanationEdit within files you have openTask: multi-file change, verified
ContextCurrent file + neighborsWhat you pasteOpen files + retrieved repo chunksWhole repo on demand + CLAUDE.md + command output
Acts on your machineNoNoApplies edits you acceptReads, edits, runs tests, builds, git — inside a permission model
Failure surfaceOne wrong line, caught at a glanceStale/hallucinated API, caught when you integrateWrong edit in code you're watchingCoherent wrong system: plausible diff across 15 files, passing its own tests
Supervision modelContinuous, subsecondPer-answerPer-editPer-milestone: plan review, diff review, verification gates
When to useTyping speed on code you're authoringConcepts, unfamiliar APIs, throwaway snippetsFocused edits where you want to steer liveDelegable tasks with checkable outcomes: features, refactors, migrations, debugging

The load-bearing row is failure surface. Autocomplete errors are cheap because review is instant and local. Agent errors are expensive because the output is large, internally consistent, and looks finished — the review cost moves from "glance" to "engineering review of a junior's PR". That's why agents demand specs, quality gates, and review workflows that the other tools never needed. See Why Agents Fail and Reviewing AI PRs.

The agentic loop ​

What makes Claude Code an agent rather than a chat window is the loop it runs autonomously:

  1. Read — explores the repo (grep, file reads, CLAUDE.md) to build context.
  2. Plan — decomposes the task; in plan mode, presents the plan for approval before touching anything.
  3. Edit — makes multi-file changes.
  4. Run — executes tests, builds, linters; reads real error output.
  5. Iterate — feeds failures back into the loop until done or stuck.

Cursor-style tools run a shorter loop (retrieve → propose edit → you accept) with a human in every iteration. Copilot runs no loop at all. The longer the autonomous loop, the more your leverage shifts from steering during to specifying before and verifying after — which is the core argument of Prompts vs Specs and Responsibility Split.

These aren't competitors; they're different altitudes. Plenty of engineers run Copilot for authoring, a chat tab for API questions, and Claude Code for delegated tasks — same day, same repo. Pick per task by asking one question: how much unreviewed work am I willing to let accumulate before I look? One line → autocomplete. One edit → pair programmer. One task → agent.

  • Mental Models — the fast-junior-with-zero-memory model that governs how much to trust the loop.
  • Why Agents Fail — the failure surface row expanded: plausible-but-wrong systems.
  • Responsibility Split — what per-milestone supervision means in practice.
  • Prompt Anatomy — structuring task-level instructions once the unit of work is a task, not a line.
  • Reviewing AI PRs — the review workflow that agent-scale output requires.

A field manual for AI-native software engineering.