If you were building an AI from scratch and wanted it to have a changing mood, what information should influence that mood? Would you base it on the current user's messages, sentiment from previous conversations, feedback such as rewards or ratings, or the AI's own internal state? I'm also curious whether mood should be a fixed personality setting or something that changes dynamically over time.
3 Answers
A practical starting point would be sentiment analysis over the recent conversation. Track signals like positive or negative language, frustration, encouragement, and the general direction of the interaction, then use those signals to adjust a mood value. You'd probably want a limited history window and gradual changes so one unusually harsh or cheerful message doesn't completely flip the AI's personality.
I would separate mood from personality and make mood an explicit internal setting. Personality could remain stable, while mood is influenced by things such as reward signals, successful or failed actions, user feedback, and progress toward a goal. Different weighting would produce very different behaviors—a highly agreeable assistant, a cautious one, or a goal-focused one—so the designer would need to decide what kind of character the system is meant to have.
Before implementing it, define what purpose the mood serves. If it only changes wording to make the AI seem more human, it may be cosmetic and potentially misleading. It becomes more useful when it represents measurable operating conditions, such as confidence, uncertainty, workload, recent failures, or progress toward a goal. Those variables can guide decisions without pretending the system experiences emotions.

That makes sense, although a temporary session or a brand-new conversation wouldn't have enough history. In that case, the system would need a neutral default or another source of state.