Every LLM feature eventually faces the same architectural fork: hardcode the steps as a prompt chain, or hand the model tools and let it decide. The industry defaults to agents because they demo well. Production tells a different story.
The real difference
A prompt chain is a pipeline: fixed steps, each LLM call doing one job, outputs validated between stages. An agent is a loop: the model sees tools, picks actions, and decides when it's done. The chain trades flexibility for predictability. The agent trades predictability for range.
Chains win when the path is known
If a human expert would describe the task as a recipe ("first extract the entities, then match them against the CRM, then draft the message"), encode the recipe. You get per-step evals, per-step retries, per-step costs, and failures that point at a specific stage. Most enterprise LLM features are recipes wearing an agent costume.
Agents win when the path depends on what you find
Research tasks, debugging, multi-source investigation: anywhere the next step genuinely depends on the previous result, a fixed chain either explodes into branches or does redundant work. That's the agent's home turf. The tell is branching factor: if step three can require five different step fours, a loop beats a lattice.
The hybrid that actually ships
The pattern that survives production is a chain with agentic steps: a deterministic backbone where one or two stages are bounded agent loops with a small tool set, a hard iteration cap, and structured output the next stage validates. You keep the observability of a pipeline and buy flexibility only where the task demands it.
A checklist
- Can you write the steps on a whiteboard? Chain.
- Does the step count depend on intermediate results? Agent, but capped.
- Do you need per-step cost and quality tracking? Chain backbone.
- Is the failure mode "wrong answer" or "wandered off"? Agents fail the second way; budget for it.
- When in doubt, start with the chain. Promoting a stage to an agent later is easy. Demoting a tangled agent to a chain is a rewrite.