The foundational philosophical distinction that "agent" carries two irreconcilable meanings: **ascription** (observers project agency onto things that behave a certain way) vs **description** (software possesses formal agent properties by design).
## Core Concept
Bradshaw (1997) identifies that the confusion around "What is a software agent?" stems from two fundamentally different definitions being used interchangeably:
### Agent as Ascription
People project agency onto software when it behaves in ways that seem autonomous or purposeful. This follows Dennett's "intentional stance" — we treat the software *as if* it has beliefs, desires, and intentions because that's a useful predictive framework. Under this view, "agent" is in the eye of the beholder.
- A thermostat "wants" the room to be 68 degrees
- A spam filter "decides" what's junk
- An LLM "thinks" about your question
The ascription view means: **anything can be an agent if someone finds it useful to describe it that way.**
### Agent as Description
Software is an agent when it possesses specific formal properties: continuous autonomous operation, situated in an environment, flexible and intelligent responses to change. Under this view, "agent" is an engineering specification with testable criteria.
The American Heritage Dictionary anchors this: an agent is "one that acts or has the power or authority to act... the means by which something is done or caused."
### Why the Duality Matters
The two definitions produce fundamentally different answers to "Is X an agent?":
| System | Ascription View | Description View |
|--------|----------------|-----------------|
| ChatGPT | Yes (people treat it as having agency) | No (not autonomous, not persistent, not situated) |
| Claude Code | Yes (acts on user's behalf) | Partially (autonomous within sessions, but not temporally continuous) |
| A cron job | No (nobody ascribes intentionality) | Partially (autonomous, persistent, but not adaptive) |
| A self-driving car | Yes (strong intentional stance) | Yes (autonomous, situated, adaptive, persistent) |
This explains why the industry can't agree on what "agentic" means — participants are using different definitions without realizing it.
## Cross-Domain Applications
- **AI-Assisted Development** — The "agentic coding" label applies under ascription (developers *treat* Claude Code as an agent) but is debatable under description (is it truly autonomous? persistent? adaptive across sessions?). The duality helps cut through marketing hype vs engineering reality.
- **Philosophy of mind** — Maps directly to the intentional stance debate (Dennett) and the Chinese Room argument (Searle). Ascription is behaviorist; description is functionalist.
- **Organizational behavior** — We ascribe agency to teams, departments, and companies ("Google wants to...") while also describing their formal properties (autonomous budget, persistent identity). The same duality operates at every level of organization.
- **Knowledge management** — A Second Brain can be viewed through ascription (it "remembers" for you, "suggests" connections) or description (it has formal properties: persistent, situated in your workflow, reactive to queries). The IA paradigm works precisely because ascription feels natural.
## Modern Relevance (2026)
The ascription/description split maps perfectly onto the current "Are LLMs really agents?" debate:
- **Ascription camp**: "Of course Claude is an agent — it reasons, plans, executes code, learns from context"
- **Description camp**: "Claude lacks temporal continuity, true autonomy, and environmental situatedness — it's a sophisticated tool, not an agent"
- **Resolution**: Both are right within their own definition. The productive question isn't "Is it an agent?" but "Which agent properties does it have, and which does it lack?"
## Related Concepts
- [[Intelligence Augmentation Paradigm]] — Maes' IA thesis operates primarily under the ascription view: agents *feel* like helpful assistants
- [[Canonical Agent Property Framework]] — The description-side checklist: 9 formal properties to evaluate
- [[Behavior Based Agent Architecture]] — Maes' technical work bridged both: agents that *behave* adaptively (ascription) through formal mechanisms (description)
- [[Agentic Engineering Definition]] — Modern attempt to define "agentic" that implicitly uses the description view
- [[Agent Loop Maturity Spectrum]] — Maturity levels map to accumulating formal agent properties
## Sources
- Bradshaw, J.M. (1997). "An Introduction to Software Agents." Chapter 1 in *Software Agents*, AAAI Press/MIT Press, pp. 3-46.
- [[Software Agents (book)]] — Source document with full chapter screenshots