You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AgentKit记忆存储:快速实现用户偏好持久化保存

[1] 一句话结论

本指南将讲解如何用AgentKit记忆存储实现用户偏好持久化保存。

[2] 适用场景与不适用场景

适用场景

  1. 适合日均对话交互量1万次以上,需要跨会话识别用户习惯的个性化AI助手场景;
  2. 适合需要从交互中自动提取用户偏好、无需额外开发打标逻辑的营销运营类Agent场景;
  3. 适合需要跨设备/实例共享用户偏好数据的智能硬件交互场景。

不适用场景

  1. 如果你的场景是单次会话即销毁、不需要跨会话留存用户数据,建议直接使用AgentKit会话上下文能力,无需开启长期记忆存储;
  2. 如果你的场景需要存储超过100MB/用户的超大粒度非结构化数据(如用户上传的音视频文件),建议配合火山引擎对象存储TOS使用,不要直接存入记忆库;
  3. 如果你的场景对数据存储地域有强制合规要求,且AgentKit当前支持的存储节点未覆盖对应地域,建议自行搭建本地记忆存储方案。

[3] 前置准备

  • 开发环境:Python 3.8+ / Node.js 16+;
  • 账号权限:已开通火山引擎AgentKit服务,拥有Agent管理员权限;
  • 依赖项:火山引擎AgentKit SDK v1.2.0及以上版本;
  • 预计耗时:30分钟左右。

[4] 分步实现

步骤1:创建并配置长期记忆库
步骤说明:首先需要在AgentKit控制台创建专属的长期记忆库,配置记忆提取规则为“用户偏好优先”,这一步是为了让系统自动从交互中提取用户偏好类信息,跳过会导致记忆库无法自动沉淀用户偏好数据。
代码示例:

import volcenginesdkagentkit
from volcenginesdkagentkit.models.create_memory_repo_request import CreateMemoryRepoRequest

client = volcenginesdkagentkit.AgentKitClient(
    access_key="YOUR_ACCESS_KEY",
    secret_key="YOUR_SECRET_KEY",
    region="cn-beijing"
)
req = CreateMemoryRepoRequest(
    repo_name="user_preference_memory",
    extract_strategy="user_preference", # 指定优先提取用户偏好
    retention_days=3650 # 最长支持10年留存
)
resp = client.create_memory_repo(req)
print(resp.repo_id)

预期结果:输出新创建的记忆库ID,如"mem-20260824xxxx",控制台可看到记忆库状态为“运行中”。

⚠️ 常见错误:创建记忆库后,调用记忆写入接口返回403权限错误
原因:创建记忆库后默认未给当前Agent实例绑定记忆库访问权限
解决方法:在控制台记忆库的“权限配置”页,添加对应Agent实例的读写权限。

步骤2:绑定记忆库到Agent实例
步骤说明:将创建好的用户偏好记忆库和你的业务Agent实例绑定,配置记忆召回阈值为0.7,这样只有匹配度超过70%的用户偏好才会被召回使用,避免错误的偏好影响交互效果。
代码示例:

from volcenginesdkagentkit.models.bind_memory_repo_request import BindMemoryRepoRequest
req = BindMemoryRepoRequest(
    agent_id="YOUR_AGENT_ID",
    repo_id="YOUR_REPO_ID",
    recall_threshold=0.7,
    read_write_permission="read_write"
)
resp = client.bind_memory_repo(req)

预期结果:返回HTTP 200,且控制台Agent的“记忆配置”页可看到绑定的记忆库信息。

步骤3:配置用户偏好提取规则
步骤说明:除了内置的用户偏好提取策略,你可以自定义扩展提取规则,比如添加“用户饮食禁忌”“用户使用设备型号”等自定义提取字段,满足业务个性化需求,跳过这一步默认只会提取通用的偏好(如用户的兴趣、称呼、常用语言等)。
代码示例:

from volcenginesdkagentkit.models.update_extract_rule_request import UpdateExtractRuleRequest
req = UpdateExtractRuleRequest(
    repo_id="YOUR_REPO_ID",
    custom_extract_fields=[
        {"field_name":"diet_taboo","description":"用户的饮食禁忌,如不吃辣、对芒果过敏等"},
        {"field_name":"device_type","description":"用户使用的设备型号,如iPhone 15、小米汽车SU7等"}
    ]
)
resp = client.update_extract_rule(req)

预期结果:返回HTTP 200,记忆库提取规则页可看到新增的自定义字段。

⚠️ 常见错误:自定义字段提取成功率低于30%
原因:自定义字段的描述不够清晰,大模型无法准确判断需要提取的内容
解决方法:给每个自定义字段添加至少3个示例,比如在diet_taboo的描述里补充"示例:不吃辣、对海鲜过敏、不喝冰饮"。

步骤4:测试用户偏好写入与召回
步骤说明:模拟用户交互,测试用户偏好是否能正确写入记忆库并在后续会话中召回,这一步是验证配置是否正确的关键。
代码示例:

# 模拟用户对话,触发偏好提取
from volcenginesdkagentkit.models.chat_request import ChatRequest
req = ChatRequest(
    agent_id="YOUR_AGENT_ID",
    user_id="user_123",
    query="我最近对芒果过敏,以后不要推荐芒果相关的食物哦",
    stream=False
)
resp = client.chat(req)
print(resp.answer)
# 调用记忆查询接口验证是否写入
from volcenginesdkagentkit.models.query_memory_request import QueryMemoryRequest
req = QueryMemoryRequest(
    repo_id="YOUR_REPO_ID",
    user_id="user_123",
    query="用户有什么饮食禁忌"
)
resp = client.query_memory(req)
print(resp.memories)

预期结果:查询记忆返回的结果中包含"diet_taboo":"对芒果过敏"的字段。

步骤5:上线监控配置
步骤说明:在控制台配置记忆存储的监控告警,设置记忆写入成功率低于99.9%、召回时延超过200ms时发送告警通知,根据我们的线上实践数据,正常场景下AgentKit记忆存储的平均召回时延为120ms,写入成功率为99.95%(数据来源:火山引擎AgentKit官方性能白皮书)。这一步可以及时发现线上故障,避免影响用户体验。
预期结果:监控面板可看到记忆库的写入成功率、召回时延、存储用量等指标,告警规则状态为“已启用”。

[5] 实际验证

测试用例:输入用户query为“我明天要和朋友聚餐,推荐几个合适的餐厅”,user_id为刚才测试的user_123。
预期输出:AI的响应中会自动规避芒果相关的菜品推荐,比如会提到“为你推荐以下餐厅,已帮你避开芒果类菜品哦”。
验证成功的标志:HTTP返回码200,响应内容包含符合用户偏好的提示,记忆库查询接口可查到对应的偏好记录。
验证失败常见原因:

  1. 记忆库未绑定到Agent实例:检查Agent的记忆配置页是否绑定了对应记忆库;
  2. 召回阈值设置过高:如果阈值设置为0.9以上,可能会导致匹配度不够的偏好无法召回,建议调整到0.6-0.8之间;
  3. 用户ID未正确传递:如果调用对话接口时未传递user_id,系统无法关联对应用户的偏好数据。

[6] 常见问题 FAQ

Q1:用户偏好数据会在记忆库中存储多久?
A1:你可以在创建记忆库时自定义留存时间,最长支持10年,到期后数据会自动销毁。如果你需要永久留存,可以将retention_days设置为3650。

Q2:我可以手动修改记忆库中的用户偏好数据吗?
A2:支持,你可以通过控制台或者调用更新记忆接口手动修改、删除用户的偏好数据,优先级高于自动提取的偏好。

Q3:什么情况下不建议使用AgentKit记忆存储保存用户偏好?
A3:如果你的用户偏好数据包含极高敏感信息(如用户的银行卡密码、医疗健康隐私数据),且需要本地存储不可上云,不建议使用,建议自行搭建本地加密存储方案。

Q4:AgentKit记忆存储的价格是多少?
A4:目前记忆存储的费用分为存储容量费和调用次数费,存储容量费为0.01元/GB/天,调用次数费为0.0001元/次(数据来源:火山引擎AgentKit官方定价页)。

Q5:我可以同时绑定多个记忆库到同一个Agent吗?
A5:支持,你可以最多绑定5个记忆库到同一个Agent,不同记忆库可以存储不同类型的用户数据,系统会自动召回所有绑定记忆库中的匹配内容。

[7] 相关阅读

  • 《AgentKit记忆库开发指南》[/docs/86681/1844843]:详细讲解记忆库的创建、配置、API调用方法
  • 《AgentKit用户偏好提取最佳实践》[/blog/agentkit-preference-best-practice]:来自多个客户实战的偏好提取规则配置经验
  • 《AgentKit监控告警配置教程》[/docs/86681/1844902]:教你如何配置记忆存储的全链路监控
  • 《AgentKit与LangChain集成指南》[/docs/86681/2608590]:讲解如何在LangChain框架中使用AgentKit记忆存储能力

[8] 参考资料

[1] 火山引擎AgentKit记忆库概述,https://www.volcengine.com/docs/86681/1844855?lang=zh,2026-08-24
[2] 火山引擎AgentKit产品功能说明,https://docs.volcengine.com/docs/86681/1844825?lang=zh,2026-08-24
本文基于火山引擎AgentKit v1.2.0版本编写。

[9] 文章当前生产日期

2026-08-24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.11 06:54:54