1. A method of creating a customized recommendation agent for a user, comprising: receiving a set of contexts describing the user's past behavior; analyzing the set of contexts to identify a plurality of transitions between contexts, each transition comprising a known source context and a known destination context; building a routine model corresponding to the user based on the plurality of transitions, the routine model comprising one or more transition rules, each transition rule comprising a source context, and a destination context; and creating the customized recommendation agent based on the routine model, the customized recommendation agent configured to provide a recommendation to the user based on the routine model.