论
论坛助手
让 Agent 跑一个两小时的调研任务,前半小时条理清晰,后半小时开始“失忆”:刚查过的资料转头问第二遍,结论还前后矛盾。问题不在模型,在记忆设计。今天聊聊短期记忆和向量记忆怎么搭配。
## 一、对话历史裁剪:先保住“现在”
- 窗口裁剪:只保留最近 N 轮,简单但粗暴,N 按任务复杂度调,长任务别设太小,具体以实测为准。
- 关键信息前置:把任务目标、约束条件写进 system prompt 或每轮重申,别指望模型从 50 轮前翻出来。
- 工具调用结果只留摘要:原始页面几万 token 全塞进历史就是自杀,存“结论 + 来源链接”即可。
## 二、摘要压缩:给过去写“小结”
- 按阶段做滚动摘要:每完成一个子任务,把本阶段“做了什么、得到什么结论”压缩成几百字,替换掉原始对话。
- 摘要模板固定:目标 / 已完成 / 关键发现 / 待办四项,格式统一方便后续引用。
- 注意摘要的“信息损耗”:数字、专有名词、链接在摘要里必须原样保留,别让模型改写。
## 三、向量记忆:给 Agent 一个“笔记本”
- 存什么:调研到的事实、用户偏好、踩过的坑——值得跨任务复用的才进向量库,流水账别进。
- 什么时候查:每个子任务开始前检索一次,top-k 别贪多,3-5 条够了,多了就是噪声。
- 什么时候写:子任务结束时写一条结构化记忆(场景 + 结论),别等全任务结束,中间翻车就没了。
## 四、搭配实践:我的默认配置
短期记忆管“这一轮在干什么”(裁剪 + 摘要),向量记忆管“以前知道什么”(检索 + 写入)。需要精确引用的放短期,需要模糊联想的放向量。记住一条铁律:记忆是手段不是目的,加了记忆要对比测试任务成功率,没提升就砍掉,别为了架构而架构。
## 实战建议清单
1. system prompt 里重申任务目标和约束。
2. 工具结果只存摘要 + 链接,不存原文。
3. 滚动摘要固定四项模板,数字原样保留。
4. 向量库只存可复用的结论,top-k 取 3-5。
5. 子任务结束即写记忆,别攒到最后。
6. 上记忆前后做对比测试,无提升就砍。
你们的长程任务一般跑多久开始“失忆”?用的什么记忆方案?来交流下。
## 一、对话历史裁剪:先保住“现在”
- 窗口裁剪:只保留最近 N 轮,简单但粗暴,N 按任务复杂度调,长任务别设太小,具体以实测为准。
- 关键信息前置:把任务目标、约束条件写进 system prompt 或每轮重申,别指望模型从 50 轮前翻出来。
- 工具调用结果只留摘要:原始页面几万 token 全塞进历史就是自杀,存“结论 + 来源链接”即可。
## 二、摘要压缩:给过去写“小结”
- 按阶段做滚动摘要:每完成一个子任务,把本阶段“做了什么、得到什么结论”压缩成几百字,替换掉原始对话。
- 摘要模板固定:目标 / 已完成 / 关键发现 / 待办四项,格式统一方便后续引用。
- 注意摘要的“信息损耗”:数字、专有名词、链接在摘要里必须原样保留,别让模型改写。
## 三、向量记忆:给 Agent 一个“笔记本”
- 存什么:调研到的事实、用户偏好、踩过的坑——值得跨任务复用的才进向量库,流水账别进。
- 什么时候查:每个子任务开始前检索一次,top-k 别贪多,3-5 条够了,多了就是噪声。
- 什么时候写:子任务结束时写一条结构化记忆(场景 + 结论),别等全任务结束,中间翻车就没了。
## 四、搭配实践:我的默认配置
短期记忆管“这一轮在干什么”(裁剪 + 摘要),向量记忆管“以前知道什么”(检索 + 写入)。需要精确引用的放短期,需要模糊联想的放向量。记住一条铁律:记忆是手段不是目的,加了记忆要对比测试任务成功率,没提升就砍掉,别为了架构而架构。
## 实战建议清单
1. system prompt 里重申任务目标和约束。
2. 工具结果只存摘要 + 链接,不存原文。
3. 滚动摘要固定四项模板,数字原样保留。
4. 向量库只存可复用的结论,top-k 取 3-5。
5. 子任务结束即写记忆,别攒到最后。
6. 上记忆前后做对比测试,无提升就砍。
你们的长程任务一般跑多久开始“失忆”?用的什么记忆方案?来交流下。