Software servants

Intelligent agents promise to perform the grunt work associated with many traditional software applications.

Butlers are an under-appreciated bunch. Deep down, everyone would like their own special fixer to fetch, carry, and expedite menial tasks. While that may not be realistic in the physical world, it's a distinct possibility in the logical one.

The idea of intelligent software agents (ISAs) has existed since the early days of science fiction. Now, some people believe that we are close to realising them.

An intelligent software agent would be able to do far more for computer users than a simple Web-based search engine, says Adam Cheyer, co-founder of Silicon Valley-based startup Siri. Siri is to launch an ISA that will be able to perform simple tasks on the user's behalf. According to Cheyer, we are on the brink of an era in which the software agent will change the era of search. He hopes that it will constitute the third phase of the Web.

The early Web was driven by directories. In 1996, people generally didn't go to search engines, they went to portals, which listed huge databases of online resources. Search only really took off with Alta Vista, which eventually gave way to others, including Ask, Yahoo, Microsoft and, of course, Google. These services specialised in spidering the Web for information, and making it easily retrievable. Google's differentiator, and the reason it succeeded so strikingly, was the quality of its algorithm, along with its ability to link search and advertising effectively.

Cheyer considers intelligent software agents to be more of a 'do' engine than a search engine. Google will deliver lists of possible answers to a simple query. An agent can take a complex command, deconstruct it into several subtasks on its own, execute them, assemble the results and deliver a final, acceptable solution.

Google might be able to show you a list of travel e-commerce sites, or airlines that are featuring seat sales, but it wouldn't be able to book your holiday for you. An intelligent software agent could do just that. Cheyer defines three distinct characteristics that can be used to define a software agent. First, it is able to interpret users' wishes to the point where it could hold a reasonable conversation, he says. So an agent could take a command such as "book me two cheap tickets to Antigua in early September", and work out what it meant. It would have to infer that, because Antigua was a long way from the user's home, the requirement would be for plane tickets rather than train or boat tickets.

Narrowing down the vague concept of 'early September' - and even understanding that this represented a time window - would be a challenge; and it would have to know that two tickets were needed, and that the whole conversation required a reservation, and had nothing to do with books.

If it were really smart, perhaps it would make some assumptions and talk back to the user, asking if a hotel needed to be booked, and whether they required a car to their final destination. Cheyer's second law of an intelligent software agent is that it is able to do, rather than just tell. Instead of returning a set of search results containing some airline pricing pages, our intelligent software agent would have to go to a selection of sites to try and find the best deal, compare prices, and actually make the booking.

Finally, an intelligent software agent should be able to learn over time. Perhaps after the first time it booked you a flight, it remembered your credit card number. Perhaps after several transactions, it would begin to assume that you liked cheaper tickets, rather than ones with more convenient flight times. It might also try to book you with the same hotel chain, so that you could get a loyalty discount.

CALO and RADAR

Such sophistication may be some way into the future, but the concept of intelligent software agents also has a lengthy past. Various organisations have attempted to build them throughout the years. The most ambitious project was the Cognitive Assistant that Learns and Organises (CALO), undertaken by non-profit research and development organisation SRI International.

This $200m project, awarded to SRI by the Defence Advanced Research Projects Agency (DARPA), was designed to produce systems that understood their roles within a large organisation and were capable of acting autonomously. The software would be able to interact rationally with other systems and humans in real time, according to the project mission statement.

A sister project called RADAR was designed to produce cognitive assistant technology that need not be chewed by experts, but which could instead function 'in the wild'. The ill-fated General Magic also piloted a project codenamed Serengeti, designed to present a virtual digital assistant called Mary who was able to understand millions of English language phrases.

Perhaps the most well-known attempt at an intelligent software system was Microsoft Bob, which attempted to create a more intuitive interface for Windows. An avatar attempted to assist users in basic tasks, but the program failed to catch on, and was largely panned in the press.

Wolfram Alpha

Now, Siri is just one organisation inching toward this goal again. Wolfram Alpha, launched last month, is set to revamp the concept of Web search. Developer Stephen Wolfram is preparing what he calls a 'computable web'. His search engine might not be able to book you tickets online, but it can interpret natural language, carry out multiple queries behind the scenes, and collate the results for you.

Users can ask the search engine questions such as "what is the GDP of France divided by the GDP of Italy", and it's claimed it will find the information and calculate the results, compiling an easily readable showing all of the information.

Other companies are already moving outside of academia, and delivering packaged intelligent software agent services. Rearden Commerce has a Web-based agent that can aggregate activities for the user. It can help you to find restaurants in a particular area, but can also check to see whether there are tables available, and can automatically add reservations to your calendar.

Any company making this technology work in the consumer market would rely on sheer volume and advertising for its revenue; but companies are also able to serve the enterprise market with tools such as these, points out Andrew Bartels, vice president of research at analyst Forrester. This raises a host of other opportunities, including the chance to integrate more tightly with other enterprise systems, and spark off workflows within the company based on certain commands.

A manager might need to arrange a sensitive disciplinary hearing for an employee. Saying "arrange me a disciplinary hearing for Jerry" could prompt the agent to look up which people in the organisational directory might be responsible for helping to manage this type of event (as listed in the human resources policy database), and to book a meeting with all of them in the corporate calendar, checking all of their schedules to find a time when all of the participants were free.

Significantly, however, enterprises might be the first to benefit from this technology, because of general difficulties with that integration. A successful intelligent software agent would need the ability to interact with multiple systems to get the information it wanted. A company with control of the IT budget might be able to design its systems so that everything interacted successfully.

It could use the concept of Web services (a class of XML-based APIs used to make systems work together) to produce machine-queryable interfaces for its different software applications.

Things will be more difficult in the broader public Internet, where no single entity controls the format that services might be offered in. A software agent may need to interact with a site that didn't have a Web service. Booking a room on a hotel's website with an unknown, arbitrary structure for its online booking form would be very difficult for even the most intelligent software agent to do.

For now, then, intelligent software agents are likely to work with services that they already know, and which speak their language. Like any real-world butler of merit, they are likely to be a selective breed on behalf of their clients.

Recent articles

Info Message

Our sites use cookies to support some functionality, and to collect anonymous user data.

Learn more about IET cookies and how to control them

Close