REPORTS ON AI FROM
The Secret Agent Man
DON BARKER
BotSpot's man in the field
Agents Working Together
By Don Barker
I seldom find other operatives I like to work with. In fact, most secret
agents have problems communicating and getting along.
However, at last May's "Third
International Conference on Autonomous Agents," a major topic of
discussion was multi-agent collaboration, cooperation, and coordination. I guess
this shouldn't be too surprising, given that many agents now are designed to
work together in the chaotic environment of the Web.
Much remains to be done in areas such as learning and autonomy, but the
vitality of e-commerce on the Web has created a rush to deliver better
assistants to online customers as shown by the astounding number of shopping
bots listed on BotSpot. Besides helping find the best deals, another attraction
of agents for e-commerce is that they provide near-instant response to
sales/support queries at any time of the day.
Of course, the associated savings in sales and support personnel also
contribute to the need for these agents.
I recently spoke with Klaus Kater, Chief Technology Officer for Artificial
Life, Inc., which offers an intelligent agent suite of SmartBots. This
family of integrated bots has products for marketing, sales, customer service,
and user support. Figure 1
shows how these SmartBots work together to deliver a comprehensive e-commerce
solution.
The WebGuide is an interactive chat bot for assisting you in navigating a
Web site using natural language queries, while the Messenger SmartBot evaluates
incoming email and automatically generates appropriate replies. The Call Center
Agent adds a problem solving component to the conversations with the WebGuide
and, when necessary, connects you to a real person for further assistance.
The ALife e-commerce server is capable of providing flexible pricing models
(e.g. auctions or price models similar to a stock market) and secures
transactions. Finally, the SalesRep SmartBot creates a sophisticated
user-profile based on information collected from the other SmartBots, to offer
you marketing and sales information tailored to your specific preferences. (Some
of these SmartBots are, as of this writing, are not yet available--such as the
SalesRep.)
The core technology for all of these SmartBots is the SmartEngine, as shown
in Figure 2. It uses
heuristics to endow SmartBots with expertise. This entire collaborative agent
suite, which can run on multiple servers (it does automatic load balancing), is
written in Java. The company is developing a client-side application to display
bot animations in C++. Kater confirmed that the decision to use Java on the
server-side was based on the need for cross-platform compatibility and security,
while C++ was chosen for the client-side because of faster run-times, smaller
overhead, and better access to the local desktop than current implementations of
Java.
Kater also told me that he sees their intelligent agents evolving through
three stages: (1) personal assistants (simple independent entities), (2)
specialized agents (capable of communicating with each other), and eventually
(3) autonomous agents (that act on your behalf and combine the qualities of the
two earlier stages). If Kater's predictions apply to agent evolution in general,
then you can expect to see a growing community of agents that become more and
more interconnected while taking ever greater degrees of autonomy.
In a few years, agents may be collaborating and cooperating all over the Web,
delivering a wide variety of services and products on your behalf. While early
pioneers of agent technology, such as Firefly, where able to isolate and insist
upon privacy and the protection of your identity and personal information,
cooperation among multiple agents may well endanger these precepts.
Of course, to be a useful "butler" for you, an intelligent agent
must have access to your individual preferences and tastes. At first glance,
this may not seem like a big deal. Who cares if someone else finds out that you
like to rent science fiction movies and eat copious amounts of pizza? But keep
in mind that agents will also likely assist you in searching the Web to find
information about other more sensitive issues, like health, religion, and
finance.
For example, would you want your employer to know that you have a genetic
predisposition for a particular disease, thus, increasing the likelihood of
higher medical expenses? In an age when many companies self-insure for medical
plans, this kind of information could easily damage your career. How could an
employer get a hold of such information? It might be easier than you think. If
you use an agent, which relies on other agents to gather information about your
health problems, those outside agents might store your data, for later use, on a
Web site. If your identity is stored with this information, it's not too hard to
imagine how this data could make its way back to your employer.
Perhaps, as some suggest, it's best to think of information as money--you put
money in the bank because you trust banks to protect the money and you expect
the funds to earn interest. You should be willing to "deposit" your
data with intelligent agents for the same reasons--you expect the data to be
protected and that it will return some value. If your trust is violated, then
there may well be a "run on the bank," and people will
"withdraw" or refuse to entrust their personal information with
agents. And, if agents don't deliver tangible value (e.g., new useful
information), then people will probably insist upon keeping personal information
to themselves.
Kater recognizes these problems and says that you will, indeed, have the
option (with the Artificial Life suite) to choose whether your agents share your
personal information with Artificial Life's agents or agents developed by other
companies. There are two ways to provide you with this choice--either an agent
will either allow you to "opt-out" or "opt-in." Opting in
simply means that you are given the chance to choose whether or not personal
data is shared (or even gathered) before the act, while opting-out requires you
to seek out the means to prevent this collection or transfer of information from
occurring. Obviously, the former method is preferable because you may not even
be aware that your personal information is being passed around when using
multi-agent systems. According to Kater, Artificial Life will offer the more
desirable "opt-in" alternative.
Being in the business of uncovering secrets, I am acutely aware of the
dangers involved in privacy invasions. You may also want to become an informed
net-citizen by visiting sites like the Electronic
Freedom Foundation.
By the way, getting agents to communicate isn't a new thing.
An early effort was part of the Defense Advanced Research Projects
Agency's, or DARPA's, Knowledge Sharing Initiative. This included the creation
of the 1993 Knowledge Query and Manipulation Language (KQML) specification. KQML
is an agent communication language and protocol for exchanging information and
knowledge. The University of Maryland, Baltimore County (UMBC) has led the push
to develop KQML (see http://www.cs.umbc.edu/kqml/).
KQML is a layered language, with each level having specific functions. These
layers provide both a message format and a message-handling protocol to support
run-time knowledge sharing among agents. The ultimate goal of KQML is to build
large-scale knowledge bases, which are both sharable and reusable.
In part, KQML was designed to create intelligent systems to share knowledge
in support of cooperative problem solving. Researchers at UMBC have been
developing experimental prototypes for applications like concurrent engineering,
intelligent design and intelligent planning, and scheduling.
However, KQML has yet to achieve wide spread adoption on the Internet.
Instead, Sun Microsystems' Java, has grabbed the spotlight as the premier means
for creating server-side collaborative agents. A number of agent developers have
adopted Java because of its cross-platform capabilities and built-in security
features (for instructions on how to create intelligent agents using Java, see
Mark Watson's book "Intelligent Java Applications for the Internet and
Intranets," published by Morgan Kaufmann, 1997, ISBN 1-55860-420-0).
However, client-side development of agents remains the dominion of the
popular C++ programming language because of its speed and flexibility on
personal computers (for insights about using C++ to create agents, check out
David Pallmann's "Programming Bots, Spiders, and Intelligent Agents in
Microsoft Visual C++," Microsoft Press, 1999, ISBN 0-7356-0565-3).
Well folks, this marks my last column for a brief
while, until I return next spring from working "undercover"
researching and writing a book. If you want to follow my adventures during this
endeavor, feel free to visit my Web site at http://www.donbarker.com,
where I'll give you a number and take away your name (--to protect your privacy,
of course ;-). You can also reach me at don@donbarker.com.
This is 007.11 over and out.
Don Barker is the senior editor of PCAI
Magazine.
|