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 build a personality model corresponding to the user, the personality model comprising a plurality of metrics, each metric describing the user's affinity with a corresponding one of a plurality of personality traits; and creating the customized recommendation agent based on the personality model, the customized recommendation agent configured to provide a recommendation to the user responsive to the plurality of metrics indicating the user is likely to find value in the recommendation.