Skip to main content
长期记忆跨会话、跨时间保存重要信息,包括用户偏好、任务历史、知识要点或长期状态。短期记忆只在单次会话内有效,而长期记忆让智能体在不同会话之间也能记住事实。 为什么需要它:
  • 支持跨会话的连续对话体验;
  • 让智能体在多次交互中保留学习成果和用户特定信息;
  • 减少重复询问,提升满意度与效率;
  • 支撑长期策略优化,如个性化推荐或任务追踪。

统一入口:LongTermMemory

无论使用哪种后端,均通过统一的 veadk.memory.long_term_memory.LongTermMemory 接入。它可直接作为智能体的记忆服务,并根据 backend 选择存储后端。

参数

向量类后端(local、opensearch、redis)会对记忆做向量化(embedding),需要安装扩展依赖:pip install "veadk-python[extensions]",并配置 embedding 模型(环境变量前缀 MODEL_EMBEDDING_,缺省时复用 MODEL_AGENT_API_KEY)。viking 与 mem0 是托管服务,无需本地 embedding。

选择后端

调试可以用 local,生产更建议使用 viking 或 mem0。

绑定到智能体

把 long_term_memory 传给 Agent 后,智能体会自动获得 load_memory 工具,可在运行时检索过往会话。

记忆管理

写入:add_session_to_memory

会话结束或达到某个节点时,调用异步方法 add_session_to_memory 把会话持久化。LongTermMemory 会先过滤事件(只保留用户文本事件以提升检索质量),再交给后端写入。

检索:search_memory

除了智能体运行时通过 load_memory 自动检索,你也可以直接调用异步方法 search_memory 做语义搜索,用于调试或自定义 RAG:
get_user_profile(user_id) 仅 viking 后端支持,用于获取用户画像;其他后端会返回空字符串。

自动保存会话

在初始化 Agent 时开启 auto_save_session=True 并配置好长期记忆,VeADK 会自动把会话写入长期记忆,无需手动调用 add_session_to_memory。
为避免索引被频繁初始化,VeADK 提供 MIN_MESSAGES_THRESHOLD 与 MIN_TIME_THRESHOLD 两个环境变量自定义保存周期:默认在累计 10 条 event 或间隔 60 秒时触发保存;此外,当切换 session_id 并发起新问答时,VeADK 会自动把上一个会话写入长期记忆。

跨会话示例

下面是端到端流程:会话 #1 告诉智能体一个事实并自动归档,然后在全新的会话 #2 提问,智能体通过检索长期记忆(而非上下文窗口)回忆起该事实。这里用 local 后端,需要 pip install "veadk-python[extensions]"。
智能体能在会话 #2 中识别同一用户在会话 #1 留下的偏好,给出连贯、个性化的回答,如推荐一道无花生的素食菜品。
最后修改于 2026年9月19日