The distinction between workflows and agents is the part I keep coming back to. Most of what teams call "agents" in production are really workflows with an LLM step in the middle. The routing and parallelization patterns here map directly onto what we ship. The uncomfortable corollary: if your use case fits a workflow, an agent mostly buys you latency and failure modes. I've started asking "which pattern from this post is this?" in design reviews, and half the time the honest answer is "an augmented LLM with extra steps." That's not a knock. Simple patterns are the ones that survive contact with production.
Anthropic's field guide to agent systems: start with simple workflows, and reach for autonomous agents only when the task needs dynamic decision-making.