记忆系统、知识库、向量库、反馈循环的全套实现
真正有生产力的智能体,一定能做到两件事:
记住 → 改进
能够从历史任务里学习,能够从文档里查知识,能够从错误中提高。
这篇文章,我们把智能体“学习系统”的所有组成部分,一次讲清楚:
- 三类记忆(短期 / 长期 / 程序性记忆)
- 文档知识库(RAG + 结构化检索)
- 向量库(embedding)
- 反馈自我改进循环(RLHF-lite)
- 如何让智能体越用越聪明
- 企业级智能体的最佳实践架构
阅读后,你将具备设计“会学习的智能体系统”的完整能力。
⭐ Part 1:可持续学习的核心:智能体不是模型,而是系统
大多数人对“智能体学习”的误解:
模型会自己变聪明。
其实不可能,模型是固定的。真正会“学习”的,是 智能体系统本身:
记忆 → 知识 → 行为反馈 → 改进策略 → 工具选择 → 下一轮执行表现提升
这套能力由你搭建。
⭐ Part 2:智能体的三类记忆(Memory)
智能体和人一样,需要三种不同的“记忆”:
① 短期记忆(Short-Term Memory)
👉 用于当前任务的上下文
例如:
- 用户本次对话内容
- 中间步骤的工具调用
- 当前任务的执行状态
一般以内存结构存储:
task_memory = {"steps": [...],"intermediate_results": [...],"user_intent": "...",
}
短期记忆 任务结束就会消失。
实现方式:
- 内存变量
- 临时 Redis Key
- 临时向量库(TTL)
- 会话上下文缓存
② 长期记忆(Long-Term Memory)
👉 用于长期积累的“用户偏好、规律、风格”**
例如:
- 用户喜欢用 markdown 输出
- 用户做日报时偏好表格形式
- 某个操作系统的内部流程
- 某客户的历史订单偏好
典型实现:
- 向量库(长文本)
- KV 数据库(结构化偏好)
- Memory Embedding
示例:
{
"user_preferences": {
"tone": "简洁",
"report_format": "table",
"langs": ["Chinese", "English"],
"style": "B型"
}
}
模型在生成 Prompt 前会自动注入这些记忆:
根据用户长期偏好:请使用简洁风格、Markdown 表格输出。
③ 程序性记忆
👉 属于 Agent 自己的“技能”
例如:
- 如何正确调用飞书 API
- 自动化工作流的步骤
- 如何解析一个 Excel
- 如何生成结构化 YAML
- 如何选择最合适的工具
程序性记忆不是知识,而是技巧。
存储方式:
- 本地规则库(JSON)
- 智能体自己的 Notes
- 任务成功案例(成功的 Tool Call 轨迹)
- Tool 使用权重
示例:
{
"best_practices": [
"解析 Excel 时优先使用 extract_table 工具",
"发布草稿前一定要检查封面是否绑定"
]
}
这些经验会影响下一次任务的策略。
⭐ Part 3:知识库
👉 智能体的“外部大脑”
知识库用于长期文档的存储:
- 产品说明文档
- 流程 SOP
- FAQ
- API 文档
- 操作手册
- 内部规章制度
- 技术文档
- Excel / PDF / Word
知识库不是记忆(Memory),而是外部知识(Knowledge)。
知识库的关键能力
✔ 文档解析
上传后,自动拆分:
- PDF → 文本
- Word → Markdown
- Excel → Table
- 网页 → HTML → Markdown
✔ 向量化(Embedding)
把文档划成 chunks:
chunk 1
chunk 2
chunk 3
...
并写入向量库。
✔ 检索(RAG)
在任务执行前/中:
根据用户意图 → 自动检索相关文档 → 注入 Prompt
示例 Prompt:
以下是与任务相关的知识(来自知识库),请参考执行:
<doc> ...内容... </doc>
让模型: 从知识中得答案,而不是凭空猜。
⭐ Part 4:向量库
👉 为智能体提供“可检索的长期知识”
向量库负责两件事:
① 存储记忆
(长期偏好 / 历史流程 / 任务轨迹)
② 存储文档知识
(知识库的所有文档)
框架:
- Milvus
- Weaviate
- ChromaDB
- Qdrant
- Elastic vector 插件
企业常用:Milvus + PostgreSQL。
示例结构:
| id | embedding | text | type | metadata |
--------------------------------------------
| 1 | 1536维 | "如何使用飞书API" | doc | ... |
| 2 | 1536维 | "用户偏好:喜欢表格" | memory | ... |
| 3 | 1536维 | "任务模板:日报自动生成" | pattern | ... |
向量召回:
相似度 > 0.75 → 返回
⭐ Part 5:反馈自我改进循环(Self-Improve Loop)
这是智能体“越用越聪明”的关键。
核心流程是:
任务执行 → 用户评价/系统检测 → 生成反馈 → 存入记忆/规则 → 更新 Agent 策略
改进机制包含三层:
① 用户反馈机制
用户:
“这个日报格式不对,标题应该大一些。”
系统:
→ 记录反馈
→ 生成矫正规则
→ 写入长期记忆
下次自动应用:
根据用户反馈:日报标题要大。请用 H2 输出标题。
② 技术反馈机制(自动评估)
自动检测:
- API 是否调用失败
- 输出格式是否正确 JSON
- 工具使用是否合理
- 有没有 Hallucination
- 有没有越界调用
- 是否违反安全规则
失败时写入程序性记忆:
错误:调用 publish_article 时必须传入 cover_image
纠正:在缺失封面的情况下自动补默认封面
③ 行为轨迹学习(成功经验记忆)
每次成功任务都被自动摘要:
Task: 发布 CMS 文章
Tool Trace:
- draft.create
- draft.upload_cover
- draft.submit
Conclusion: 步骤顺序正确
系统从成功案例中学习“高概率成功策略”。
⭐ Part 6:五条落地建议
✔ 1. 不要把记忆全部丢进向量库
记忆需要结构化(KV / JSON),向量库只适合“模糊检索”。
✔ 2. 文档知识库一定要分 chunk
否则检索不准。
✔ 3. 反馈一定要区分 3 类
“用户偏好 / 任务技巧 / 文档知识” 不能混在一起。
✔ 4. 短期 & 长期记忆不能搞混
短期记忆是任务级,长期记忆是用户级。
✔ 5. 智能体改进要可审计
所有反馈 → 都要有日志。
今天我们构建了一个完整的“会学习的智能体系统”:
- 三类记忆(短期 / 长期 / 程序性)
- 文档知识库
- 向量库
- 反馈引擎
- 自我改进循环
智能体不再只是一个“问答模型”
能积累经验 → 能学习 → 能成长
的可持续智能系统。
企业要落地智能体,这套系统必不可少。