The agent component of UC is UCEgo. UCEgo provides UC with its own goals and plans. By adopting different goals in different situations, UCEgo creates and executes different plans, enabling it to interact appropriately with the user. UCEgo adopts goals from its themes, adopts sub-goals during planning, and adopts meta-goals for dealing with goal interactions. It also adopts goals when it notices that the user either lacks necessary knowledge, or has incorrect beliefs. In these cases, UCEgo plans to volunteer information or correct the user's misconception as appropriate. These plans are prestored skeletal plans that are indexed under the types of situations in which they are typically useful. Plan suggestion situations include the goal which the plan is used to achieve, the preconditions of the plan, and appropriateness conditions for the plan. Indexing plans by situations improves efficiency and allows UC to respond appropriately to the user in real time. Detecting situations in which a plan should be suggested or a goal adopted is implemented using if-detected daemons.
The user's knowledge and beliefs are modeled by the KNOME (KNOwledge Model of Expertise) component of UC. KNOME is a double-stereotype system which categorizes users by expertise and categorizes UNIX facts by difficulty. KNOME deduces the user's level of expertise during the dialog with the user.
After UCEgo has selected a plan, it is refined through the process of answer expression by the UCExpress component. UCExpress first prunes the answer to avoid telling the user something that the user already knows, and to mark where to use anaphora or ellipsis in generation. UCExpress also uses specialized expository formats to express different types of information in a clear, concise manner. The result is ready for generation into English.