把 Agent 做进业务里通常很快会遇到一个问题:模型没有状态,会话一断,前面交代的口径全部归零。工程上常见的两种补法是自己搭一套向量库加提示词工程,或者把规矩写成文件让 Agent 每次读。前者要自己写抽取、去重、冲突合并、过期与隔离;后者只对一个入口有效,换台机器就没了。
百炼记忆库(Memory Library)是平台侧给出的第三种答案:把记忆做成独立资源,按用户隔离,抽取与合并由平台负责,业务侧只负责写入与检索。本文按资源模型、接入方式、实测边界三部分说明,实测数据来自一次两批对话、36 组查询的验证。
一、资源模型:三类记忆各司其职
记忆库把长期记忆拆成三类,对应三种不同的使用时机。
| 类型 | 内容 | 适用场景 |
|---|---|---|
| 事实记忆 | 从对话中提取的关键事件与信息片段 | 动态事件,比如客户约定的上线时间 |
| 用户画像 | 按模板抽取的结构化属性 | 固定属性,比如报价区间、技术栈偏好 |
| 技能记忆 | 从可复用轨迹归纳的任务方法 | 相似任务的方法复用 |
这三类不是并列关系,而是分工关系:画像用来开局,一次读出来就知道这个用户是谁;事实记忆补细节,具体到某件事某个数字;技能记忆留给可复用的操作路径。
资源层级上还有记忆库与记忆规则两层。每个账号自带一个默认记忆库,里面有预置的事实记忆规则;规则定义怎么抽取、怎么存储、怎么检索,可以按业务场景再拆。规划时要注意两个硬约束:每个记忆库最多 50 条事实记忆规则与 50 条画像规则;默认事实记忆规则的有效期是 180 天。
二、接入方式:写入异步,读取要调阈值
接入面有三条:REST API、CLI(bl memory,13 个子命令)、以及给 Agent 用的官方 skill 包。日常使用建议走 skill 包,把任务描述给 Agent,命令由它来拼。
写入是异步任务。 提交后平台做抽取,回执给出 event 与产出的节点。实测 15 条消息抽出 14 条事实记忆,抽取结果会改写成第三人称短句,一句含两件事会被拆开,一句含两个数字会合并。同一件事第二次提及不会新增节点,而是走 UPDATE 把新信息合进旧条目,这一点对长期使用的库很关键,否则检索时会出现互相矛盾的条目。

读取需要自己定阈值。 这是接入里最容易被忽略的一步。检索分语义召回与分数过滤两段,召回质量没问题(36 组查询里正确条目排第一的占 86%),但默认的分数阈值 0.3 只放行了 25% 的查询。
| 口径 | 实测 |
|---|---|
| 默认参数命中率 | 9 / 36 = 25% |
| 降阈值后命中率 | 36 / 36 = 100% |
| 正确条目排第一 | 31 / 36 = 86% |
| 分数 p75 | 0.300(恰为默认阈值) |
分数是余弦相似度量纲,语义相关但措辞不同落在 0.2 附近属于常态。默认值是按人工浏览场景配的,自动调用方拿不到结果时无法区分「库里没有」与「被阈值挡掉」,表现就是反复追问用户,业务侧观感为「记忆没生效」。

还有一个策略版本的选择:Pro 开重排序,Lite 关。两档分数不在一个量纲上(同一查询 Pro 侧最高 0.576、Lite 侧 0.718 起),且阈值只对 Pro 生效。跨档沿用经验值会误判相关性。
三、边界与治理
三项实测确认的边界,规划时最好提前写进设计文档:
隔离按用户 ID 做。 同一查询换一个用户 ID 返回 0 条。多租户场景直接以业务用户主键作为记忆实体 ID 即可,不需要额外建隔离层。
删除是物理删除。 删除节点后总数减一,把阈值降到 0 也检索不到。对涉及客户信息、个人偏好的场景,这是能否上线的前提条件。
技能记忆有前置依赖。 写入时补技能名、描述、标签不会让节点变成技能类型,必须先由控制台创建技能记忆规则,写入时用规则 ID 指定。命令面里没有创建规则或记忆库的子命令。这一点要注意反馈的误导性:导出技能记忆的命令对普通事实记忆同样返回成功,只有返回体里的类型字段能说明真相。
计费侧按调用次数:写入 Pro 0.03 元一次、检索 Pro 0.001 元一次,存储约 1.44 元每万条每月,另有写入 1500 次、检索 5000 次、存储 1 万条的赠送额度。本次实测 11 次写入加 134 次检索,按标价折算 0.46 元,实际扣 0。
四、适合接入的场景
如果只有一个 Agent 在一个固定入口使用,项目内的规则文件成本更低。需要接入这层记忆的场景通常有三个特征:用户之间必须隔离;同一份记忆要在多个入口共用;记忆需要可编辑、可删除、可审计。
它不与知识库重叠。知识库存放对所有人一致的资料,记忆存放对某一个人成立的偏好与口径,两类混用会互相挤占检索结果。
接入成本很低:装好官方 skill 包,把任务描述给 Agent 即可。CLI 安装页在这里,API Key 在这里签发。真正要写的只有一段话:记什么、按谁的 ID 记、检索取几条、分数多低才不算。默认那两条恰好是最保守的组合,直接接进去会觉得像没生效。