首页/新闻资讯/正文详情

我如何给 Agent 写记忆:文件、索引与失效治理

发布时间:2026/11/3 10:31:56 来源:云帆数科 栏目:资讯中心
我如何给 Agent 写记忆:文件、索引与失效治理
我如何给 Agent 写记忆文件、索引与失效治理前言我印象最深的一条 Agent 记忆跟技术一点关系没有。有次让 Agent 打开一个 pptx它用 Keynote 打的弹了一串确认窗把正在干别的的用户烦着了甩来一句以后用 WPS别用 Keynote。就这么一句话后来被写成了一条记忆文件。到现在几百次会话过去这件事再没发生过第二次——不是因为我记性好是因为它自己会看记忆。这篇讲我这套记忆是怎么组织的文件怎么写、索引怎么维护、以及记忆过期了怎么处理。一、先说没有记忆是什么体验同一个项目开了几十次会话之后你会在每个新会话的开头重复同样的话这个项目的背景是这样的我要的代码风格是这样的上次那个接口有个坑你别踩。讲一遍两遍无所谓讲到第十遍的时候我开始怀疑自己在跟失忆症患者合作。更难受的是坑。有一次 Agent 给我改一个配置文件改完服务起不来——这个坑两个月前踩过一模一样的当时还排查了半小时。它不记得我也不可能每次都记得提醒于是原样又踩了一遍。背景重讲一遍只是浪费时间坑重踩一遍是真返工。所以我后来给记忆排优先级坑最优先偏好其次背景最后。二、一个文件一个事实我的记忆库就是一个目录里面全是 markdown 文件。唯一的纪律一个文件只写一件事。拿开头那条 WPS 记忆举例它长这样--- name: pptx-open-with-wps description: 打开 pptx 用 WPS 不用 KeynoteKeynote 弹窗多且脚本控制坑多 metadata: type: feedback --- 用户明确要求pptx 用 WPS 打开不要用 Keynote。 **Why:** Keynote 每次弹窗打扰用户AppleScript 控制它 边遍历边关文档会报无效索引。 **How to apply:** 用 open -a wpsoffice 路径实在要用 Keynote 导出图片导完立刻关掉文档。最开始我不是这么干的图省事把一堆事写进一个大文件「项目备忘.md」这种啥都往里塞。后来发现这种文件就是垃圾场想更新其中一条得通读全篇怕改坏别的想删掉过时的又不敢确定别的条目还引用不引用。三个月之后它就变成一个没人敢动的文件等于没有。拆成一个文件一个事实之后事情变简单了。要更新就整个文件重写要废弃就直接删去重也容易——文件名摆在那写重了自己都能看出来。还有个细节这类「用户纠正过我」的记忆我会把 Why 写上。只写「不要用 Keynote」Agent 执行是执行了但它不知道边界——哪天换了台没装 WPS 的机器它可能就卡在那儿不会变通。把原因写清楚弹窗烦人、脚本控制有坑它自己能判断什么情况下这条规矩该怎么落地。三、索引才是天天在干活的东西记忆文件多了以后问题变成了新会话开始Agent 怎么知道该翻哪条我维护了一个索引文件每次会话自动加载进上下文。它长这样# Memory Index - [pptx 用 WPS 打开](pptx-open-with-wps.md) — 不用 Keynote弹窗多脚本坑多 - [发布流程](release-flow.md) — 三条命令、验证端点、回滚位置注意索引里每条只有一行。这是被逼出来的规矩——索引每次会话都全量进上下文它是固定成本正文才是按需读取的。有阵子我偷懒把内容摘要直接写进索引会话还没开始就先背了半页记忆后来全删了一行钩子足够命中了再打开文件看。写索引行以及每条记忆的 description有个门道我摔过跤才明白钩子要写「什么时候会用到它」不是「它讲了什么」。早期我的 description 全是「本文记录了打开 pptx 的注意事项」这种——听起来没毛病但搜「Keynote 弹窗」根本命中不了因为场景词没在里面。后来改成「不用 Keynote弹窗多脚本坑多」把未来会用到的场景词都塞进去命中率立刻不一样。现在写每条记忆我都会问自己一句三个月后我在什么情况下会需要翻出这条把那个情况里的关键词写进 description。四、什么该记什么不该记这条我走过弯路一开始热情高涨什么都记一个月记了小两百条然后发现索引比正文还长每次会话开头先读半本书找个东西比不记的时候还费劲。烂记忆不比没记忆强它还占地方。现在我记的东西就这几类用户纠正过我的做法连原因、踩坑的结论坑长什么样、怎么绕、项目的关键决策和理由、环境配置和资源位置。其他的一律不进。特别说一下不记的里面最容易被犯的一条从代码里能直接看到的东西不要抄进记忆。函数签名、目录结构、配置项的当前值——这些代码里都有你抄进记忆的那一刻就开始过期了代码一改记忆就成了毒数据Agent 下次还拿着旧地图找路。记忆记「为什么」和「坑在哪」「是什么」让代码自己说。拿不准记不记的时候就不记。我的经验是同一个问题第二次冒出来再沉淀也完全来得及第一次可能是偶然第二次才是真的会反复出现的事。五、记忆是写入当天的快照不是真理这套体系跑了几个月我对「记忆」这个词的理解变了每条记忆都是写入那天的快照。里面的路径、命令、版本号写的时候是对的之后每天都在变成错的路上。我实际遇到过的记忆里记着某个脚本的位置过了几周目录整理过一次那个路径早就不存在了。Agent 召回这条记忆理直气壮地按旧路径去执行报错之后还试图在旧路径周围找补。从那以后我立了个规矩记忆里出现的路径和命令动手前先验证还在不在。召回出来的记忆是参考资料不是指令——这一条对用记忆的 Agent 和写记忆的我都成立。除了过时还有两种病。一是重复同一个事实前后写了两版口径变了但没删旧的Agent 同时召回两条不知道信哪条——发现就合并别「留着以防万一」。二是膨胀一个文件从二十行写到三百行写的时候觉得都是有用的上下文实际上没人包括 Agent读得完长文件等于死文件把已经完结的部分挪出去归档主文件留结论。清理这事我不用专门找时间做。哪次会话命中了一条记忆顺手看一眼还准吗跟别的冲突吗太长了吗三十秒的事。六、写记忆得长在流程里最后这点可能比前面所有技巧都重要。我见过不少人的记忆体系是「靠自觉」的想起来就记一条忙起来就忘了。这种体系必然荒废三个月后回头看记的还是头两周的那些。我的做法是把它绑死在几个固定时机上长会话被压缩之前把结论和当前状态先写进文件——压缩是个不可逆的动作细节丢了就真丢了任务中断的暂停点交接文档先落盘任务原话、已经确认的事实、已经证伪不要再试的路、当前做到哪了。下次开新会话把这份文档丢给它直接从八成的地方接上被用户纠正的那一刻当场写记忆别等「回头整理」——回头整理这件事从来不会发生。前面说的索引自动加载是另一半会话一开始过去的东西自动在场不用每次想起来去问一句「上次那个怎么弄的来着」。记下来、能召回、用之前验证一下这个环闭上了记忆才算真的在干活。踩坑清单拿召回的记忆当指令直接执行——里面记的路径早没了。记忆是参考资料执行前验证现状description 写成内容概括——「本文记录了……」这种是召回不到的写触发场景里的关键词什么都记——索引比正文还长找东西比不记还费劲。准入门槛宁高勿低拿不准就不记只增不减——过时的、重复的、膨胀的都不处理最后整个库没人敢动。命中时顺手体检三十秒的事。参考资料本系列第五篇《Agent 上下文管理详解Prompt Caching、压缩与记忆》—— 记忆分层与压缩的原理篇本系列番外五《Agent 调试与止损》—— 会话交接文档的模板与用法本系列第八篇《Claude Code 效率倍增Skills、Hooks 与定制化详解》—— 记忆与 skill 的分工记忆存事实skill 存流程

相关推荐

【培训类-01-02】20261025Workbuddy制作师德演讲Word+PPT
【培训类-01-02】20261025Workbuddy制作师德演讲Word+PPT

一、背景需求我报名院内师德演讲。10月30日要脱稿。所以要制作讲稿和PPT我想用最近学的workbuddy来制作二、制作过程新建文件夹最后资料都在这个文件夹里并提出我的设想它的回答写的不错感觉只有正文内容有点少,所以我把三、教师建议也做进去了用了5分钟才写完这下又… · 2026/11/3 10:31:56

Chloe:基于多级向量化与控制路径缩减的全同态加密上的循环变换
Chloe:基于多级向量化与控制路径缩减的全同态加密上的循环变换

一、核心问题论文的核心问题是:现有 FHE 编译器对“非平凡循环结构”的支持不足,导致 FHE 上程序表达能力和执行效率受限。具体来说:FHE 允许在密文上计算,但密文计算与明文计算行为差异很大。逻辑电路、比较、分支等非算术操作在… · 2026/11/3 10:30:56

为什么自编码器与流模型不能拆开用?RFD4-Proteína匹配检查点对机制深度解析
为什么自编码器与流模型不能拆开用?RFD4-Proteína匹配检查点对机制深度解析

为什么自编码器与流模型不能拆开用?RFD4-Protena匹配检查点对机制深度解析 RFD4-Protena 是由 Baker Lab 与 NVIDIA GenAIR 联合发布的生物分子设计模型,能同时生成蛋白质序列与全原子结构。它的权重由流模型和自编码器两个检查点构成,官方强… · 2026/11/3 10:30:56

REA Agent实战:从npx初始化到应用分析闭环
REA Agent实战:从npx初始化到应用分析闭环

1. 先把REA这件事想明白,再动手敲命令 1.1 一次“应用分析”为什么需要Agent而不是一段Prompt 很多人第一次听到“应用分析”,脑子里浮现的是丢一段长提示词给大模型,让它输出一份功能清单、用户反馈和竞品对比。这种玩法在Demo阶段确实爽&a… · 2026/11/3 11:23:00

CAD2027部署全流程解析:环境评估、安装排错与批量部署
CAD2027部署全流程解析:环境评估、安装排错与批量部署

装 CAD 这件事,我原以为早就没什么新鲜感了,直到上周帮同事在一台新机器上部署 CAD2027。他照着网上搜到的一篇所谓“超详细图文教程”一步步点下去,结果卡在安装进度 87% 一动不动四十分钟,最后弹了个错误码了事。我接手之后发现… · 2026/11/3 11:23:00

零成本接入13个模型:统一入口、多渠道路由与降级实践
零成本接入13个模型:统一入口、多渠道路由与降级实践

零预算跑通十几个模型能力,这件事我做过不止一次。标题里那个词说得很直白,本质上就是 把能零成本调用的模型能力,全部收拢到一个统一入口 。dsh-our-free-model 2.0 是我给这套东西起的代号,它不是一个产品,而是一份… · 2026/11/3 11:23:00

GPU驱动安全架构:UMD与KMD权限边界设计解析
GPU驱动安全架构:UMD与KMD权限边界设计解析

1. GPU驱动架构中的权限边界设计在GPU驱动开发领域,UMD(User Mode Driver)与KMD(Kernel Mode Driver)的分层架构设计是现代图形系统的核心安全机制。这种设计源于操作系统对硬件资源访问的基本安全要求——用户态程序不… · 2026/11/3 11:23:00

rea命令安装全解析:curl脚本与npm全局安装对比及PATH排查
rea命令安装全解析:curl脚本与npm全局安装对比及PATH排查

1. 先把 rea 是什么、两种装法到底在装什么讲清楚 rea 命令在我的日常工具箱里属于那种"装一次就再也离不开"的角色——它是一个命令行工具,跑在终端里,干的是项目初始化、资源构建、批量任务编排这类活儿,常见的调用形态就是 rea… · 2026/11/3 11:23:00

支付系统架构设计:核心挑战与高并发解决方案
支付系统架构设计:核心挑战与高并发解决方案

1. 支付系统架构的本质挑战 支付系统作为现代商业基础设施的核心组件,其设计复杂度往往被严重低估。表面上看只是完成资金转移,实则涉及金融安全、交易一致性、系统容灾等十余个专业领域的交叉协同。从业十余年,我见过太多团队在初期只关注功… · 2026/11/3 11:21:58

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 1:01:59

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码