Workers vs Agents
The Industry Uses “Agent” for Everything
The term “agent” is overloaded. It describes a Claude Code session, a CrewAI crew member, an OpenAI assistant, an AWS Bedrock agent, and a LangGraph node. These are all runtime constructs: a model instance with tools, executing in a session. When the session ends, the agent is gone.
DWS uses the term worker for what it defines, and reserves agent for the runtime construct that executes the definition.
The Distinction
| Worker (DWS defines this) | Agent (Runtimes provide this) | |
|---|---|---|
| Persistence | Exists as a versioned definition in git. Persists across sessions. | Exists for the duration of a session. Torn down after. |
| Identity | Name, version, domain, role, authority level, boundaries. | Model instance with a system prompt. |
| Knowledge | Institutional memory that compounds across sessions. | Session context that resets every time. |
| Authority | Four-level spectrum enforced by the runtime at three checkpoints. | Whatever the prompt says (not structurally enforced). |
| Verification | Independent verifier with context isolation and structured findings. | Self-evaluation or manual review. |
| Portability | Same definition compiles to Claude, CrewAI, Bedrock, or custom runtimes. | Locked to the framework it was built in. |
| Audit trail | Append-only event stream with mandatory event types. | Logs, maybe. |
| Lifecycle | Draft, testing, staging, production, deprecated, retired. | Running or not running. |
When to Use Which Term
Use worker when talking about:
- The definition (worker descriptor, worker identity, worker boundary)
- The role (contract review worker, compliance worker)
- The lifecycle (promote the worker to production)
- The marketplace (publish a worker, deploy a worker)
- Knowledge (the worker’s institutional knowledge)
Use agent when talking about:
- The runtime instance (a Claude Managed Agent session)
- The execution environment (the agent harness, agent toolset)
- The model invocation (the agent’s reasoning, agent tool calls)
- External protocols (A2A Agent Cards)
The Analogy
A worker descriptor is to a running agent what a Kubernetes pod spec is to a running container. The spec declares what should exist. The runtime makes it happen. The spec is portable. The running instance is not.
Or in employment terms: the worker descriptor is the employment contract. The agent is the person showing up to work on Monday. The contract defines the role. The person fills it.