Intelligent software agents are a popular research object these days in such fields as psychology, sociology and computer science. Agents are most intensely studied in the discipline of Artificial Intelligence (AI). Strangely enough, it seems like the question what exactly an agent is, has only very recently been addressed seriously.

"It is in our best interests, as pioneers of this technology, to stratify the technology in such a way that it is readily marketable to consumers. If we utterly confuse consumers about what agent technology is (as is the case today) then we'll have a hard time fully developing the market potential."
J. Williams on the Software Agents Mailing List

Because of the fact that currently the term "agent" is used by many parties in many different ways, it has become difficult for users to make a good estimation of what the possibilities of the agent technology are. At this moment, there is every appearance that there are more definitions than there are working examples of systems that could be called agent-based.

Agent producers that make unjust use of the term agent to designate their product, cause users to draw the conclusion that agent technology as a whole has not much to offer. That is - obviously - a worrying development:

"In order to survive for the agent, there must be something that really distinguishes agents from other programs, otherwise agents will fail. Researchers, the public and companies will no longer accept things that are called agent and the market for agents will be very small or even not exist."
Wijnand van de Calseyde on the Software Agents Mailing List

On the other hand, the description of agent capabilities should not be too rose-coloured either.

Not everybody is that thrilled about agents. Especially from the field of computer science, a point of criticism often heard about agents is that they are not a new technique really, and that anything that can be done with agents "can just as well be done in C". According to these critics, agents are nothing but the latest hype.
The main points of criticism can be summarised as follows:
Mainstream AI research (expert systems, neural networks) is not as successful as many people had hoped and the new paradigm of agents is the way to escape;
Everything that has the label "agent" sells (this also counts in research). Like the words 'plus', 'super' and 'turbo', the term 'agent' sounds very attractive, even when most people do not know the exact meaning of 'plus', 'super', 'turbo' or 'agent'. Agents are nothing more but old wine in new bottles;
Because of the fact that in most cases current software agents have neither a very sophisticated nor a very complicated architecture, some wonder what qualifies them as "intelligent". [1]

Particularly by researchers in the field of AI, these points of criticism are refuted with the following arguments:
What distinguishes multi-agent architectures from other architectures is that they provide acceptable solutions to certain problems at an affordable price. These are the kind of problems that cannot not be solved with available resources in reasonable time with monolithic knowledge based systems.  [2]
An example of this can be found in the field of integrated decision making, where systems are built where a single final diagnose is based on the diagnoses of individual worker agents.
Moreover, there are some problems in the field of AI that cannot be solved satisfactorily unless a multi-agent architecture (i.e. an architecture where independent agents are working together to accomplish all kinds of tasks) is used;
Agents make it possible to eradicate the differences between the different kinds of networks (WAN, LAN , Internet) and to make the borders between them 'disappear'. Some researchers like to take this one step further by playing with the notion of agents that supersede AI. [3]
The response of (particularly) these researchers to the pronouncement quoted earlier, that what agents can do "can just as well be done in C", can be summarised in the following points:
It does not matter what the underlying technique of agents is. Whether that is a C program, a Perl script, or a LISP program: what it all boils down to is what the agent is and is not capable of doing. Or to be more precise: whether the agent is capable of displaying intelligent behaviour. And whether the basis for that behaviour is a C program, or whatever other programming language or technique, does not really matter;
It does not always apply that everything that can be done by multiple co-operative agents may "just as well be done in C" (not even in the object oriented variant of that programming language). There are several tasks and problems for which there is scientific proof that they cannot be accomplished or solved by one single program or person. These kind of problems call for a distribution of the task or problem over multiple entities (i.e. a multi-agent architecture) because this will lead to a solution in a much shorter time, and quite often to a solution of a higher quality because it is the result of a subtle combination of the partial results of each individual entity.

The 'pros' and 'cons' with regards to agents as they are mentioned here, are by no means complete, and should be seen as merely an illustration of the general discussions about agents. What it does show is why it is necessary (in several respects) to have a definition of the concept "intelligent software agent" that is as clear and as precise as possible. It also shows that there is probably a long way to go before we arrive at such a definition - if we can come to such a definition at all.

[1] Unfortunately that question opens up the old AI can-of-worms about definitions of intelligence. E.g., does an intelligent entity necessarily have to possess emotions, self-awareness, etcetera, or is it sufficient that it performs tasks for which we currently do not possess algorithmic solutions?
[2] The 'opposite' can be said as well: in many cases the individual agents of a system aren't that intelligent at all, but the combination and co-operation of them leads to the intelligence and smartness of an agent system.
[3] These researchers see a paradigm shift from those who build intelligent systems and consequently grapple with problems of knowledge representation and acquisition, to those who build distributed, not particularly, intelligent systems, and hope that intelligence will emerge in some sort of Gestalt fashion. The knowledge acquisition problem gets solved by being declared to be a 'non-problem'.

 previous page  next page  to the chapter's TOC  to the main TOC

"Intelligent Software Agents on the Internet" - by Björn Hermans