Computers are fast becoming consumer electronics, sold in the same stores that sell audio and video equipment. Despite the numbers being sold, computers are still not easy to use. New owners face steep learning curves. Even seasoned users are hard-pressed to keep up with new online services and the daily deluge that comes from e-mail, news groups, and the like.
One key problem is that human/computer interaction today involves an almost one-to-one correspondence between a user-initiated mouse click or menu choice and the task to be performed by the computer. As computers handle more tasks, this mode of interaction has become unwieldy. It requires too much time and detailed attention on the part of users.
According to Pattie Maes, Assistant Professor of Media Arts and Sciences, a different mode of interaction will prevail in the future. She believes that users will control their computers more loosely, delegating many tasks to assorted software agents.
Dr. Maes directs the Media Lab's Autonomous Agents group, which focuses on applications in human/computer interaction. She defines a software agent as "a process that lives in the world of computers and networks, and that can operate autonomously to fulfill a set of tasks."
Dr. Maes thinks of software agents as virtual creatures, and compares them to real-world creatures. They are like animals sensing their world-in this case the world of bits and bytes. They can travel over networks or remain stationary. They can act on their environment (e.g., move files). They can be like pets, connected to a person, or can act as free agents. They can spawn other processes or "die" when their useful life is over.
Dr. Maes acknowledges that software agents aren't very intelligent yet. Those that are useful today have only one area of expertise. But she envisions a time when there will be "ecologies" of agents that are interdependent.
Dr. Maes makes distinctions about software agents based on their affiliation, their role and the nature of their intelligence.
A "user bot" works for one user, knows that user's interests, habits and preferences, and acts on the user's behalf. Examples of this type of agent are a personal news editor and an e-shopper. A "task bot" performs more generally useful tasks for all users on a network. A task bot might index the World Wide Web, for example, or do network load balancing.
As a group, agents handle many roles. They can act as a guide or teacher, have a reminder function, or filter messages or information. They can entertain or be your personal critic, making recommendations based on your tastes and interests. They can act as an abstraction layer, hiding details of complex software. They can serve as a monitor-for example, checking movements in the prices of selected stocks.
Agents can be user-programmed, engineered through artificial intelligence (AI), or can "learn" by detecting patterns. User-programmed agents are commercially available. Since they rely on the user's programming skill, they are only as smart as their users make them. AI-engineered agents are very complex and specialized, and are still in the development phase. Learning agents program themselves by watching a user and detecting patterns, then automating those patterns.
AGENTS THAT COLLABORATEDr. Maes's group is particularly interested in learning agents, and in developing multiuser collaboration among agents. An agent can learn from its peers-for example, by querying other agents via a bulletin board and asking what they would do in a given situation. Agents also learn over time which agents are good sources for particular types of information. These ideas are not just pie-in-the-sky theorizing; several software agents have been implemented at the Media Lab.
Maxims is an e-mail handling agent that works with Eudora on Macintoshes and PCs. Maxims can assign priorities to messages based on the sender, and decide which messages to archive and which to forward or delete. It watches your patterns and, once trained, suggests a recommended action in an added column.
A Media Lab calendar agent keeps tabs on everyone's schedule and can arrange meetings by finding time slots when all participants are free. It knows which meetings have priority and who attends which meetings.
NewT is a filtering system for Usenet news groups. It creates a set of agents for each user, depending on his or her interests. For example, a user might have three agents that browse articles about politics, business and sports. These agents find patterns in what the user reads, then go out on the network and come back with recommendations. You can give the agent keywords, authors or sources to look for, or submit a paragraph and tell it to look for similar articles.
Dr. Maes's group has developed two agents that are available via the Web. HOMR is a music recommendation service; Webhound recommends Web URLs. Both are based on a technique called automated collaborative filtering.
These agents make recommendations based on data about other users with similar tastes and interests. First, you fill out a survey (another option in Webhound is to submit your Web hotlist.) The agents compare user profiles and find your "nearest neighbors." As the user base for these services grows, the recommendations become more refined.
To find out more about the work of the Autonomous Agents group, visit their Web home page at . This page has links to HOMR and Webhound.
(This article originally appeared in the June issue of i/s and is reprinted here with permission.)
A version of this article appeared in MIT Tech Talk on August 16, 1995.