Skip to main content
Sonzai Docs

记忆与上下文

智能体记住重要的事情。每次对话都会被分析,自动提取事实、事件和承诺并存储和调用。

记忆类别

记忆分为四个类别存储:

事实永久知识:用户偏好、个人详情、背景。例如:'用户是一名软件工程师,喜欢泰国菜。'
事件共同经历的情景记忆。例如:'上周我们聊了他们的日本旅行。'
承诺智能体做出的承诺和计划。例如:'承诺下次询问他们的求职面试情况。'
摘要合并的对话摘要。在会话之间自动生成。

记忆工作原理

记忆完全自动化 — 无需手动管理。平台分析每次对话并提取事实、事件和承诺。在每次响应之前,最相关的记忆会被自动组装并包含在上下文中。

无需编排

只需调用聊天接口。平台在每次交互中自动处理记忆提取、存储和检索。

种子记忆

使用 memory.seed() 在用户首次对话前预加载智能体对用户的了解。

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

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

await client.agents.memory.seed("agent-id", "user-123", {
  facts: [
    "User's name is Jane Smith",
    "Jane is a senior product manager at Acme Corp",
    "Jane lives in San Francisco and enjoys hiking",
  ],
});

搜索记忆

通过关键词或语义查询搜索用户-智能体对的记忆。

const results = await client.agents.memory.search("agent-id", {
  userId: "user-123",
  query: "hiking trip",
  limit: 10,
});

for (const mem of results.memories) {
  console.log(mem.content, mem.type, mem.createdAt);
}

列出与浏览

列出所有记忆或按类别浏览。

// 列出所有记忆(分页)
const memories = await client.agents.memory.list("agent-id", {
  userId: "user-123",
  type: "fact",   // "fact" | "event" | "commitment" | "summary"
  limit: 20,
  offset: 0,
});

// 按类别浏览
const facts = await client.agents.memory.listFacts("agent-id", {
  userId: "user-123",
});

记忆时间线

获取用户记忆历史的时间线视图。

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

for (const entry of timeline.entries) {
  console.log(entry.date, entry.summary);
}

浏览记忆树

导航用户的层级记忆结构。

// 在指定路径浏览记忆树
const nodes = await client.agents.memory.browse("agent-id", {
  userId: "user-123",
  path: "/facts",   // 可选:按路径过滤
});

重置记忆

清除用户-智能体对的所有记忆 — 适用于测试或用户希望重新开始的场景。

await client.agents.memory.reset("agent-id", {
  userId: "user-123",
});