很多面试者在聊 Agent 开发时,只会简单把历史对话全部塞进 Prompt,这种做法在生产环境里会带来 token 暴涨、延迟变高、上下文溢出、幻觉变多、重复推理等一堆问题,大厂 AI 架构面试里,更看重多级记忆分层、语义缓存的整套工程方案,这套方案把记忆拆成工作记忆、短期会话记忆、中期摘要记忆、长期语义记忆四层,搭配语义缓存做高频请求命中,按需检索、按需组装 Prompt,而不是每次都把全部历史一股脑丢给大模型,既能控制 token 成本、降低推理延迟,也能减少模型幻觉,同时支持跨会话记住用户偏好、历史事实,是现在企业级 Agent 落地的标准架构思路,也是 AI 架构岗高频面试考点。
Agent 多级记忆分层清单
| 记忆层级 | 作用 | 存储选型 | 生命周期 | 读取策略 |
|---|---|---|---|---|
| 工作记忆 | 当前任务临时状态、工具返回结果、计划步骤 | Redis 内存、本地变量 | 单次推理结束销毁 | 直接读取,不做向量检索 |
| 短期会话记忆 | 本次对话原始历史、滑动窗口内消息 | Redis+TTL | 会话有效期内,会话结束自动过期 | 优先读取原文,窗口满了按优先级淘汰 |
| 中期摘要记忆 | 会话摘要、关键实体、用户临时偏好 | PostgreSQL、MySQL | 会话周期内持久,异步更新 | 摘要替换长文本,压缩 token |
| 长期语义记忆 | 跨会话稳定事实、用户画像、历史经验 | 向量库 + 结构化数据库 | 长期保存,支持过期、遗忘策略 | 语义检索 + 精确过滤,低置信内容不上 Prompt |
语义缓存核心能力清单
- 系统 Prompt 缓存:固定前缀的系统提示词缓存,减少重复传输和计费
- 用户 Query 语义缓存:语义相近问题命中历史回答,适合 FAQ、固定查询类场景
- 工具返回缓存:工具调用结果缓存,避免重复调用接口、重复计算
- 检索结果缓存:向量检索结果缓存,降低向量库 QPS 压力
- 缓存失效策略:TTL 过期、用户资料变更、知识库更新、人工主动清除
整套系统运行流程
- 请求进入:先进入语义缓存模块,做语义匹配,命中缓存直接返回结果,跳过大模型推理
- 缓存未命中:进入多级记忆检索网关,根据用户 ID、sessionID,先拉结构化精确信息,再做语义召回
- 记忆过滤:做置信度过滤、冲突校验,过滤掉过时、矛盾、低可信度记忆,防止幻觉
- Prompt 组装:只把筛选后的必要信息拼接进 Prompt,而不是全量历史
- 模型推理:调用 LLM 生成回答,同时执行工具调用
- 后置写入:异步抽取实体、用户偏好、关键事实,更新摘要、长期记忆和记忆账本,更新缓存
- 审计与回滚:所有记忆变更追加写入账本,支持溯源、撤回、合规删除
为什么不能无脑塞 Prompt
- Token 成本持续走高,长对话场景费用成倍上涨
- 上下文窗口有上限,超长对话直接截断,丢失关键信息
- 无关历史信息干扰模型,更容易产生幻觉、答非所问
- 每次请求都要重复处理大量历史,推理延迟很高,接口响应慢
- 没有记忆隔离,用户之间、会话之间信息互相串扰,隐私风险大
方案优势与工程坑点
✅ 优势
- Token 可控,大幅降低推理成本,提升接口响应速度
- 记忆分层,精确信息走数据库,模糊经验走向量检索,各司其职
- 语义缓存对高频重复查询降本效果明显,适合客服、知识库问答 Agent
- 记忆账本可追溯,满足数据合规、审计要求
- 语义缓存容易出现语义误命中,需要搭配相似度阈值、业务过滤规则
- 向量检索不能替代精确查询,订单、编号、证件这类强精确数据不能靠向量检索
- 记忆写入是异步任务,存在短暂数据不一致问题
- 会出现记忆冲突,需要冲突校验、置信度打分、人工复核机制
- Embedding 模型更换后,历史向量全部失效,需要重新全量重建
⚠️ 坑点
【相关 FAQ】
问题 1:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,Agent 多级记忆是哪几层?
回答 1:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,Agent 多级记忆分为工作记忆、短期会话记忆、中期摘要记忆、长期语义记忆四层,每层存储、读取策略不一样。
问题 2:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,语义缓存主要缓存哪些内容?
回答 2:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,语义缓存包含系统 Prompt、用户 Query 语义、工具返回结果、向量检索结果,命中后直接返回,不用调用大模型。
问题 3:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,为什么不直接把全部历史塞进 Prompt?
回答 3:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,全部历史塞进 Prompt 会造成 token 成本高、延迟高、上下文溢出、幻觉增多,是生产环境不推荐的简单做法。
问题 4:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,向量检索适合存放订单号、取件码这类精确信息吗?
回答 4:大厂 AI 架构面实战:别再无脑塞 Prompt,手把手教你设计 Agent 多级记忆与语义缓存,不适合,向量检索适合语义类模糊召回,订单号、编号这类需要百分百准确的信息要用数据库精确查询。
【参考资料】
[2026-09-24](Tutorial: Build agent memory with Azure Managed Redis)Microsoft Learn
[2026-08-13](从 200 行代码到生产级 Agent:Agent 记忆机制深度拆解)掘金
[2026-06-05](存之有序,治之有矩 ——Agent 记忆系统的工程实践与演进)AWS 官方博客
[2026-06-04](AI Agent 全栈开发面试宝典:Memory 分层设计)阿里云开发者社区
【免责声明】
本内容仅为 Agent 多级记忆、语义缓存架构面试和工程方案科普整理,不构成项目落地、技术选型的唯一标准;不同厂商、业务场景的记忆策略、缓存规则差异较大,上线前需要做压测、幻觉测试与合规校验;方案落地复杂度高,最终实现方案需要结合业务需求、模型能力、预算综合评估。
