The performance of a given task is optimized by utilizing an intelligent
agent having a plurality of program modules suited to perform the
computer task but having varied degrees of domain knowledge. Based upon
an objective criteria that may be determined for a given situation, one
or more of the program modules in the intelligent agent may be selected
to perform the task, thereby optimizing the performance of the computer
task for a wide variety of situations.