STEP_1
短期记忆的核心挑战是"遗忘策略":简单地截断最旧消息会丢失重要上下文。进阶方案:重要消息打标保留、对历史消息做摘要压缩(Summary Buffer)、或转存到长期记忆。对话历史(IN-CONTEXT) — PROCESSING
short-term.log
// 短期记忆:滑动窗口管理
class ShortTermMemory {
private messages: Message[] = []
private maxTokens: number
add(message: Message): void {
this.messages.push(message)
// 超出 token 限制时,移除最旧的消息(保留 system prompt)
while (this.estimateTokens() > this.maxTokens) {
const oldestUserMsg = this.messages.findIndex(
m => m.role !== 'system'
)
if (oldestUserMsg === -1) break
this.messages.splice(oldestUserMsg, 1)
}
}
getContext(): Message[] {
return this.messages
}
}短期记忆:短期记忆即 LLM 的上下文窗口内的对话历史。受 token 限制,通常只能保存最近 10-20 轮对话。短期记忆读写速度最快,但无法跨会话持久化。
实时沙盒SANDBOX
NOMINAL
快速场景
手动调节
上下文窗口
短期记忆可用的 token 数
32ktokens
足够容纳对话历史,无需压缩
记忆检索策略
影响检索质量与速度
混合检索,最全面的上下文
记忆注入预算
分配给记忆内容的 token 占比
20%
记忆与推理空间均衡