Skip to content

2.6 记忆管理与 Agent Skills:短期遗忘、长期记忆与技能包扩展 ​

会议结束后,把结论写进纪要,下次就不必从头讨论;经常重复的工作,则可以整理成操作手册。智能体的记忆管理与技能文件分别承担类似职责:前者保存和取回信息,后者组织可复用的任务方法。


人类心理学三大记忆 与 AI Agent 记忆映射 ​

可以借用人类记忆的分类来理解智能体保存的信息,但具体系统未必按同一方式实现:

概念与流程示意图

上图按内容区分情景、语义与程序性信息;下面按保存与加载方式继续讨论。这里的“中期记忆”是一种教学划分,不是所有框架通用的标准。


记多久?短期、中期、长期记忆(时间尺度大比较) ​

记忆层级生活比喻工程实现机制特点
短期记忆随手记的便利贴上下文窗口 + 滑动窗口容量有限、响应最快、聊完即忘
中期记忆项目会议纪要本对话智能摘要压缩跨会话保留关键结论,减少上下文占用,可能丢失细节
长期记忆个人档案柜 / 户口本持久化数据库 + RAG 检索按保留策略持久保存,通过检索加载
  • 短期记忆(Short-term / 便利贴):就是当前这一轮对话的上下文窗口。它的容量有限(如 128K Token),写满后最早的内容会被“撕掉”,只留最近几轮的关键对话——快,但易失。
  • 中期记忆(Mid-term / 会议纪要):当对话太长时,系统会把前面几十轮讨论浓缩成一段摘要存进上下文,相当于把便利贴整理成一份会议纪要——既省空间,又不会失忆。
  • 长期记忆(Long-term / 档案柜):用户的偏好、项目的表结构、历史踩坑记录,按应用策略存入数据库,开启全新对话也能唤醒——能否正确取回仍取决于检索与更新策略。

🔀 三者的关系就像人类整理笔记:便利贴(短期)→ 整理成会议纪要(中期)→ 归档进档案柜(长期)。工程落地上,正好一一对应下面三个核心机制:


记忆管理的三大工程落地机制 ​

1. 短期工作记忆与滑动窗口(便签本截断) ​

  • 窗口大小有限(例如 128k Token)。随着对话不断进行,最早说的闲聊内容就像便签本写满了被撕掉一样,只保留最近几轮最新的关键对话。

2. 对话智能摘要压缩(Conversation Compaction) ​

  • 当上下文接近容量限制时,可以把较早的讨论整理为摘要。摘要节省空间,但会丢失部分细节,应保留关键决定、原始资料位置和未完成事项。

3. 长期记忆持久化(个人档案袋) ​

  • 将用户的个性化偏好(如“我不喜欢用驼峰命名”、“我的测试服务器 IP 是 xxx”)存入持久化数据库,并按需要设置加密、权限和保留期(如 Letta / 原 MemGPT),下次哪怕开启全新对话,也能唤醒。

🔧 记忆保存的是过去的信息;Agent Skills 保存的是完成某类任务的步骤、规范和资源。两者可以配合使用,但解决的问题并不相同。


什么是 Agent Skills(智能体技能包体系)? ​

Agent Skill(技能) 就是把某个特定专业任务的规章制度、执行脚本、模板和工具打包成一个可插拔的模块:

概念与流程示意图

Skills 与 普通 Prompt:为什么不用一大段提示词硬怼? ​

对比维度普通提示词(Prompt)Agent Skill(技能包)
生活比喻现场口头交代一遍流程给一本《岗位操作手册》+ 配套工具
复用性每次都要重写 / 复制粘贴一次写好,随时按需加载
规范性全凭这次写得够不够细保存明确步骤,执行效果仍需验证
扩展性提示词越长越容易“迷失在中间”模块化加载,按需加载相关内容
可维护性改一处要牵动一大段独立更新,互不影响

一个真实的 SKILL.md 长什么样?(以“代码审查”技能为例) ​

markdown
---
name: code-review
description: 对本次代码改动进行系统性审查,输出分级问题清单
---

# 代码审查 操作流程
1. 读取 git diff,定位本次改动范围;
2. 逐文件检查:逻辑正确性、边界条件、安全隐患、性能问题;
3. 每个问题标注严重等级:🔴 阻断 / 🟡 建议 / 🟢 可选;
4. 输出 Markdown 审查报告,按严重程度排序。

# 审查清单
- [ ] 是否有未处理的 None / 空指针判断
- [ ] 是否硬编码了密钥或敏感信息
- [ ] 是否缺少异常捕获

💡 这份文件就是"元数据(何时用)+ 操作流程(怎么干)+ 脚本/模板(用什么干)"三位一体的技能包,Agent 一读就能照章办事。

Skills 与 MCP:别搞混了。两者分工完全不同 ​

对比项Agent SkillsMCP(2.7 章详解)
本质教 Agent “怎么做”(操作流程 + 脚本)给 Agent “能调什么”(外部工具接口)
比喻岗位操作手册万能插座 / 外部设备接口
作用提升“做事规范性”扩展“能力边界”
典型内容SKILL.md + 脚本 + 模板服务器、工具、资源、提示词

🧩 两者互补:Skills 决定“如何执行任务”,MCP 决定“能摸到哪些外部资源”。

如何编写自己的第一个 Skill(4 步走) ​

  1. 选任务:找一件你反复让 AI 做、且步骤固定的活(如“写周报”“跑测试”“发布部署”);
  2. 写 SKILL.md:按上面的模板写下“何时触发 + 怎么干 + 交付什么”;
  3. 配脚本与模板:把重复的执行脚本(Python / Bash)和输出模板一并放进去;
  4. 挂载并验证:放进 Agent 的技能目录(如 Claude Code 的 .claude/skills/),让 AI 调用,再根据效果迭代优化。

🎯 一句话总结:Prompt 是一次性交代,Skill 是沉淀下来的“岗位说明书”——技能包攒得越多,你的 Agent 就越像一位经验丰富的“老师傅”。


一条记忆要怎样保存才有用 ​

“用户喜欢简洁”太宽泛。更有用的记录是:“项目说明默认使用中文,操作步骤可列清单;这一偏好来自用户在某次文档任务中的明确要求。”保存时注明适用范围、来源和更新时间,之后才能判断它是否仍然有效。

记录内容需要补充的上下文更新方式
用户偏好适用于哪类任务,是否明确表达用户改变要求后更新
项目决定决定原因、相关文件与版本代码或规格变化后复核
故障经验现象、适用环境和验证过的修复环境升级后重新确认
临时任务状态已完成、未完成与阻塞项随任务推进修改或清理

保存越多,不一定记得越好。过期信息会干扰新的判断;涉及个人信息时,还要有删除与保留规则。已经移除的内容不应继续残留在摘要和检索索引中。

摘要不应覆盖原始事实 ​

例如一段讨论先尝试本地存储,后来决定改用服务端保存。如果摘要只留下“已讨论数据保存”,下一轮就无法知道最后采用了什么方案。

较好的摘要会区分:当前采用服务端接口;本地存储方案已放弃;接口修改完成但刷新测试未执行。重要证据保留文件路径或记录编号,需要时再读取原文。

技能文件不会直接训练模型 ​

Agent Skills 规范描述的是指令与配套资源的组织方式。加载一个技能,通常是让应用把相关说明提供给模型,而不是修改模型权重。技能要求使用某个工具,也不代表当前环境已经安装或授权该工具。

技能应说明适用条件、输入要求、处理步骤、输出格式和停止条件。例如代码审查技能可以要求每个问题附文件位置与触发条件,但不应承诺发现所有漏洞。

怎样验证技能真的有帮助 ​

准备两三份代表性输入,分别检查正常任务、缺少资料和不适用任务。一个审查技能遇到没有修改差异的项目,应说明缺少审查对象;而不是为了交付报告编出问题。

如果每次都需要临时补充同一个说明,把它整理进技能;如果某条规则只适用于一个项目,就放在项目规则中。这样可以避免通用技能夹带与其他项目不相容的约束。

相关权威技术与官方平台 ​