Carl Hewitt recently remarked that the question what is an
agent? is embarrassing for the agent-based computing community in
just the same way that the question what is intelligence? is
embarrassing for the mainstream AI community. The problem is that
although the term is widely used, by many people working in closely
related areas, it defies attempts to produce a single universally
accepted definition. This need not necessarily be a problem: after
all, if many people are successfully developing interesting and useful
applications, then it hardly matters that they do not agree on
potentially trivial terminological details. However, there is also the
danger that unless the issue is discussed, `agent' might become a
`noise' term, subject to both abuse and misuse, to the potential
confusion of the research community. It is for this reason that we
briefly consider the question.
We distinguish two general usages of the term `agent': the first is weak, and relatively uncontentious; the second is stronger, and potentially more contentious.