真实面经题目 · 原创解析

Agent 中输入特征和记忆模块有什么区别,如何分别建模当前请求状态和跨轮上下文?

Agent 的输入特征描述当前请求状态,记忆模块保存跨轮和跨会话的上下文。二者的核心区别在生命周期、更新方式、存储介质和使用目标:输入特征偏实时、短暂、结构化,记忆偏持久、可检索、需要治理。

出现于:美团 · 算法

60 秒回答模板

我会把输入特征理解为当前决策所需的状态快照,把记忆模块理解为跨时间积累的上下文资产。输入特征通常来自当前 query、用户画像、设备和位置、会话状态、工具返回、候选动作、环境观测等,生命周期很短,主要用于当前一步规划或模型调用。记忆模块则包括短期记忆、长期记忆和情景记忆,保存用户偏好、历史任务、已完成动作、失败经验和重要事实,需要有写入、检索、更新、过期、冲突解决和隐私隔离机制。建模时,当前请求状态可以作为结构化特征或 Prompt 上下文直接输入;跨轮记忆则要通过摘要、向量索引、时间衰减、重要性评分和权限控制进行管理。评估上可以做消融实验,比较无记忆、短期记忆、长期记忆对任务成功率、重复询问率、工具调用次数、用户满意度和错误率的影响。

考点 生命周期不同
难度 真实面经题
回答目标 让面试官看到候选人能从 Agent 决策链路理解输入特征与记忆模块的边界,并能设计可治理、可评估、可上线的记忆系统。

深入解析

01

输入特征是当前状态快照

输入特征回答的是此刻 Agent 需要知道什么。它包括用户当前问题、对话轮次、当前页面或业务状态、用户画像、位置时间、设备信息、工具调用结果、候选商品或订单状态等。这些特征通常是实时传入、结构化程度高、生命周期短,目标是帮助 Agent 做当前一步的意图识别、规划、工具选择和回答生成。

02

记忆模块是跨轮上下文资产

记忆回答的是 Agent 之前知道什么、应该保留什么。短期记忆保存当前会话内的任务进展和临时约束,例如用户刚说的预算和偏好;长期记忆保存跨会话稳定信息,例如常用地址、饮食偏好、历史投诉;情景记忆保存具体事件轨迹,例如某次退款流程中已经调用过哪些工具。记忆需要持久化、检索和治理,不能无差别塞进上下文。

03

存储与检索机制不同

输入特征一般直接拼入模型上下文或作为模型特征输入,不需要复杂检索。记忆模块通常需要结构化数据库、向量库、KV 存储或事件日志配合使用。检索时要考虑相似度、时间、重要性、业务类型、用户权限和任务阶段。写入时也要判断是否值得记住,避免把临时噪声、错误事实和敏感信息长期保存。

04

更新、过期、冲突和隐私治理是记忆核心

记忆不是越多越好。用户偏好可能变化,历史信息可能过期,不同来源记忆可能冲突。需要设计时间衰减、显式确认、版本管理、冲突优先级和删除机制。隐私上要按用户、租户、业务线隔离,敏感信息最小化保存,并支持用户删除或关闭记忆。否则记忆会带来错误个性化、隐私泄露和跨场景污染。

易错点

  • 把输入特征和记忆都理解成 Prompt 里的上下文,没有区分生命周期。
  • 认为记忆越多越好,忽略噪声、过期、冲突和隐私风险。
  • 长期记忆直接写入模型上下文,缺少检索、压缩和权限控制。
  • 没有区分用户显式偏好、系统事实和模型推断,导致可信度混乱。
  • 只讲架构,不讲更新、删除、过期和冲突治理。
  • 缺少消融实验,无法证明记忆模块是否真的提升任务成功率。

面试官追问

短期记忆和长期记忆怎么区分?

短期记忆主要服务当前会话或当前任务,比如用户本轮说的时间、预算、限制条件和已执行步骤;长期记忆服务跨会话个性化,比如稳定偏好、常用地址和历史行为模式。区分标准不是技术存储时间,而是信息是否稳定、是否会在未来任务中复用,以及保存它是否经过用户授权或业务规则允许。

记忆什么时候应该写入?

应在信息具有稳定性、可复用性、用户明确表达或高置信推断时写入。例如用户明确说以后都不要推荐某类商品,可以写入偏好记忆;但一次临时查询、模型推测出的情绪、工具返回的未确认结果不应直接长期保存。写入前可以做重要性评分、敏感性判断和用户确认。

如何处理记忆冲突?

可以按来源可信度、时间新鲜度、用户显式确认和业务优先级处理。用户最新明确表达通常优先于历史推断;官方系统状态优先于模型总结;高风险场景需要重新确认。技术上可以保留版本和来源,而不是覆盖成单一事实,这样出错时可追溯。

如何证明记忆模块有价值?

最直接的是做消融实验和 A/B 测试。对比无记忆、仅短期记忆、短期加长期记忆的任务完成率、平均轮次、重复询问率、工具调用成功率、用户满意度和误用记忆率。同时要监控延迟、存储成本、隐私投诉和错误个性化,避免只看正向收益。