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