记忆系统概述
在 AI Agent 应用中,记忆系统是维持对话连贯性和个性化体验的核心能力:
- 短期记忆(Short-term Memory):保存当前会话的对话历史,类似人类的'工作记忆'
- 长期记忆(Long-term Memory):持久化存储关键信息,类似人类的'长时记忆'
Spring AI Alibaba 通过 MemorySaver 和 MemoryStore 两个组件实现了这两种记忆机制。
短期记忆实现原理
核心组件:MemorySaver
MemorySaver 是短期记忆的实现类,负责保存和恢复会话状态(Checkpoint)。其核心特点:
- 存储结构:
ConcurrentHashMap<String, Map<String, Checkpoint>> - 隔离维度:通过
threadId隔离不同会话 - 生命周期:应用重启后数据丢失(内存存储)
实现机制
保存检查点
当 Agent 执行完一轮对话后,会调用 MemorySaver.save() 保存状态:
// MemorySaver.java
public class MemorySaver implements CheckpointSaver {
private final ConcurrentHashMap<String, Map<String, Checkpoint>> storage = new ConcurrentHashMap<>();
@Override
public void save(Checkpoint checkpoint, RunnableConfig config) {
String threadId = config.threadId().orElseThrow();
String checkpointId = checkpoint.getId();
// 按 threadId 分组存储
storage.computeIfAbsent(threadId, k -> new ConcurrentHashMap<>()).put(checkpointId, checkpoint);
}
}
关键要点:
- 每个
threadId对应一个独立的 Map

