Software's special agents: Tired of sifting through electronic mail, searching databases and scanning networks for interesting news? An intelligent agent could be what you need.

It is Monday morning, work is hectic and there is less than a week to go before your holiday, but you still haven't booked a flight or accommodation. What you need is a personal helper that can go out and comb the travel agencies' computer systems for you. A helper that knows you like walking rather than lazing in the sun, that knows where you like to sit on different types of aeroplane, and that can deliver video footage of a choice of hotels to your work computer or home TV set.

Sounds like a dream? Well, perhaps not. At a recent conference organised by Hewlett-Packard, Nicholas Negroponte, director of the media lab at the Massachusetts Institute of Technology described how the 'future of computing will be 100 per cent driven by delegating to, rather than manipulating computers'. His vision is of a world where people employ electronic helpers - agents - that learn their likes and dislikes, behaving, says Negroponte, 'like an English butler'.

Developing agents as sophisticated as this is not a simple task, and the world is still some way from an electronic Jeeves. But the coming of the information superhighway which will connect us all to electronic networks means that simpler software agents - computer programs that can learn from your online behaviour - will be much in demand. When you have 500 television channels pouring into your home, you'll need an agent which has learnt what your preferences are at different times of day and shows you your favourite items first. And pretty soon you'll find that agents are available to sort your e-mail, bringing to your attention quickly the sort of items you've looked at first in the past.

But before agents become commonplace helpers in home and office, they will provide powerful tools for managing complex networks in which one part of the system needs to know what is happening elsewhere. In huge phone systems, for example, call route-ings have to be constantly changed to avoid line failures. Agents can be sent out to check the state of the network or interrogate each other to negotiate the best routes. And if networks link many different types of computer, agents can act as reporters with the advantage of sharing a common language.

One of the first software agents, Archon, was of this type. It was developed by Nick Jennings of Queen Mary and Westfield College in London in response to a request from one of the Spanish electricity companies in 1987. The organisation wanted to connect all the computers that controlled distribution of electricity over the country's grid. But there was no simple way to link the many different makes of machine.

The organisation uses Archon agents to monitor the databases on each of the computers. Each agent selects relevant information from its database to send on to agents on other machines. If, for example, a power station is running at low output in one computer's sector, the agent might ask agents at other sectors computers if they are able to divert power.

Archon agents are essentially quite simple expert systems but their general properties are common to most agents. In the language of agent designers, each Archon agent has local knowledge of the computer it occupies, certain 'beliefs' about the function of agents on other machines (in the sense that assumptions about what other agents will do are built into its program) and a set of 'desires' or goals that it must achieve.

Chris Winter, who works in BT's labo-ratories near Ipswich, which have dev-eloped some slightly more intelligent agents, says that one of the main differences between agents and traditional database query programs is that agents can say 'no'.

'Normal computer programs issue commands that must be obeyed, whereas agents issue requests that can be turned down by other agents,' explains Winter. This is important if agents are to communicate meaningfully.

In the scientific community, astronomers have been among the first to take to software agents. Cindy Mason and her colleagues at NASA Ames Research Center, south of San Francisco, have created agents that can control the scheduling of the telescopes. Each telescope agent knows the capabilities of its own telescope and the current weather conditions at its location. It also has some information about other robotic telescopes, such as their location and what kind of equipment they have. When it can't meet one of its own astronomers' requests, it communicates with agents managing other telescopes via e-mail according to a set of rules. If, for example, the agent receives a request for a viewing and cloudy weather is forecast for its area, it will obey the rule: 'If I have bad weather and there's another agent with the right telescope at the proper latitude and longitude, then send a request to that agent for a viewing tonight.' After the request is sent, the agents negotiate to decide who gets priority at which telescope.

This procedure follows a policy of 'fairness': it takes into account the importance of the event (unusual events such as a supernova have a higher priority than observing binary stars), the long-term goals of each astronomer and his or her viewing 'history'. In negotiating with other telescope agents for time on their telescope, the agent in need of help identifies important observations that need to be rescheduled, and either trades time with or offers the other agent a one-off payment.

Not all agents will simply sit at their home computers and send e-mail to other agents. Many people who design agents believe that it will prove simpler to create agents which leave your computer, copy themselves to other locations where they can explore, and return with the data you requested.

The first 'mobile' agents began to appear in research laboratories a few years ago. 'Rodney' is one of them - a general purpose software robot or 'softbot' designed by Oren Etzioni and his colleagues at the University of Washington, Seattle. Rodney can travel on the Internet and find out information about people, manage computer files, and monitor events such as the arrival of urgent e-mail. Etzioni might ask Rodney to find the e-mail address and telephone number for Jane Smith, for example, adding that Jane is a biologist. Rodney thus reasons: 'I could find out her e-mail address by using netfind (an information tool on the Internet), but netfind requires the person's city and institution. How can I get that? I might be able to find papers or technical reports by her. So I need to go out and look at bibliographic databases, and search for Jane Smith.'

Fans of mobile agents say that the amount of space these small programs take up on the network is less than if agents stay in one place and send e-mail. But BT's Winter believes a more realistic reason for developing mobile agents is that it is easier to write the code because it is easier to visualise what they are doing.

Pattie Maes, a computer scientist at the Media Lab, uses many small mobile agents for her work on news filtering. Her 'population' of agents searches the 'newsgroups' - special interest groups on the Internet and pulls out articles of interest to the user. Unlike the simple rule-based logic used to develop most agent programs, Maes has used techniques from the field of artificial life, such as genetic algorithms that lay down rules on how to combine successful programs to produce new, hopefully better ones. Successful agents - those that consistently learn their owner's preferences and then bring back the right type of news stories - get to reproduce, while agents that fail, die.

Agents like these are much closer to Negroponte's vision of an electronic butler. They are also attracting a lot of attention from commercial companies. General Magic, a Californian software company has developed the Telescript Technology programming language. The company believes that its language will make it easy to develop new agents, whether they perform simple tasks such as sorting and distributing electronic mail or complex ones such as shopping for a bargain holiday.

Private eye

Other researchers want agents to learn about their owner's private life. Tom Mitchell, a computer scientist at Carnegie Mellon, Pittsburgh, says: 'We believe agents will need to know a lot about you.' He has developed a calendar agent which learns his preferences by monitoring the meetings he adds to his electronic diary. If you request a meeting with Mitchell, his agent can talk to your agent and agree the timing and duration. Agents can challenge you: if past meetings lasted 20 minutes, for example, and you request a meeting of an hour, Mitchell's agent might ask if you're really sure.

Mitchell's personal agent has hundreds of rules such as: 'If I'm meeting with one of my students and we haven't met yet this week, the meeting will probably be for an hour.' These are not written by him - the agent extracts them from its observation of Mitchell's electronic diary.

But if we trust agents with all this personal information, what happens if the agent does something unexpected? This fact has not been ignored by researchers. Agents are in many way similar to worm-style viruses. They are independent computer programs that can reproduce, migrate and run themselves on another machine. Even though agents may be 'benevolent worms', the idea of allowing an intelligent, virus-like program to roam the networks is unsettling to some people. But Winter says the security risks are probably no greater than those that already exist, and he says that many companies, such as General Magic, propose that agents run on 'virtual machines' - software that acts as a safety net for the real computer.

Other researchers are looking at laying down strict design rules that will prevent a benevolent agent turning into a psychotic killer. Etzioni and Daniel Weld have written a paper called 'The First Law of Robotics'. The title is a tribute to science fiction writer Isaac Asimov's I Robot defines the Three Laws of Robotics - rules that, according to popular fiction, will be programmed into every robot to prevent them from harming humans. A 'law of softbotics' would prevent an agent from damaging a computer.

The debate over how to keep agents trustworthy is likely to continue behind the doors of the research laboratories, but the desire for a personal servant may well outweigh concerns for security. The danger is that a worm can turn - providing a new piquancy to the phrase the butler did it . . .