State Machine

Definition: A state machine is a system model that defines a finite set of states, the events or conditions that trigger changes, and the allowed transitions between states.
Also known as: Finite state machine, FSM

What is a state machine?

A state machine is a system model with defined states and allowed transitions between them. An event, condition, or action causes the system to move from one state to another.

State machines help agent workflows make progress and completion explicit instead of relying only on free-form model interpretation.

Simple example

A tool-execution task might use these states:

Pending → Awaiting approval → Running → Completed

Alternative transitions may lead to Failed, Canceled, or Input required. The system can define which events allow each transition. For example, only an approval event can move a sensitive action from awaiting approval to running.

State machine versus agent state

[Agent state](/glossary/agent-state/) is the current information tracked during execution, such as goal, observations, results, and pending tasks.

A state machine defines the allowed lifecycle states and transition rules. The current state-machine state may be one field within the broader agent state.

State machine versus workflow

A workflow describes the steps or activities used to complete work. A state machine emphasizes lifecycle states and legal transitions.

They often work together. Workflow steps perform actions, while the state machine prevents impossible or unsafe transitions. A graph can represent both activities and state changes.

Benefits and trade-offs

Explicit states improve retries, recovery, monitoring, and auditability. A restarted process can inspect the saved state and determine what may happen next.

However, overly rigid state machines can make open-ended tasks difficult to represent. Missing states or transitions may force developers to add exceptions. A hybrid design can use deterministic lifecycle control around flexible agent reasoning.

Failure modes

Ambiguous transitions can trigger duplicate actions. A model should not be able to claim a task completed without execution evidence. Concurrent updates can also move state inconsistently unless writes are controlled.

Builders should validate transitions in application code, make terminal states explicit, and separate proposed state changes from committed ones.

Why it matters

State machines provide a reliable control layer around probabilistic agent behavior. They clarify what the system is doing, what can happen next, and when the task is finished.

See [Anatomy of an AI Agent](/anatomy-of-an-ai-agent/) for how state and guardrails fit into the full agent architecture.

Learn More

Anatomy of an AI Agent
Continue with the full AIRundown guide →