A task-based architecture for application-aware adjuncts

Users of complex applications need advice, assistance, and feedback while they work. We are experimenting with “adjunct” user agents that are aware of the history of interaction surrounding the accomplishment of a task. This paper describes an architectural framework for constructing these agents. Using this framework, we have implemented a critiquing system that can give task-oriented critiques to trainees while they use operating system tools and software applications. Our approach is generic, widely applicable, and works directly with off-the-shelf software packages.