聊天陪伴型 / Personal Assistant
这类 agent 最看重用户画像、长期偏好、语气习惯和连续陪伴感,通常会把结构化 profile 和记忆更新放在前面。
个性化效果明显,用户会感到“它记得我是谁、我喜欢什么”。
最容易记错偏好、把临时要求当长期设定,也最容易碰到隐私和过期问题。
陪伴助手、客服、办公助理、个人 Copilot。
同样都在做 memory,不同 agent 真正在解决的问题其实很不一样,所以最后长出来的 memory 组合也不会一样。真正值得比较的,不只是“用了什么库”,而是它到底想记住什么、最怕忘掉什么、以及愿意为此付出多少复杂度和成本。
这一章承接上一章的全局机制地图,不再从“机制层怎么分工”出发,而是从“不同 agent 为什么会偏不同组合”出发。常见差异可以先从 5 类典型形态看出来:聊天陪伴型、知识问答型、任务执行型、项目协作型、自我改进型。它们关注的记忆对象、常用机制、主要优势、典型代价和失败方式都不一样。
可以把这一章理解成“选型地图”。前面 6 章讲的是零件,这一章讲的是不同类型的车为什么会装不同的零件。不是所有 agent 都需要很重的长期记忆,也不是所有 agent 都值得上复杂的经验沉淀。很多时候,真正该问的不是“什么最先进”,而是“我的 agent 到底最怕忘掉什么”。
这一组不是“所有相关概念”,而是这个维度最核心、最值得先理解的主线。带下划线的机制可以直接点开,会弹出一个更细的解释窗。
如果只看孤立卡片,机制之间的关系会很模糊。把它们放回 pipeline 中,就能看清每一步在系统里承担什么角色,以及问题通常出在什么位置。
先判断这个 agent 最主要在服务什么场景,而不是先选数据库。
看它更依赖短期记忆、长期记忆、工作记忆,还是经验沉淀。
根据场景选择 Buffer、Vector、State Store、Graph、Consolidation 等组合。
每种组合都有代价:成本、复杂度、污染风险、延迟或维护负担。
提前看清它最容易翻车的地方,是误记、漏记、串味、丢状态还是学歪。
最后用这个 agent 真正在乎的指标来判断记忆方案好不好。
这类 agent 最看重用户画像、长期偏好、语气习惯和连续陪伴感,通常会把结构化 profile 和记忆更新放在前面。
个性化效果明显,用户会感到“它记得我是谁、我喜欢什么”。
最容易记错偏好、把临时要求当长期设定,也最容易碰到隐私和过期问题。
陪伴助手、客服、办公助理、个人 Copilot。
这类 agent 主要靠长期知识检索吃饭,核心常是 chunking、embedding、vector search、reranking 和 citation。
这类 agent 更依赖工作记忆和状态编排。它最怕的不是忘了用户爱好,而是忘了当前计划、约束、工具输出和恢复点。
这类 agent 要跨会话、跨天甚至跨周接着做同一件事,所以很依赖任务状态、阶段结论、决策记录和作用域隔离。
这类 agent 不只想记住人和事,还想从成功与失败中提炼经验、策略甚至技能模块。
这类系统往往不是单一 agent,而是一个平台里同时存在问答、协作、执行和个性化能力,所以 memory 往往是分层混合搭建的。
聊天助手最关心的是“这个用户一直喜欢什么口吻、讨厌什么表达”,而 coding agent 更关心“刚才跑了哪些命令、失败在哪一步、下一步该修哪里”。两者都叫 memory,但真正要保的内容完全不同。
文档问答系统面对的是海量知识块,核心问题是怎么找回相关资料;而工作流 agent 面对的是步骤、计划、约束和工具输出,核心问题常常是怎么把当前状态编排好。
一个企业助手一开始也许只是知识问答,但做着做着,团队会希望它记住用户偏好、延续项目进度、执行流程任务,甚至复用历史经验。于是 memory 结构会从单一路径慢慢长成多层组合。
一个刚起步的客服助手,如果上来就做经验提炼、图谱构建、多层混合存储,可能还不如先把用户偏好、作用域隔离和最近上下文做好。
这一部分补充的是更偏 memory system design 的视角:不只看概念本身,而是看这些机制在真实系统里应该放在哪一层、如何被组织、如何被观测。
因为它们要解决的问题不一样。陪伴型 agent 最在意的是“记住你”,知识型 agent 最在意的是“找对资料”,任务型 agent 最在意的是“别把当前状态搞丢”,学习型 agent 最在意的是“下次能不能做得更好”。
如果用最直白的话来总结:陪伴型偏 profile,知识型偏 retrieval,任务型偏 working memory,项目型偏 continuity,学习型偏经验沉淀。
如果把这几类 agent 摆在一起比较,会发现它们差别最大的地方,往往不是“存在哪”,而是“记什么、怎么取、怎么用、出错后会伤到哪”。
没有哪种 agent 的 memory 方案是纯赚不赔的。每一种强项背后,通常都带着对应的成本和风险。
真实产品很少只属于一种类型。更常见的情况是:它有一个最主要的定位,再叠加少量次能力。比如项目助手可能主要是 continuity agent,但会带一点 retrieval;coding agent 主要是 workflow agent,但会带一点 skill evolution。
最简单的方法不是先看别人用了什么,而是先回答三个问题:你最想让 agent 记住什么、最怕它忘掉什么、最能接受哪种代价。
很多团队会把 memory 当成万能补药,但其实有些问题不是 memory 弱,而是 prompt、工具接口、任务拆解或系统边界本身还没做好。这个时候上很重的 memory,只会让系统更难调。
如果你是从零开始做一个 agent,通常不需要一步做到最复杂。更实用的顺序是先做最会立刻带来收益的那一层,再按问题暴露的方向逐步补齐。
前面几章像是在讲发动机、底盘、变速箱、刹车分别怎么选,这一章像是在讲:家用车、货车、越野车、赛车,为什么不会用同一套配置。
看 memory 机制作为整体时如何分层、分工与组合
你已经读到最后一章了,可以回总览重新跳读,或者继续回看前面的章节。