首页 / 资讯中心 / 文章详情

AlphaAvatar 的长期记忆是如何炼成的:图感知 Memory 与环境 ENV 记忆提取原理详解

AlphaAvatar 的长期记忆是如何炼成的:图感知 Memory 与环境 ENV 记忆提取原理详解 ★ FEATURED ARTICLE
【免费下载链接】AlphaAvatarAn Omni Real-Time Assistant for Everyone项目地址https://gitcode.com/gh_mirrors/al/AlphaAvatar点击查看免费下载AlphaAvatar 是一个可自托管的全模态实时个人助手框架其 Memory 插件通过图感知记忆Graph-Aware Memory与ENV 环境记忆提取两条核心路径让 AI 助手像人一样记得住既记住你说过的话也记住你镜头里的世界。本文带你看清这套长期记忆系统从感知 → 提取 → 建图 → 固化 → 检索的完整原理。一、记忆的四格抽屉AlphaAvatar 支持哪些长期记忆在 memory_type.py 中AlphaAvatar 把长期记忆划分为 4 种类型各司其职记忆类型存什么典型来源Avatar助手自身稳定信息人设、行为规则助手全局Conversation用户的偏好、决定、交互历史对话内容Tools工具、RAG、MCP、DeepResearch 产出的有用结果工具执行ENV视觉 / 音频环境观察提取出的记忆摄像头、屏幕、麦克风这个设计的关键洞察是对话记忆和环境记忆是两条独立管道。你说的话不会污染环境记忆环境里的画面也不会被误当成你的偏好。二、ENV 环境记忆提取让 AI看见并记住你的世界 这是 AlphaAvatar 最有意思的部分——不只是听你说话还要看你周围发生了什么。整条链路如下摄像头 / 屏幕 / 麦克风 观察 ↓ PerceptionRuntime感知运行时 ↓ EnvMemoryScheduler批次调度器 ↓ 多模态 ENV 提取LLM / VLM ↓ MemoryType.ENV 落库1. 批次调度30 秒一次的心跳 事件触发核心实现在 scheduler.py。EnvMemoryScheduler采用双触发策略周期性触发默认每30 秒DEFAULT_ENV_MEMORY_INTERVAL_SEC捕获一次感知事件窗口事件触发每当一轮用户对话提交turn_committed时立即请求一次捕获并在捕获成功后重置周期计时器。更细致的工程细节语音边界等待捕获前会等待 VAD语音活动检测段闭合最长等待 15 秒避免把一句完整的话切两半批合并 重试新批次会与待处理批次合并处理失败自动重试最多 2 次保证记忆不丢失只存精华原始视频帧、音频缓冲等大载荷绝不直接入库只存提取后的文本、证据引用evidence和元数据。2. 提取提示词只记值得记的提取由 prompt.py 中一份近 500 行的严格提示词驱动让多模态大模型输出一组PatchOp每个包含三部分value1~4 句干净的自然语言环境描述[ENV]...[/ENV]块topic稳定的主题标签如 workspace state、person activity、scene changenode_mentions0~3 个高价值的图节点锚点——这正是图感知记忆的入口。提示词里写死的负向清单值得新手借鉴不要存逐帧流水账、不要存原始 bbox 坐标、不要从人脸/衣着/口音推断真实身份、不要重复已有且未变化的观察。一句话原则——描述具体的瞬间而不是宽泛的类别。例如好的记忆是一位戴眼镜的未识别人脸跟踪对象在书架背景的亮房间里对着镜头坏的记忆是室内房间里出现了一个人。3. 身份安全不猜你是谁ENV 提取有一条铁律禁止从 face_id、speaker_id、外貌、衣着推断真实身份。未知人物只能用运行时提供的局部锚点如face:tmp_1描述或干脆只写在自然语言文本里、不进图。这条规则既保护隐私也防止记忆图被张冠李戴的错误身份污染。三、图感知记忆从一段文本到一张关系网 ️普通的向量检索只能做语义相似度匹配而 AlphaAvatar 的图感知记忆Graph-Aware Memory能回答同一个杯子在不同记忆里是不是同一个。1. 从 mentions 到图节点与链接graph_builder.py 负责把每条记忆变成图的一部分记忆项节点每条记忆生成memory_item:id节点实体节点归一化局部实体face、voice、speaker、object会被限定在当前会话上下文内context-scoped避免这个会话里的脸和另一个会话里的脸混为一谈全局实体user:、tool:、project:等前缀则跨会话共享两种链接memory_item_contains_node记忆包含实体与co_occurs_in_memory_item同一记忆中共同出现的实体两两相连后者让共现关系天然成为检索时的桥梁。2. 别名解析与邻居扩展graph_lookup.py 中的GraphLookup加载aliases.jsonl与links.jsonl提供两项能力身份别名解析Persona 插件识别出的同一用户 / 同一人脸 / 同一说话人的不同别名会归一到同一个 canonical key——于是上周那个戴眼镜的人和今天的 camera 用户能指向同一实体图邻居扩展命中一个实体节点后沿链接扩展邻居把语义上没写同一个词、但图上是同一实体的相关记忆一起捞回来。配合向量的语义检索就形成了语义检索 图结构检索的双通道召回这是图感知记忆检索graph-aware retrieval的精髓。四、记忆固化从原子记忆到长期记忆ENV 和对话提取出的记忆被称为原子记忆atomic memories——不可变的原始记录。但碎片化记忆难以长期复用AlphaAvatar 在 consolidation/prompts.py 实现了记忆固化Consolidation把属于同一事件、项目、偏好或持续话题的原子记忆合并为一条固化记忆consolidated memory新信息与旧记忆冲突时模型需判断这是更正correction、随时间的变化change、补充addition还是未解决的矛盾disagreement——不同不等于更正固化结果必须脱离原始对话也读得懂且绝不臆造原文没有的信息。这相当于给 AI 装了一个睡前整理日记的机制白天随手记流水账晚上合并成条理清晰的人生总结。五、存储与检索全部数据留在你的服务器上 记忆记录最终落库到向量数据库支持两种后端后端用途LanceDB本地向量存储与检索默认开箱即用Qdrant远程 / 自托管向量存储每条记忆记录包含记忆文本、类型、归属owner/participant、会话与时间戳、感知证据引用、图节点与链接、以及 provider 元数据。此外还提供 SQLite 结构化存储与 Markdown 导出——你的记忆是可审计、可迁移的纯文本资产而非某个云端黑盒。六、总结AlphaAvatar 长期记忆设计的三个启示分管道提取对话、工具、环境记忆各走各的提取路径见 Memory 插件 README边界清晰、互不污染少而准的图锚点每条记忆只挂 0~3 个高价值实体锚点配合上下文隔离与别名解析让同一实体在时间线上保持连续性安全默认值不推断真实身份、不存原始媒体、记忆可导出可自托管——隐私优先被写进了提取提示词本身。如果你想动手研究这套记忆系统建议从以下文件入手ENV 提取主流程processors/environment/processor.py图构建逻辑storage/graph/graph_builder.py检索处理器processors/retrieval/processor.py让 AI 真正长情靠的不是更大的模型而是这套克制而严谨的记忆工程。赞分享【免费下载链接】AlphaAvatarAn Omni Real-Time Assistant for Everyone项目地址https://gitcode.com/gh_mirrors/al/AlphaAvatar点击查看免费下载相关推荐什么是“长期记忆写入器”读懂Hy-Memory-30B-A3B-8bit的记忆提取与更新原理什么是“长期记忆写入器”读懂Hy Memory 30B A3B 8bit的记忆提取与更新原理 Hy Memory 30B A3B 8bit 是腾讯混元 HyNeo4j图谱pgvector记忆PentAGI的攻击记忆体是如何炼成的Neo4j图谱pgvector记忆PentAGI的攻击记忆体是如何炼成的 最近科技圈被一个开源项目刷了屏 PentAGI 。GitHub 上热度一路飙网络安全渗透测试AI Agent人工智能本地部署后端前端Neo4j图谱pgvector记忆PentAGI的攻击记忆体是如何炼成的Neo4j图谱pgvector记忆PentAGI的攻击记忆体是如何炼成的 当一款开源工具在 GitHub 热榜上持续霸榜、社区帖子以一句话下指令AI网络安全渗透测试AI Agent人工智能本地部署后端前端创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站