Just a few years ago, Web browsers were obscure and clumsy, but many believed (or were convinced by the hype) that the Internet would revolutionise computing. Today we take the Web for granted, and a fresh crop of buzzwords - portals and push technology, applets and streaming audio - promise ever-richer information.
"Software agents" are a new player on the scene. Like the browser itself, the hype surrounding software agents - often shortened to "agents", and also known as "autonomous agents" or "software robots" - promises a major remodelling of the virtual landscape. While such grandiose claims are a bit over the top, agents are certainly worth knowing about.
Consider the ordinary meaning of "agent" - as in "travel agent", literary agent", "real estate agent". Ideally, we tell our agents what to do (buy me a ticket to Shanghai; negotiate an advance for my novel), and they sort out the details (uses the SABRE travel reservation system, and contacts charter airlines; cashes in favours from friends at the publishing houses).
Agents are helpful because they handle mundane details - if you ask to depart by noon, but the only flight leaves at 1 p.m., your travel agent should book the ticket anyway. You maintain control over important issues - the actual travel dates shouldn't be changed without asking. A good agent acts in your best interest - your agent should secure the lowest fare. Agents should learn and act on your preferences - if you've complained about the Frankfurt airport, your agent should avoid stopovers there.
Software agents as adaptive and clever as people are surely a long way off. But numerous research groups are building systems that explore the agent metaphor. Agents (or more accurately, agent hype) have taken off - hundreds of research articles and about 30 books have recently appeared on the topic, and May's Autonomous Agents research conference drew nearly a thousand people.
Some agents automate tedious tasks. For example, shop at Ex- cite (jango.excite.com) and you'll be using the Jango shopping agent, developed by a spin-off from the University of Washington in Seattle. Jango knows dozens of online stores, and it checks them all to find the best price. Agents are ideal for comparison shopping: you could do it yourself, but might well quit from boredom before finding the cheapest store.
The Internet is an ideal setting for other agent species. "Mobile agents" roam the network, gathering and depositing information. IBM's "Aglets" system (www.trl.ibm.co.jp/aglets), and General Magic (www.generalmagic.com) provide tools for building mobile agents. Alas, few applications have been built. One hurdle is security: mobile agents need sufficient authorisation to be useful, but not enough to allow disk-eating viruses.
"Multi-agent systems" are teams of agents that co-operate toward a high-level agenda. The telecommunications and electricity industries, for example, are investigating agent-based systems that tune and diagnose faults in their networks.
While these examples illustrate the potential of agents, beware the hype. As with any new technology, the first modest steps are often inflated, leading to dubious predictions such as "revenues from agents will grow to $4.7 billion in 2006" (www.ovum.com/innovate /ia2/ia2wp) The fact that the agent metaphor is so simple and compelling drives such hype. The definition of an agent exacerbates the problem. How are agents different from old-fashioned programs like word processors and payroll systems? The answer - a disappointment to the spin-doctors - is that there is no hard distinction. Consequently, many new products are touted as "agent-based", but this phrase usually reveals little about the product's usefulness or functionality.
Nevertheless, researchers have emphasised several aspects of "agenthood". Agents are typically "autonomous" - they don't require direct user supervision. Most agents are "goal-directed" - their behaviour is designed to achieve a long-term agenda. Many agents are "adaptive" - they learn about their owners and the world, rather than having to be explicitly told. Finally, agents usually run for a long time (weeks or months), while word-processors and other ordinary applications are shut down when not used.
Many agent researchers came to the field with a background in artificial intelligence, so agents often employ various AI techniques - expert systems, machine learning, knowledge representations, planning, and natural language processing. More recently, researchers with backgrounds in operating systems and networking backgrounds have brought tools such as CORBA, an industrial-strength system for managing distributed applications.
Such off-the-shelf components simplify agent design. But at the end of the day, building agents is hard work. Like any complex software system, careful attention to software engineering principles is crucial.
When will agents hit mainstream? To be sure, major research questions remain unanswered. But ultimately, the answer might have more to do with economics and politics than with technical issues. For example, while shopping is an ideal task for agents, the stakes are so huge that the Microsofts and Mastercards of the world will participate only if convinced that agents will help them with their highest priority: getting customers to open their wallets.
Nicholas Kushmerick is at: nick@compapp.dcu.ie
For more information, see www.compapp.dcu.ie/nick/itr/5.html