Help the user understand what the AI system is capable of doing.
Time when to act or interrupt based on the user’s current task and environment.
Make it easy to invoke or request the AI system’s services when needed.
Maintain short-term memory and allow the user to make efficient references to that memory.
Allow the user to globally customize what the AI system monitors and how it behaves.