 |
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.
|
|