In [ETZI95] a list of currently available agents is given to show what is already being done with intelligent software agents. As a means of showing what the differences between the mentioned agents are, the (well-known) metaphor of the information highway is used. On this highway an intelligent agent may be a backseat driver who makes suggestions at every turn (Tour Guides), a taxi driver who takes you to your destination (Indexing Agents or FAQ-Finders), or even a
concierge whose knowledge and skills make it unnecessary for a person to approach the
superhighway at all.
A draw-back of tour guides and indexing agents is that their actions and suggestions are based on a relatively weak model of what the user wants and what information is available at a suggested location. An attempt to change this is the
Internet Softbot (developed by the University of Washington). The aim is to create an agent that attempts to determine what the user wants and understands the contents of information services.
The agents that were described in the metaphor, access unstructured or semistructured
information (such as text files). The Internet Softbot tackles a different component of information on the Internet: structured information services such as stock quote servers or library databases.
Because the information is structured, the Softbot need not rely on natural language or
information retrieval techniques to "understand" the information provided by a service.. Instead, the Softbot relies on a model of the service for the precise semantics associated with information provided by the service. As a result, the Softbot can answer focused queries with relatively high reliability; the chances of finding relevant information are high and the amount of non-relevant information ('noise') is (relatively) low.
The key idea behind the Softbot is reflected in its name, which is derived from software robot. Its tools consist of UNIX commands such as ftp, print, and mail. Commands like list files and Internet services such as
Netfind are used as a kind of sensors to find information.
Internally, a least-commitment planner provides behavioural control of the Softbot. Several
technical innovations were necessary, however, to make this approach successful in the complex world of the Internet.
The Internet Softbot is a prototype implementation of a high-level assistant, analogous to a hotel concierge. In contrast to systems for assisted browsing or information retrieval, the Softbot can accept high-level user goals and dynamically synthesise the appropriate sequence of Internet commands to satisfy those goals. The Softbot executes the sequence, gathering information to aid future decisions, recovering from errors, and retrying commands if necessary.
The Softbot eliminates a person's need to "drive" the information superhighway at all; the person (user) delegates that job to the Softbot. More general: the Softbot allows a user to specify what to accomplish, while it handles the decisions of how and where to accomplish it. This makes the Internet Softbot a good example of a
The goal-orientedness of the Softbot is useful only if users find specifying requests to it easier than carrying out activities themselves. The agent has three properties which should make goal specification convenient for users:
||An expressive goal language: the Softbot accepts goals containing complex
combinations of conjunction, disjunction, negation, and nested universal and existential
quantification. This allows specification of tasks such as "Get all of researcher Joe's
technical reports that are not already stored locally";
||A convenient syntax and interface for formulating requests: despite the
expressive power of mathematical logic, many users are unable (or unwilling) to type
long, complex, quantifier-laden sentences (something many Information Retrieval systems
require). For this reason, the Softbot supplies a forms-based graphical user interface
and automatically translates forms into the logical goal language. Natural language
input, an alternative approach pursued by many researchers, is not yet incorporated in
||Mixed-initiative refinement dialogue: even with a well-engineered interface,
it is difficult to specify orders precisely. Human assistants solve this problem by
asking questions to their client in order to be able to iteratively refine a given goal.
The current Softbot has only limited support for in-between questions, but a new
interface is being designed that will allow the Softbot to pose questions (while it
continues to work) and allow the user to add information and constraints.
The Softbot possesses many, but not all of the desired characteristics as they were described in section 2.2. It is autonomous, goal-oriented, flexible and
self-starting (i.e. it possesses "reactivity"). At this moment work is being done to extend the Softbot's collaborative, communicative, adaptive and personality-characteristics.
The Softbot is not mobile, but it does not really need to be that. What's more, it would entail all kinds of complicated security and privacy issues (with regard to its user).
In [ALOI95] D'Aloisi and Giannini present a system that supports users in retrieving data in distributed and heterogeneous archives and repositories. The architecture is based on the metaphor of software agents and incorporates techniques from other research fields such as distributed architectures, relevance feedback and active interfaces.
When designing and developing the information agents for their system, the aim was to make the system suitable for different types of users with regard to local and external searches for information and data.
One single agent, called the Info Agent, is used as the interface between the system and the user. The Info Agent, in its turn, uses a so called Interface Agent for handling the communication with the user. This agent is like a personal assistant who is responsible for handling user needs, and for the connection of the user with the agent(s) that will help him solve his problem. The number of types of agents the Interface Agent has to deal with, depends on the aims of the system. As a result of the distributed and agent-based architecture of the system the whole structure of it can
be easily changed or updated by adjusting the Interface Agent only.
The Interface Agent is able to reason about the user's requests and to understand what type of need he is expressing: it singles out which of the two other agents in the system is able to solve the current problem and sends to it its interpretation of the query (using
KQML - the Knowledge Query and Manipulation Language). These other two agents are the Internal Services Agent and the External Retrieval Agent.
Figure 1 - The structure of the Info Agent system
The Internal Services Agent knows the structure of the archives available in a given organisation: it is in charge of retrieving scientific and administrative data, performing some classes of actions (such as finding available printers) and supporting the user in compiling internal forms.
The External Retrieval Agent is in charge of retrieving documents on the network. It can work in two modalities: retrieval (or query) mode and surfing mode. In the first case, it searches for a specific document following a query asked by the user: this service is activated by a direct user request. In the second case, the agent navigates the network searching for documents that, in its opinion, could interest the user. The search is driven by a user's profile built and maintained by the Interface Agent.
Refinement of this profile takes place according to how the user manages the data that the agent finds for and/or proposes him. Using the user's profile, the Interface Agent charges specialised agents to navigate through the network hunting for information that could be of some interest for the user. In this way, the user can be alerted when new data that can concern his interest area(s) appear.
Currently, both the External Retrieval Agent as well as the Internal Services Agent utilise the same software tool to perform their search: it is a public-domain software called
Harvest, which is "an integrated set of tools to gather, extract, organise, search, cache and replicate relevant information across the Internet". Nevertheless it is also possible to provide the system with other search methods or systems to be used alone or along with Harvest: that is an advantage due to the modular and distributed architecture of the whole framework. The number of agents co-ordinated by the Interface Agent is also a part of the system that can quite easily be changed.
In a nutshell the Interface Agent has the following crucial system tasks:
||Assisting the user in performing requests and compiling his profile.
The user does not need to be aware of what is available on the network, how this
information is structured and organised, where the repositories are localised, or what
retrieval services are at disposal. This is the responsibility of the Interface
||Deducing the user's information needs by both communicating with him and observing
The agent observes the user's behaviour and the current state of the world to deduce what
actions are to be performed and how to modify the current user's profile;
||Translating the requests of the user and selecting the agent(s) able to solve his
This allows the user to completely ignore the structure of the system he is interacting
with. Moreover he can also ignore how the system works. The user interacts with a
personalised interface that knows how to satisfy his requests without bothering him with
all sorts of details;
||Presenting and storing the retrieved data.
This avoids the user to know the different formats (such as WordPerfect, Postscript or
LaTeX format) and how to manage a document to have a printable or showable version. The
Info Agent deals with each retrieved document according to its format and transforms it
into a form the user can utilise (e.g. convert a LaTeX document into WordPerfect format).
The Info Agent resembles, in a number of ways, the Softbot. One of the differences between these two agents is that the Info Agent focuses mainly on the user, whereas the Softbot focuses mainly on the requests of the user. Another difference is that the Info Agent searches in both structured as well as unstructured information (documents), whereas the Softbot "limits" itself to structured information only.