W e b w o r d
IEEE INTERNET
COMPUTING
Vol. 1, No. 4: JULY-AUGUST
1997
WHAT'S AN AGENT . . . AND WHAT'S SO INTELLIGENT ABOUT IT?
Charles Petrie
Agent technologies of various kinds have a lot of promise. "Intelligent agents," for example, promise software that will someday be smarter than the average ant colony.
Copyright (c) 1997 Institute of Electrical and Electronics Engineers, Inc., All rights reserved.Perhaps agent technologies warrant some of the tremendous current commercial investment. But I'd like to stop a moment here and try to get a little perspective.
A SLIPPERY DEFINITION
How can people be raving about a technology that hasn't even been clearly defined? Suppose you were trying to write an intelligent agent. What would you aim for? A researcher at a workshop I spoke at told me that she was in fact developing one. But when I asked how she would know if it were intelligent, she couldn't tell me.
It is significant that so many papers and conference panels try to answer the question "what is an agent?" My iconoclastic answer from a computer science standpoint - that it's not an agent if you can interact with it using a client/server protocol was published in IEEE Expert (Vol. 11, No. 6, Dec. 1996, pp. 24-29) and is available online at http://cdr.stanford.edu/NextLink/Expert.html.
We often hear that an agent is software acting on behalf of the user. Of course, that covers all computer programs ever written. So, if it is so unclear what an agent is, what can all the fuss possibly be about?
DUMB SOFTWARE
To answer that, we need to back up to the 1980s and Artificial Intelligence (AI). "Oh no," I hear you groan. The critics among you are saying, "Not that tired and discredited hype"; and the partisans are saying, "Please don't use those words." What the heck happened?
What happened was that everyone realized that all software was incredibly dumb, which made it expensive to develop and frustrating to use. So when some visionary researchers said they were developing techniques to emulate human intelligence in various ways, they got the entire computer industry's attention . . . and money (which we researchers were happy to take). At last industry understood and valued our vision. So we went on writing our prototypes and extrapolating promising results and being optimistic about the difficulties, just as we always had and must to tackle those problems.
Industry, meanwhile, was waiting for AI. Remember the cartoon with the elaborate flowchart of a project and the last box, just before the output, is labeled "and then a miracle happens"? AI was the silver bullet for every project. At any moment, we were going to get rid of all the stupid software. We'd add the AI module and everything would come up roses.
That AI came through with all sorts of useful advanced software techniques has been documented elsewhere. But it didn't matter. Useful software was still dumb, dumb, dumb. Industry was not amused. Thus we all have to hide our former affiliation with this discredited . . . this . . . what?
It was never clear exactly what AI was. But it is clear that industry felt a tremendous need for smarter software and thought AI was the answer.
Is this ringing any bells?
A PROBLEM, NOT A TECHNOLOGY
I recently heard a company representative stand up and announce that AI didn't work but that "intelligent agents" was a new fundamentally different technology for the 90s. Has there been some technology breakthrough that would make software much smarter than it was? Did I miss something?
Let me be more specific. People have been working on database query systems for decades. Smart people. Very structured data. Narrowly scoped problems. And we got SQL. Maybe some 4GLs and relational databases. Perhaps extensible to distributed databases - even heterogeneous ones.
Now there is the Web with its tons of completely unstructured data, mostly in natural language, distributed randomly. So what is the new breakthrough in query technology for this much more difficult problem? So new "intelligent agents" are going to extract information from the Web for us? Excuse me?
What I'm trying to get at is that when we say "AI" or "intelligent agents," we're describing a problem, not a technology. We don't have the technology yet to make really smart machines. That's fine. It's more important to know what the problems are: lots of unstructured data, dumb software, too much complexity.
What we want is software that can do more of what we intend with less explicit direction. "Intelligent agents" is just code for our desire for smarter software. After all, "Less Stupid Programs" isn't very catchy.
It's important to focus on the opportunities for using what we know how to do. If General Magic's Serengeti doesn't turn out to be the right implementation, it's certainly a step in the direction of the pocket coordinator we all need - as we need cars that will figure out the optimal plan for running our errands and tell us where to meet the Herrons for lunch; as we need portfolio managers and mate finders and e-mail filters.
NOT QUITE A SILVER BULLET
We have made modest advances. We understand the uses and limitations of rule-based, neural-net, and learning techniques better. We understand user interfaces and distributed problem-solving better. Perhaps more important, we're beginning to have standards for collaboration. And both industry and researchers see the near-term opportunities for technologies we already understand.
We can do some really neat things and will be able to do even more in the near future. One really cool thing about a lot of the agent technology is that individual agents needn't be so smart to function collectively in a complex and useful manner - just like an ant colony - and that agents can learn from one another.
But there's no silver bullet out there. There's no magic for making a smart program - just a recognition that we need to make software smarter . . . and that software modules that can cooperate are smarter than those that can't. Finally, it's important to remember that intelligence is often overrated. In the end, we want more results with less input. And as the Web has shown, sometimes we can get that with just a good GUI.
Meanwhile, see your agent for details. Some restrictions may apply.