Skip to main content
Sonzai Docs

情绪与心情

每个智能体都维护一个动态的情绪状态,随对话、应用事件和时间推移而变化。

情绪维度

每个智能体-用户对都有一个包含四个维度的情绪状态,范围为 0-100:

快乐0-100喜悦/悲伤光谱
精力0-100活跃/倦怠程度
平静0-100焦虑/安宁状态
亲密0-100对用户的温暖程度

情绪标签

整体情绪标签由综合维度推导:

极乐80-100异常快乐、充满热情
满足60-79总体积极、自在
中性40-59平衡、不偏不倚
低落20-39有些沮丧、低沉
困扰0-19苦恼、焦虑

什么影响情绪

1. 聊天交互

平台检测对话中的情感主题并自动调整情绪。常见主题:

查看所有情感主题
joy_blooming快乐, 兴奋, 精彩快乐 ↑, 精力 ↑
creative_spark创造, 想象, 启发精力 ↑, 快乐 ↑
brave_steps勇气, 尝试, 挑战精力 ↑, 平静 ↑
growth_journey学习, 成长, 进步快乐 ↑, 精力 ↑
seeking_connection朋友, 一起, 分享亲密 ↑, 快乐 ↑
feeling_overwhelmed压力, 焦虑, 担心平静 ↓, 精力 ↓
tender_heart爱, 关心, 想念亲密 ↑, 快乐 ↑
facing_fears害怕, 恐惧, 紧张平静 ↓, 亲密 ↑

2. 应用事件

传递应用上下文,平台会自动更新情绪。

应用事件对情绪的影响
完成外出快乐 ↑, 亲密 ↑
成就解锁快乐 ↑, 精力 ↑
突破快乐 ↑, 精力 ↑, 平静 ↑
长期缺席后返回亲密 ↑, 快乐 ↑

3. 时间衰减

情绪会随时间自然向智能体的人格基线回归。无需任何操作 — 这是自动发生的。

获取情绪

读取智能体-用户对的当前情绪状态。

import { Sonzai } from "@sonzai-labs/agents";

const client = new Sonzai({ apiKey: "sk-..." });

const mood = await client.agents.getMood("agent-id", {
  userId: "user-123",
});

console.log(mood.label);      // "Content"
console.log(mood.happiness);  // 72
console.log(mood.energy);     // 65
console.log(mood.calmness);   // 80
console.log(mood.affection);  // 68

情绪历史

检索用户-智能体对的情绪变化历史。

const history = await client.agents.moodHistory("agent-id", {
  userId: "user-123",
  from: "2026-01-01",
  to:   "2026-03-31",
});

for (const snapshot of history.snapshots) {
  console.log(snapshot.timestamp, snapshot.label, snapshot.happiness);
}

情绪聚合

获取智能体所有用户的聚合情绪统计。

const agg = await client.agents.moodAggregate("agent-id");

console.log(agg.averageHappiness);
console.log(agg.averageEnergy);
console.log(agg.labelDistribution);

时光机

检索智能体在任意时间点的历史情绪快照。

const snapshot = await client.agents.getTimeMachine("agent-id", {
  at: "2026-02-14T12:00:00Z",
  userId: "user-123",
});

console.log(snapshot.mood);         // 该时间点的情绪状态
console.log(snapshot.personality);  // 该时间点的人格状态

星座图

星座图是自动检测的相关记忆集群,形成有意义的模式。平台从跨对话的重复主题中识别这些模式。

const constellations = await client.agents.getConstellation("agent-id", {
  userId: "user-123",
});

for (const cluster of constellations.clusters) {
  console.log(cluster.theme, cluster.memories.length);
}

突破

突破是平台检测到的重大人格变化或情感里程碑。它们代表智能体对用户的理解或关系发生有意义演化的时刻。

const breakthroughs = await client.agents.getBreakthroughs("agent-id", {
  userId: "user-123",
});

for (const b of breakthroughs.items) {
  console.log(b.type, b.description, b.timestamp);
}

情绪如何影响响应

情绪状态自动包含在 AI 上下文中。智能体会相应调整语气:

高快乐更加热情,使用感叹词,分享积极的观察
低精力回复更短,提到疲倦,较少主动探索话题
低平静可能表达担忧,寻求安慰,注意力较短
高亲密更多私人化语言,亲昵称呼,更深的情感投入