记忆洞察
记忆洞察(Memory Insight)把长期积累的多条记忆围绕一个业务主题整理成可直接阅读和使用的高阶结论,帮助Agent识别趋势、变化、风险和行动建议。
功能概述
记忆洞察不只是返回历史记录,还能帮助Agent识别趋势、变化、风险和下一步行动建议。记忆洞察主要用于:
压缩长期上下文,提高信息密度。
发现跨记忆规律。
围绕用户定义的主题生成,支持业务决策。
记忆精炼用于把重复、零散或变化中的事实整理成更稳定的记忆;记忆洞察则围绕业务主题,把多条记忆进一步整理成可直接阅读和使用的总结与建议。
简单示例
以下示例直接调用线上服务,先写入几条原始记忆,再创建洞察并查看结果。
步骤一:配置服务地址和 Key
export MEMORY_BASE_URL="https://api-longmemory-cn-beijing.opentrust.net"
export MEMORY_API_KEY="<YOUR_API_KEY>"步骤二:写入 3 条 raw memory
curl -sS -X POST "$MEMORY_BASE_URL/memories" \
-H "Authorization: Token $MEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"出差坐飞机时,我总是优先选靠过道的座位。"}],"user_id":"demo-insight-user-001","infer":true}'
curl -sS -X POST "$MEMORY_BASE_URL/memories" \
-H "Authorization: Token $MEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"工作出差时,我更喜欢上午出发的航班。"}],"user_id":"demo-insight-user-001","infer":true}'
curl -sS -X POST "$MEMORY_BASE_URL/memories" \
-H "Authorization: Token $MEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"晚上七点以后出发会影响睡眠,所以我通常避开晚班飞机。"}],"user_id":"demo-insight-user-001","infer":true}'写入接口会先返回 PENDING,表示记忆已进入后台处理队列。三次写入的响应格式相同:
{"results":[{"message":"Memory processing has been queued for background execution","status":"PENDING","event_id":"<event_id>","id":null}]}稍等片刻后,查询该用户的记忆,确认 3 条 raw memory 已可用:
curl -sS "$MEMORY_BASE_URL/memories?user_id=demo-insight-user-001" \
-H "Authorization: Token $MEMORY_API_KEY"示例输出如下。为便于阅读,这里只保留记忆内容和类型:
{
"results": [
{
"memory": "用户在出差乘坐飞机时总是优先选择靠过道的座位",
"fact_type": "raw"
},
{
"memory": "用户在工作出差时更喜欢上午出发的航班",
"fact_type": "raw"
},
{
"memory": "用户通常避开晚上七点以后出发的航班,因为晚班飞机会影响睡眠",
"fact_type": "raw"
}
],
"total": 3
}步骤三:创建洞察
为这位用户创建"差旅偏好"洞察。definition 用自然语言说明希望系统总结什么,min_memories 表示至少有多少条记忆时才生成:
curl -sS -X POST "$MEMORY_BASE_URL/memory-insights" \
-H "Authorization: Token $MEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "差旅偏好",
"definition": "总结用户在工作出差中的航班时间、座位和出行习惯,并给出预订建议",
"user_id": "demo-insight-user-001",
"min_memories": 3,
"max_tokens": 1024,
"background": false
}'本次实测中,接口同步完成生成并返回 ready:
{
"user_id": "demo-insight-user-001",
"name": "差旅偏好",
"status": "ready",
"insight_id": "<insight_id>",
"created_new": true,
"last_error": null
}步骤四:查看洞察结果
从创建响应中取出 insight_id,再查询完整洞察内容:
export INSIGHT_ID="<创建接口返回的 insight_id>"
curl -sS "$MEMORY_BASE_URL/memory-insights/$INSIGHT_ID" \
-H "Authorization: Token $MEMORY_API_KEY"本次实测生成的洞察内容如下:
工作出差航班偏好与预订建议
航班时间偏好
- 用户更喜欢上午出发的航班。
- 避开晚上七点以后出发的航班,因其会影响睡眠。
座位偏好
- 出差乘坐飞机时,总是优先选择靠过道的座位。
预订建议
- 优先预订上午出发的航班。
- 确保座位选择为靠过道位置。
- 避免预订 19:00 后起飞的航班。差旅 Agent 后续可以直接使用这份洞察筛选航班和座位,不必每次重新读取全部历史记忆。
可以生成什么
记忆洞察由业务定义关注主题,常见内容包括:
场景 | 洞察示例 |
用户服务 | 当前偏好、偏好变化、未解决问题和潜在流失风险。 |
教育学习 | 学习进展、薄弱知识点和后续学习建议。 |
项目管理 | 关键决策、反复出现的阻塞和延期风险。 |
企业Agent | 团队习惯、协作模式和高频业务问题。 |
Coding Agent | 常见错误、有效解决方案和项目约束。 |
更多使用方式
批量创建与列表查询
如果希望基于全库已有的用户和 Agent 记忆范围批量创建同一主题的洞察,可以使用 group_by:
curl -sS -X POST "$MEMORY_BASE_URL/memory-insights" \
-H "Authorization: Token $MEMORY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "差旅偏好",
"definition": "总结不同用户在工作出差中的航班时间、座位和出行习惯,并给出预订建议",
"group_by": "user_id_agent_id",
"min_memories": 3,
"background": true
}'查询某个用户下已经创建的洞察:
curl -sS "$MEMORY_BASE_URL/memory-insights?user_id=demo-insight-user-001" \
-H "Authorization: Token $MEMORY_API_KEY"通过控制台创建
也可在控制台的数据 > 记忆洞察页面创建洞察。填写洞察名称、定义(自然语言描述希望总结的内容)、用户 ID 或 Agent ID(至少填一个),然后点击创建。
查看和使用洞察
洞察创建后,可以通过控制台或接口查看生成状态和内容。已经生成完成的洞察可以按用户、Agent和主题查询,也可以根据当前问题进行搜索,再作为高密度上下文提供给Agent。
当底层记忆发生明显变化时,可以手动刷新洞察,使结论基于最新信息重新生成。对于持续运行的业务,也可以配置在记忆精炼后自动更新已有洞察。
如果当前记忆数量不足,或者没有与主题直接相关的信息,洞察会等待更多记忆,而不是生成缺少依据的结论。
使用建议
主题要具体:使用"总结工作出差中的航班时间、座位和出行习惯,并给出预订建议",比"总结用户"更容易得到稳定结果。
优先选择有持续数据的主题:例如用户偏好、学习进展、项目风险和常见问题。
将洞察用于理解和决策:洞察适合表达趋势、模式和建议;具体时间、金额等事实仍应回到原始记忆核验。
按业务节奏刷新:信息变化频繁的主题可以更及时刷新,稳定主题无需频繁重建。
从少量高价值主题开始:先验证洞察能否改善实际回答或决策,再逐步扩展主题范围。