Build agents that plan, call tools, observe results, revise actions, and stop safely. Cover state machines, workflow graphs, agent protocols, permissions, human approval, multi-agent patterns, and failure recovery.