全部文档

智能体记忆(用户智能体)

不写入记忆:代码路径、知识文档里已有的事实、通用产品说明、整段对话流水。

来源 docs/core-mechanisms/智能体记忆.md

表述:本文用用户能懂的说法说明「助手跨会话记得什么、记在哪、怎么用」;memory/entries/MEMORY.md 等为实现路径,见 docs/产品规格.md §3.5。

记忆分几层

层级用户说法存什么典型生命周期
用户画像关于我是谁稳定身份、称呼、长期背景手动维护 + 可选自动更新
长期记忆跨会话要记住的事偏好、决策、项目节点、查资料入口长期,可在智能体「记忆」页编辑删除
日笔记最近聊过的上下文当日任务进展、临时观察默认加载今日+昨日,过期自然淡化

不写入记忆:代码路径、知识文档里已有的事实、通用产品说明、整段对话流水。

长期记忆四类

类型用户侧名称示例
user关于我「我是十年 Go 后端,前端新手」
feedback偏好与纠正「以后回答用 bullet,不要长段落」
project项目进展「Q2 上线截止 2026-06-30」
reference去哪查「接口规范看团队 wiki /api 章节」

feedback 类正文须含 Why:How to apply:,便于后续会话正确应用。

如何写入 / 更新 / 删除

方式谁触发默认落点
消息上点 「记住」用户长期记忆(表单可改选日笔记)
对话里说「记住/别忘了」用户 + 智能体智能体调用 memory_write,按内容选长期或日笔记
对话里说「记错了 / 忘掉 / 删除那条」用户 + 智能体memory_write(带 path 更新)或 memory_delete
对话后自动提炼系统(默认开启)仅长期记忆;过滤临时流水
上下文压缩前归档系统日笔记 + 可选提炼为长期

工具:memory_search / memory_get / memory_write(可更新)/ memory_delete。意图由对话模型判断,非关键词硬路由。

写入成功后,对应消息会显示 「已记住」 角标,避免重复写入。会话菜单可开启 「自动提炼通知」(默认关闭;开启后每轮提炼完成会提示,并同步等待提炼结果)。

长期 vs 日笔记 判定规则

写入长期记忆当内容满足任一:

  • 用户明确要求跨会话保留
  • 稳定事实、偏好、已确认决策
  • 有截止日期的项目节点
  • 可复用的「去哪查」指针

写入日笔记当内容满足任一:

  • 仅对今天/本次会话有用(「今天正在…」「这轮先…」)
  • 临时任务进展,几天后可能过时
  • 上下文压缩前的对话片段归档

如何使用

  1. 每轮对话:系统注入长期记忆索引、与问题相关的条目节选、今/昨日笔记节选。

- 相关条目默认 关键词匹配;长期记忆 ≥30 条≥20 条且关键词未命中 时,可改用 LLM 按 name/description 选择 top-5。 - 上一轮已展开 的正文条目本轮不再重复注入(索引仍可见)。 - 若会话近期已调用某工具,reference 类且描述该工具「用法」的条目会跳过;含 警告/注意/Why: 的仍保留。

  1. 智能体主动检索:需要核实细节时调用 memory_search / memory_get
  2. 智能体维护纠正:用户指出错误/过时,或注入材料提示「保存于 N 天前请核实」且已确认不准 → memory_write(带 path 更新)或 memory_delete;同名唯一条可直接更新。
  3. 用户管理:Web 智能体详情 →「记忆」查看、编辑、删除条目;「用户画像」单独维护。
  4. 闲时自动整理(智能体记忆维护):进程内定时任务清理 完全重复 / 同名旧条 / 过期日笔记,条目较多时可用 LLM 审核近重复与过期项目节点;写入知识叠加层,也 走记忆锻造采纳流。

闲时整理(与记忆锻造并列)

| | 智能体记忆维护 | 记忆锻造(MemoryForge) | |--|-------------------|---------------------------| | 服务对象 | 单个智能体的个人记忆 | 帮助/工作区知识叠加层与技能 | | 写哪里 | memory/entries/、旧 memory/YYYY-MM-DD.md | _forged/、技能、索引 | | 触发 | agent_memory_maintain 定时(须 schedule.enabled) | 管理端扫描 / 可选自动扫描 | | 门控 | 保守自动删除(有上限与审计日志) | 扫描可自动,采纳默认人工 |

配置(mindlink.json / 环境变量):agent_memory_maintain.enableddaily_local_hour(默认 2,按 RuntimeTimezone 本地夜里窗口约 2 小时内每日一次)、daily_note_retain_daysuse_llm 等。

落盘内容
{runtime_dir}/.memory_maintain_status.json最近一次全局状态
{runtime_dir}/.memory_maintain_history.jsonl全局执行历史
{runtime_dir}/{智能体ID}/memory/.maintain/log.jsonl该智能体变更历史

可见性分工

角色看什么手触发
用户本助手「自动整理记录」「整理我的记忆」
管理员全站执行历史与明细「立刻整理一次」

管理端:/agent-memory-maintainGET/POST /admin/agent-memory-maintain/*)。 用户端:GET/POST /user-agents/{id}/memory/maintain/*

帮助文档:help/product-features/agent-memory.mdhelp/admin-ops/agent-memory-maintain.md

与「记忆锻造」的区别

  • 智能体记忆:只属于该用户与该智能体实例,跨会话个性化;每轮可能自动注入。
  • 智能体备忘:用户主动存放的记录(文字/文件/图片),按标签与日期检索;不会自动注入,仅用户明确要查/存时才访问。见 智能体备忘.md
  • 记忆锻造(MemoryForge):平台对话归档 → 管理员采纳 → 写入帮助/工作区知识叠加层,服务全员,不是个人记忆。
  • 智能体记忆维护:闲时/手动清理个人记忆;写入 _forged/走锻造采纳流。

相关实现

  • 规则常量与工具:backend/internal/agentmemory/rules.goagenttool/memory.go
  • 写入/更新/删除:backend/internal/agentmemory/write.go
  • 闲时整理与历史:backend/internal/agentmemory/maintain*.go
  • 对话记住:POST /api/v1/user-agents/{id}/memory/remember