agent appendicies
Agents
B A C K T R A C K P A T H
Back to HOME

Back to AGENTS MAIN PAGE

in FAQ

F E E D B A C K
Did we omit an important link? Submit it!

General feedback or requests for help.

 

 

AGENTS

Frequently Asked Questions (FAQ)


What is a software agent?

Currently there is no widely accepted universal definition of a software agent. This FAQ will not attempt to provide an authoritative definition, but will mention some qualities shared by most agents.

A dictionary definition of the term agent follows:

A person or thing that acts or is capable of acting or is empowered to act, for another.

And the term software agent:

A computing entity (piece of software) that performs user delegated tasks autonomously.

Many agents are based on the idea that the user need only specify a high-level goal instead of issuing explicit instructions, leaving the 'how' and 'when' decisions to the agent.

What are the different types of agents?

The Agent Sourcebook gives a full explanation. This list from the book provides an overview of the main types.

What are the minimal characteristics or attributes of a software agent?

Delegation: The agent performs a set of tasks on behalf of a user (or another agent) that are explicitly approved by the user.

Communication skills: The agent needs to be able to interact with the user (and sometimes other agents) to receive task delegation instructions, and inform task status and completion through an agent-user interface or through an agent communication language.

Autonomy: The agent operates without direct intervention (e.g., in the background) to the extent of the user's specified delegation. The autonomy attribute of an agent can range from being able to intitiate a nightly backup to negotiating the best price of a product for the user.

Monitoring: The agent needs to be able to monitor its environment in order to be able to perform tasks autonomously.

Actuation: The agent needs to be able to affect its environment via an actuation mechanism for autonomous operation.

Intelligence: The agent needs to be able to interpret the monitored events to make appropriate actuation decisions for autonomous operation.

In addition, some agents may have other attributes, among them:

Temporal continuity: Many agents need to be continuously running processes, not 'one-shot' computations that map a single input to a single output, then terminate.

Character: Some agents have a well-defined, believable 'personality' and emotional state.

Adaptive: Some agents automatically customize themselves to the preferences of their users based on previous experience. These agents also automatically adapt to changes in their environment.

Mobile: Some agents need to be able to transport themselves from one machine to another and across different system architectures and platforms.

What can't an agent do? (Are there any limitations?)

Unfortunately, delivered functionality of agents cannot easily keep up with generalized expectations of users. The solution has been to focus on task-specific agents for narrow domains. In other words, an agent may be conceived to perform or help with virtually any task in the computing environment, but it won't do other tasks not in its original design.

What will agent technology do for my business?

This table from Chapter One of the Agent Sourcebook gives a thumbnail view of the broad functional benefits of agent technology:

Feature Advantage Benefit

Automation Perform repetitive tasks Increased productivity

Customization Customize information interaction Reduced overload

Notification Notify user of events of significance Reduced workload

Learning Learn user(s) behavior Proactive assistance

Tutoring Coach user in context Reduced training

Messaging Perform tasks remotely Off-line work

How do I know which agent is right for me and my organization?

See the Final Checklist Process in Chapter 12 of the Agent Sourcebook.

Is this a technology that can be implemented immediately?

Agents of many kinds are commercially viable and in active use today. In some domains, invention and development are proceding hand-in-hand with implementation, and a mature programming support infrastructure at the installation site may be preferred. User acceptance is another factor that may slow implementation.

Do all agents personalize?

Yes, in the sense that they perform tasks for or on behalf of a user -- their actions are 'personalized' to that user's delegated needs.

However, not all agents exist to actuate a personalized environment for a user. Many agents do not adapt to a user's changing interests, nor directly affect the user's environment.

How does an agent relate to push technology?

A push server (such as a news utility on the Internet) can be considered a software agent in the sense that after a user chooses their interests (delegation), it delivers information that matches those interests. But its monitoring, actuation and intelligence attributes are centered on its environment (a search engine in a news-server, say), rather than on the user's environment. Therefore, according to our definition of an agent, the 'user' of a push 'agent' is really the operator of the push service, rather than the recipient. This is especially clear in the case of intranet push channels used for corporate communications to employees.

Are there agent-enabled applications deployed in the market place today?

Yes. See the list from the Introduction of the Agent Sourcebook and one from its Appendix.

How do I go about building agent applications?

The book Agent Sourcebook will give you some excellent pointers on how to start. The four broad components of agent technology which have to be conceived and configured in order to build an agent application are:

  • Machinery: Engines which support varying degrees of intelligence.
  • Content: Data employed by the machinery in reasoning and learning.
  • Access: Methods to enable the machinery to perceive conent and perform actions.
  • Security: Concerns related to distributed computing in general and intelligent agents in particular.