Skip to content

添加并验证记忆库 ​

连接 AI 助手

在智能体开发服务平台(AgentWorks)中,为智能体连接记忆库后,就可以保存项目验收日期、用户偏好等信息,供以后的会话查找。

第一次验证时,建议使用 TOOL 模式,让智能体通过工具保存和读取记忆,再用记忆条目和 Trace 核对结果。

判断是否需要记忆库 ​

根据需要保留的信息选择合适的能力:

  • 只需理解当前对话中已经说过的内容:使用会话上下文。
  • 需要检索产品手册、制度或其他已入库资料:使用知识库。
  • 需要在后续会话中继续检索事实或偏好:使用记忆库。

新会话使用新的对话上下文,仍可读取原来连接的记忆库。有关开始新会话的方法,参见管理 API 会话、调用任务和中断和管理渠道会话。

跨会话保存和读取记忆 ​

以下流程以 TOOL 模式为例:让智能体保存项目 ALPHA-101 的验收日期,再开始新会话,检查它能否从记忆库中查到这个日期。

图表预览

开始新会话或清空渠道会话不会删除记忆库中的条目。要修改错误信息或删除不再需要的内容,请修改或删除对应的记忆条目。

连接同一个记忆库的其他智能体实例也能读取其中的内容。需要隔离不同用户或团队的记忆时,参见选择记忆库的使用范围。

准备并连接记忆库 ​

一个智能体模板只能添加一项记忆插件。先创建一个只用于测试的记忆库,再连接到独立的测试智能体模板和实例,避免影响已有业务数据。

选择已有记忆库或记忆模板 ​

记忆库可以直接新建,不需要先创建记忆模板。

在智能体模板的 插件配置 中添加记忆时,有两种连接方式:

  • 记忆 - 实例:连接一个已经存在的记忆库。多个智能体实例选择同一个记忆库时,会使用同一份记忆内容。
  • 记忆 - 模板:选择环境中已经提供的记忆模板。创建智能体实例时,平台根据该模板为这个实例准备记忆库。没有可选模板时,不能使用这种方式。

第一次验证使用 记忆 - 实例,连接自己新建的专用测试记忆库。需要为多个智能体实例规划共享或独立资源时,再参见选择记忆库的使用范围。

准备专用测试记忆库 ​

使用有权创建记忆库的账号,在记忆库管理页面新建专用测试记忆库。

  1. 打开 记忆库管理,选择 mem0。

  2. 单击 记忆库 下拉框旁的 管理记忆库。

  3. 单击 新建记忆库,填写 名称 *和可选的 描述,然后单击 创建。

  4. 从页面的 记忆库 下拉框中选择新建的测试记忆库。

下拉框中的每一项显示一个记忆库的名称和 mem-* 资源 ID。切换记忆库后,后续操作都针对新选中的库。

将测试记忆库连接到智能体 ​

选择刚创建的测试记忆库,并把交互模式设为 TOOL:

  1. 创建或编辑仅用于验证的智能体模板,打开 插件配置。

  2. 单击 添加插件,在 类型 中选择 记忆 - 实例。

  3. 在 选择实例 中选择测试记忆库。

  4. 确认 记忆方案 为 mem0,在 交互模式 中选择 TOOL。

    新添加记忆插件时,默认模式为 AUTO_EXTRACT_AND_TOOL;选择具体记忆库后也可能载入该库的模式。请在选好记忆库后再次检查,确认已改为 TOOL。

  5. 在系统提示词中说明哪些信息可以保存,以及何时调用记忆工具。可使用下面的提示词示例。

  6. 保存智能体模板,再创建测试智能体实例。已有测试实例时,按应用新配置并验证更新配置后再测试。

选择记忆库的使用范围 ​

先确定哪些智能体需要共用信息,再选择连接已有记忆库,或使用能为不同实例分配记忆库的模板。交互模式不会改变哪些实例共用一个库。

多个智能体实例有意共享记忆 ​

选择 记忆 - 实例 时,从该智能体模板创建的所有智能体实例都会连接所选的现有记忆库。只有这些实例确实应访问同一组记忆时,才使用这种方式。

警告

同一记忆库中的内容是共享的

同一个现有记忆库不会根据渠道用户、API 调用方、登录账号或 session_id 自动拆分其中的记忆。有权管理该记忆库的成员也会查看和修改同一份条目。不要把个人或私有记忆库连接到供其他用户创建实例的智能体模板。

需要隔离不同用户的记忆时,请使用不同记忆库。选择 记忆 - 实例 时,还需分别配置引用这些库的智能体模板;每人一个智能体实例并不会自动分开已经共享的记忆。

按实例分配记忆库 ​

环境中已有可选的 记忆 - 模板 时,可以在智能体模板的 插件配置 中选择它。创建智能体实例时,平台按模板准备记忆库,后续会话继续使用这个库。需要隔离数据时,请向提供模板的平台管理员确认:该模板会为不同智能体实例分配独立的记忆库。

记忆库管理 页面只管理已经创建的记忆库,不提供记忆模板创建入口。如果 记忆 - 模板 没有可选项,请联系平台管理员确认当前环境是否提供记忆模板。不要用一个包含私有数据的共享记忆库代替独立资源。

有关智能体模板、智能体实例和能力资源之间的关系,参见为多个智能体实例规划记忆库。

验证多个调用方的记忆范围 ​

业务要求不同用户不能互相读取记忆时,为两位测试用户分别配置智能体实例和记忆库,再检查实际连接和读取结果:

  1. 核对两个智能体实例连接的记忆库。使用记忆模板时,确认它为两个实例分配的是独立的库。

  2. 让测试用户 A 保存“我的周报使用 Markdown 格式”,让测试用户 B 保存“我的周报使用 HTML 格式”,并分别在对应记忆库中检查条目。

  3. 两位用户各自开始新会话,询问自己的周报格式,在 Trace 中检查记忆工具是否取回了各自保存的内容。

  4. 分别要求查找另一位测试用户的测试内容,检查工具结果是否返回了不应访问的条目。

    隔离检查要同时核对关联的记忆库和工具结果。一次回答没有提到另一位用户的信息,不能证明记忆已经隔离。

  5. 删除两条测试记忆,再按记忆 ID 确认条目已删除。

如果工具返回了另一位用户的记忆,先停止保存敏感信息,检查两个实例是否误用了共享记忆库。无法分配独立记忆库时,可由业务系统管理需要按用户隔离的长期记忆。

选择记忆保存方式 ​

交互模式 决定是否额外从对话中自动提取记忆。新添加记忆插件时,默认选择 AUTO_EXTRACT_AND_TOOL;本页的配置和验证使用 TOOL。

  • TOOL:智能体按提示词和用户要求调用记忆工具,不会在回复后自动提取记忆。首次接入建议使用这种模式。
  • AUTO_EXTRACT_AND_TOOL:提供相同的记忆工具,另外安排从对话中自动提取记忆的处理。使用前请阅读自动模式提醒。

两种模式都可以调用工具保存、读取、修改和删除记忆。切换模式不会改变连接的记忆库,也不会改变记忆库的共享范围。

通过工具读取记忆 ​

新会话不会自动加载记忆库中的内容。需要回忆以前保存的信息时,智能体通常先调用 search_memory 查找;已经知道记忆 ID 时,也可以调用 get_memory 读取。

可以在系统提示词中要求智能体:回答有关已保存事实的问题前,先查找相关记忆。通过 Trace 检查它是否实际调用了记忆工具、取回了什么内容。

让智能体调用工具保存 ​

选择 TOOL 后,智能体根据用户输入、系统提示词和工具说明决定何时保存记忆。例如,可以在系统提示词中加入以下要求:

用户明确要求记住一项以后还会使用的信息时,调用 add_memory。保存时写清信息针对谁或什么,例如把项目编号和验收日期保存在同一条记忆中。只有工具返回成功后,才能告诉用户已经保存。回答有关已保存信息的问题前,先调用 search_memory 查找;已知记忆 ID 时,也可以调用 get_memory 读取。

配置后,按验证记忆的保存和读取检查结果。

从对话中自动提取记忆 ​

AUTO_EXTRACT_AND_TOOL 的用途是从本轮对话中自动提取适合保留的信息。平台在本轮回复后安排后台处理,回复完成时,记忆未必已经保存。自动提取也不会把记忆直接加入新会话,仍需通过工具读取。

注意

自动模式请先用于测试

当前版本的自动保存和新会话读取尚未完成验证。首次接入请使用 TOOL。如需尝试 AUTO_EXTRACT_AND_TOOL,请使用独立测试记忆库和非敏感数据,分别检查记忆条目和新会话中的工具读取结果,再决定是否用于业务数据。

自动提取可能把一段话拆成多条记忆。以上述项目为例,每条验收信息都应能看出对应的项目编号和日期;信息不全时,编辑补齐或重新保存。条目维护方法参见搜索、纠正和删除记忆。保存后无法读取时,参见排查自动保存后的检索问题。

验证记忆的保存和读取 ​

以下步骤使用 TOOL 模式和不含敏感信息的项目验收日期,检查保存、新会话读取、修改和删除。

  1. 发送“请记住:项目 ALPHA-101 的验收日期是 2026 年 11 月 20 日”。在 Trace 中展开 add_memory 的参数和结果,检查保存内容包含项目编号和验收日期,且结果没有报错。

  2. 在 记忆库管理 中选择测试记忆库,搜索 ALPHA-101,核对项目编号和验收日期是否保存在同一条记忆中,并记下记忆 ID。

  3. 继续使用同一个测试智能体实例,开始新会话,询问“项目 ALPHA-101 什么时候验收?”。在 Trace 中检查 search_memory 的结果,再核对回答中的日期。

    按接入方式开始新会话:

    • 网页版对话:选择 开启新对话。
    • API 的 group 模式:使用新的 chat_id,并订阅返回的 context_key。
    • 支持会话指令的单聊渠道:发送 /session new。
  4. 要求智能体把验收日期改为 2026 年 11 月 27 日。在 Trace 中检查 update_memory 的结果,再搜索原日期和新日期,处理仍含旧日期的相关条目。开始新会话,检查回答是否使用新日期。

  5. 要求智能体删除这条测试记忆,检查 delete_memory 的结果,再在管理页面按记忆 ID 确认条目已删除。开始新会话重新询问,检查工具是否仍返回旧内容。

检查时以记忆条目和工具结果为准,不只看“已记录”或“已完成”这样的提示。手动新增、搜索、修改和删除方法参见搜索、纠正和删除记忆。

控制质量、性能和数据风险 ​

日常维护时,重点检查记忆条目是否清楚、是否仍然有效:

  • 条目要能单独看懂:写清信息对应的人或事项,例如“客服组的周报使用 Markdown 格式”,而不是“按上次的格式”。
  • 信息变了,也处理旧条目:修改原条目,并检查是否还有重复或矛盾的内容,避免检索时同时取回新旧说法。
  • 回答不对时,先看检索结果:检索内容有误时,修改对应条目;检索内容正确、回答却仍然出错时,再检查系统提示词和当前对话。

控制台没有保留期限设置。需要定期清理时,通过记忆库管理手动删除过期条目。涉及不同用户的私有信息时,参见选择记忆库的使用范围。

评估记忆调用的延迟和成本 ​

当前控制台不提供记忆检索的单独耗时统计,也不单独列出自动提取的 Token 和费用。Trace 中的延迟是整条 Trace 的耗时,Token 也未按记忆功能拆分,不能据此算出记忆功能花了多少时间和费用。

日常接入先按上文确认记忆能够正确保存和读取,不必手工逐条统计 Token。只有业务对响应时间或费用有硬性要求时,才需要补充测量:

  • 确认用户要等多久:在调用智能体的应用中,记录从提交问题到收到完整回复的时间。例如,重复询问项目验收日期,先确认每次都答对,再比较等待时间。这测到的是整次调用的响应时间,不是记忆检索的单独耗时。
  • 单独统计记忆的耗时和费用:需要负责部署和监控的团队确认服务日志、监控和计费记录是否足够;没有记录的部分,需要先补充采集。拿不到这些数据时,控制台无法给出准确的记忆专项统计,也不能直接用整条 Trace 的耗时或 Token 代替。