M-flow 认知记忆引擎

图驱动的检索增强生成(Graph RAG)新范式,通过证据路径评分实现类人的关联记忆。

Star 数
★ 4.5k
最近更新
2 个月前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
命令行工具代码库 / SDK自托管服务
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Python 3.10+DockerShell / 命令行网络访问本地文件系统
典型场景
AI 助手需要记住跨会话的用户偏好和工作流程,供后续引用。
不适合
  • 不想维护数据库、Docker 与多服务基础设施的个人用户
  • 需要人脸识别记忆分区但没有摄像头或不愿部署额外服务的用户

这个 Agent 能做什么,适合哪些场景?

M-flow 是一个生物启发的认知记忆引擎,采用四层锥形图(Episode → Facet → FacetPoint → Entity)组织知识,并通过图路由的 Bundle Search 进行检索。与传统 RAG 依赖向量相似度不同,M-flow 让图本身成为评分引擎:向量搜索仅负责定位入口点,最终相关性由沿类型化、语义加权边的证据传播决定,每个知识单元按连接查询的最强推理链评分。该仓库包含核心 Python 库(m_flow)、FastAPI 后端、CLI(mflow)、Web 控制台(Next.js)、MCP 服务器,以及支持多种数据库(LanceDB、Neo4j、PostgreSQL/pgvector、ChromaDB、KùzuDB、Pinecone)和 LLM 提供方(OpenAI、Anthropic、Mistral、Groq、Ollama 等)的适配器。代码以 Apache 2.0 许可发布,并附带 963 个通过的测试。

M-flow 从多种输入格式(50+ 种,包括 PDF、DOCX、HTML、Markdown、图像、音频)摄取数据,进行分块、解析、共指消解(在索引前将代词解析为具体先行词),并构建知识图谱与嵌入。查询通过 query() 方法或 mflow search 命令执行,使用图路由的 Bundle Search:向量搜索在多个粒度上寻找入口点(Episode、Facet、FacetPoint、Entity),然后图传播沿着带语义描述的边(edge_text)进行代价感知的传播,最终按每个 Episode 的最强证据路径进行评分。它还提供了额外能力,如通过集成 face-recognition 实现基于人脸的记忆分区、程序性记忆抽取,以及通过 MCP 服务器将记忆暴露为工具。

  1. AI 助手需要记住跨会话的用户偏好和工作流程,供后续引用。
  2. 团队知识库需要回答具体事件的问题,如“Maria 为什么在周一的站会上不高兴?”。
  3. 开发者希望用图结构增强现有 RAG 系统,而不是仅用向量相似度。
  4. 多用户环境(如家庭或办公室)需要按用户分割记忆,并根据说话者自动路由。
  5. 研究人员评估 GraphRAG 方法在 LoCoMo 和 LongMemEval 等基准上的表现。

如何安装或部署这个 Agent?

可通过 Docker 一键安装:git clone https://github.com/FlowElement-xinliuyuansu/m_flow.git && cd m_flow && ./quickstart.sh(Windows 使用 quickstart.ps1)。或通过 pip 安装:pip install mflow-ai,然后设置 export LLM_API_KEY="sk-..."。从源码安装:git clone ... && cd m_flow && pip install -e .。

如何使用这个 Agent?

在 Python 中:

import asyncio, m_flow
async def main():
    await m_flow.add("M-flow builds persistent memory for AI agents.")
    await m_flow.memorize()
    results = await m_flow.query("How does M-flow work?")
    for item in results.context:
        print(item)
asyncio.run(main())

或使用 CLI:mflow add "..."、mflow memorize、mflow search "query" --query-type EPISODIC、mflow -ui 启动 Web 控制台。

这个 Agent 有哪些优点和局限?

优点
  • 图路由的 Bundle Search 在基准测试中优于传统 RAG(LoCoMo-10 81.8% vs Supermemory 64.4%)。
  • 多粒度检索统一在一个图中,避免用户选择记忆层的负担。
  • 语义边(edge_text)携带自然语言含义,增强可解释性。
  • 支持多数据库与多 LLM 提供商,灵活适配。
  • 共指消解改进对话记忆的检索准确性。
局限
  • 端到端检索流程复杂度高,可能比简单向量检索更沉重。
  • 基准依赖特定模型(gpt-5-mini/gpt-4o-mini),实际效果可能因模型而异。
  • 人脸识别集成需要额外服务(fanjing-face-recognition)且需要摄像头。
  • 部分功能(如 Playground)在生产部署时需要额外配置(Docker、网络)。

这个 Agent 与同类方案有什么区别?

在 LoCoMo-10 与 LongMemEval 基准中,M-flow 与 Cognee、Zep、Supermemory、Mem0 等记忆/GraphRAG 系统进行了对比,并显示了较高的 LLM-Judge 得分。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
M-flow 认知记忆引擎 当前 36 · 缺口较多 命令行工具免费 + 模型费 ★ 4.5k 2 个月前 Python OpenAI API · Claude API
Mnemosyne 59 · 缺口较多 命令行工具免费 ★ 3.5k 今天 Python Codex · Claude Code
SimpleMem:LLM 智能体的高效终身记忆系统 43 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 3.8k 2 个月前 Python ChatGPT · Claude Code
Yuxi(语析)——可私有部署的多租户知识智能体平台 41 · 缺口较多 自托管服务免费 + 模型费 ★ 7.4k 2 天前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
36/ 100 五分制 1.8 / 5
信任安全 0/29
可靠稳定 6/14
适用触发 10/18
规范维护 10/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的明确说明。所有信任相关标准均未得到支持,因此得分为0。

可靠稳定6 / 14 · 2.1/5

证据显示:README和pyproject.toml在功能描述和依赖声明上基本一致,但存在一些不一致,如README声称支持多种数据库,但pyproject.toml中未列出所有数据库的依赖。依赖可用性方面,部分依赖如chinese-coref需要从源码安装,可能影响可用性。失败消息方面,未提供明确的错误处理或用户提示。

适用触发10 / 18 · 2.8/5

证据显示:README明确了目标受众(开发者、研究人员)和多种使用场景(RAG、GraphRAG、记忆系统)。能力边界在功能列表中有所描述,但触发精度(如查询类型)仅简要提及。环境适配方面,提供了Docker、pip、源码安装等多种方式,但未详细说明所有平台的支持情况。

规范维护10 / 18 · 2.8/5

证据显示:信息架构清晰,有README、docs、examples等。安装说明详细,包括Docker、pip、源码。命名稳定性方面,项目名称和包名一致,但版本号在README和pyproject.toml中未明确对应。示例和FAQ有提供,但已知限制未明确列出。许可证为Apache-2.0,但版本变更日志未提供。维护责任在SECURITY.md中有说明,但未明确更新路径。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性方面,提供了CLI和API,但未提供输出格式的详细说明。边际价值方面,README声称在基准测试中优于其他系统,但未提供可验证的复现细节。成本效益方面,未提供性能或成本数据。

证据核验3 / 8 · 1.9/5

证据显示:README中的基准测试声称有复现脚本和原始数据,但未提供具体链接或方法细节。跨来源验证方面,未提供其他独立来源的支持。事实与推断的分离方面,README将设计理念与基准测试结果混合,未明确区分。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 仓库未提供任何权限模型或用户确认机制,可能默认以高权限运行。
  • 依赖安全审计缺失,部分依赖需要从源码安装,可能引入供应链风险。
  • 基准测试声称有复现脚本,但未提供具体链接,无法验证。
  • 已知限制未明确列出,可能隐藏潜在问题。
证据充分度:低 评估于 2026年8月11日 审查版本 0d585cda2f58
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.3.4 M-flow v0.3.4
    发布说明摘录
    M-flow v0.3.4 Critical Fixes - Remove max_tokens parameter incompatible with GPT-5 series — all LLM calls were failing - Fix session/conversation history crash — compress_text(str) type mismatch replaced with correct summarize_text(str) High Priority Fixes - Fix audio processing (create_transcript → transcribe_audio method name) - Fix image processing (transcribe_image → describe_image method name) - Fix UUID serialization in search results, cache adapters, and graph property encoding - Fix _hash_sensitive dead code causing telemetry data corruption …
    在 GitHub 查看 ↗

常见问题

M-flow 是否与我的数据库兼容?
支持 LanceDB、Neo4j、PostgreSQL/pgvector、ChromaDB、KùzuDB 和 Pinecone。
是否需要 GPU?
不需要,但向量搜索和 LLM 推理需要网络连接以及有效的 API 密钥(例如 OpenAI)。
如何将 M-flow 集成到现有 IDE 中?
运行 MCP 服务器(cd m_flow-mcp && uv run python src/server.py --transport sse),即可作为 MCP 工具暴露记忆。
是否能处理多用户隔离?
支持通过人脸识别进行面向的人记忆分区(需要可选服务)。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents