A-mem

GitHub
946 98 简单 1 次阅读 2天前MIT开发框架语言模型Agent
AI 解读 由 AI 自动生成,仅供参考

A-mem 是一款专为大语言模型(LLM)智能体设计的新型记忆系统。传统记忆模块往往仅具备基础的存储与检索功能,难以有效组织复杂的历史经验,导致智能体在处理长周期或高难度任务时表现受限。A-mem 通过引入“代理式”管理机制,让智能体能够像人类一样主动地整理、关联和进化记忆。

该工具的核心亮点在于融合了“卡片盒笔记法”(Zettelkasten)理念,利用 ChromaDB 实现智能索引,并能自动分析新旧记忆间的关联,构建动态互联的知识网络。当新信息进入时,系统不仅会生成结构化笔记和标签,还会主动寻找历史记忆中的相似点建立链接,确保持续的知识演进。实验表明,其在多种基础模型上的表现均优于现有主流方案。

A-mem 非常适合 AI 开发者、研究人员以及希望构建具备长期记忆能力智能体的工程师使用。通过简单的 Python 接口,用户即可快速集成这一系统,赋予智能体更强大的上下文理解与自适应决策能力,从而更好地应对现实世界中的复杂挑战。

使用场景

一位 AI 研发工程师正在构建一个能长期处理复杂客户咨询任务的智能客服 Agent,需要其具备跨会话的记忆与推理能力。

没有 A-mem 时

  • 记忆碎片化:历史对话仅以线性日志存储,Agent 无法自动识别不同会话间关于同一客户偏好的潜在联系。
  • 检索效率低:面对海量历史记录,传统向量检索只能返回关键词匹配的片段,缺乏上下文关联,导致回答断章取义。
  • 知识静止不前:旧的经验数据一旦写入便不再更新,无法随着新交互的发生自动修正或细化已有的客户画像。
  • 缺乏结构化整理:非结构化的文本堆积使得 Agent 难以提取关键属性(如“偏好夜间沟通”),每次决策都需重新分析原始长文本。

使用 A-mem 后

  • 动态知识组网:A-mem 基于 Zettelkasten 原则,自动将分散的客户偏好笔记链接成网,让 Agent 瞬间洞察跨会话的行为模式。
  • 智能关联检索:通过 Agent 驱动的索引机制,不仅能找到关键词,还能顺藤摸瓜检索到语义相关的背景信息,提供连贯且精准的回复。
  • 记忆持续进化:当获得新的客户反馈时,A-mem 会自动触发记忆更新流程,修正过时的标签并丰富现有笔记,保持知识库的时效性。
  • 结构化属性生成:系统自动为每条记忆生成包含标签、类别和上下文的结构化属性,使 Agent 能直接调用“夜间沟通偏好”等关键特征辅助决策。

A-mem 通过将静态存储升级为动态演进的“代理式记忆”,赋予了 LLM Agent 像人类专家一样积累、关联并迭代经验的核心能力。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明(支持本地部署 Ollama 或云端 OpenAI,无强制 GPU 要求)

内存

未说明

依赖
notes该项目是一个记忆系统库,需通过 'pip install .' 安装。运行时需要配置 LLM 后端(支持 OpenAI 或本地 Ollama)以及嵌入模型(默认使用 all-MiniLM-L6-v2)。若选择本地部署 Ollama 或运行大型嵌入模型,可能需要较高的内存或 GPU 资源,具体取决于所选模型大小。
python未说明(需支持 venv 及 pip 安装)
ChromaDB
all-MiniLM-L6-v2 (嵌入模型)
OpenAI API 或 Ollama
A-mem hero image

快速开始

代理记忆 🧠

一种用于LLM代理的新型代理记忆系统,能够以代理化的方式动态组织记忆。

引言 🌟

大型语言模型(LLM)代理通过调用外部工具,在处理复杂的现实世界任务方面展现了非凡的能力。然而,为了有效利用历史经验,它们需要先进的记忆系统。传统的记忆系统虽然提供了基本的存储和检索功能,但往往缺乏高级的记忆组织能力。

我们的项目引入了一种创新的代理记忆系统,彻底改变了LLM代理管理和使用记忆的方式:

传统记忆系统 我们提出的代理记忆
传统记忆系统(上)与我们提出的代理记忆系统(下)的对比。我们的系统支持动态的记忆操作和灵活的代理-记忆交互。

注: 本仓库提供了一个便于构建代理的记忆系统。如果您想复现我们论文中展示的结果,请参考:https://github.com/WujiangXu/AgenticMemory

更多详情请参阅我们的论文:A-MEM: LLM代理的代理记忆

核心特性 ✨

  • 🔄 基于Zettelkasten原则的动态记忆组织
  • 🔍 通过ChromaDB实现记忆的智能索引与链接
  • 📝 具有结构化属性的全面笔记生成
  • 🌐 相互连接的知识网络
  • 🧬 持续的记忆演化与优化
  • 🤖 由代理驱动的决策机制,实现自适应的记忆管理

框架 🏗️

代理记忆框架
我们的代理记忆系统的框架,展示了LLM代理与记忆组件之间的动态交互。

工作原理 🛠️

当新记忆被添加到系统中时:

  1. 生成包含结构化属性的全面笔记
  2. 创建上下文描述和标签
  3. 分析历史记忆以寻找相关联系
  4. 基于相似性建立有意义的链接
  5. 实现记忆的动态演化与更新

结果 📊

在六种基础模型上进行的实证实验表明,该系统的表现优于现有的SOTA基准。

快速开始 🚀

  1. 克隆仓库:
git clone https://github.com/agiresearch/A-mem.git
cd A-mem
  1. 安装依赖: 建议创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # Windows系统使用:.venv\Scripts\activate

安装包:

pip install .

开发时可以使用可编辑模式安装:

pip install -e .
  1. 使用示例 💡

以下是使用代理记忆系统进行基本操作的方法:

from agentic_memory.memory_system import AgenticMemorySystem

# 初始化记忆系统 🚀
memory_system = AgenticMemorySystem(
    model_name='all-MiniLM-L6-v2',  # ChromaDB的嵌入模型
    llm_backend="openai",           # LLM后端(openai/ollama)
    llm_model="gpt-4o-mini"         # LLM模型名称
)

# 添加记忆 ➕
# 简单添加
memory_id = memory_system.add_note("深度学习神经网络")

# 带元数据添加
memory_id = memory_system.add_note(
    content="机器学习项目笔记",
    tags=["ml", "project"],
    category="研究",
    timestamp="202503021500"  # YYYYMMDDHHmm格式
)

# 阅读(检索)记忆 📖
# 根据ID获取记忆
memory = memory_system.read(memory_id)
print(f"内容: {memory.content}")
print(f"标签: {memory.tags}")
print(f"上下文: {memory.context}")
print(f"关键词: {memory.keywords}")

# 搜索记忆
results = memory_system.search_agentic("神经网络", k=5)
for result in results:
    print(f"ID: {result['id']}")
    print(f"内容: {result['content']}")
    print(f"标签: {result['tags']}")
    print("---")

# 更新记忆 🔄
memory_system.update(memory_id, content="关于深度学习的更新内容")

# 删除记忆 ❌
memory_system.delete(memory_id)

# 记忆演化 🧬
# 系统会自动对记忆进行演化,具体步骤如下:
# 1. 利用ChromaDB查找语义关系
# 2. 更新元数据和上下文
# 3. 在相关记忆之间建立连接
# 这些操作会在添加或更新记忆时自动完成!

高级特性 🌟

  1. ChromaDB向量存储 📦

    • 高效的向量嵌入存储与检索
    • 快速的语义相似度搜索
    • 自动化的元数据管理
    • 持久化的记忆存储
  2. 记忆演化 🧬

    • 自动分析内容之间的关系
    • 根据相关记忆更新标签和上下文
    • 在记忆之间建立语义连接
  3. 灵活的元数据 📋

    • 自定义标签和类别
    • 自动提取关键词
    • 自动生成上下文
    • 时间戳追踪
  4. 多种LLM后端 🤖

    • OpenAI(GPT-4、GPT-3.5)
    • Ollama(适用于本地部署)

最佳实践 💪

  1. 记忆创建 ✨:

    • 提供清晰、具体的内容
    • 添加相关标签以便更好地组织
    • 让系统自动处理上下文和关键词的生成
  2. 记忆检索 🔍:

    • 使用具体的查询语句
    • 根据需求调整k值
    • 同时考虑精确匹配和语义匹配
  3. 记忆演化 🧬:

    • 允许系统自动演化以整理记忆
    • 定期审查生成的连接
    • 使用一致的标签规范
  4. 错误处理 ⚠️:

    • 始终检查返回值
    • 处理可能存在的无效记忆KeyError
    • 对LLM操作使用try-except块

引用 📚

如果您在研究中使用了本代码,请引用我们的工作:

@article{xu2025mem,
  title={A-mem: LLM代理的代理记忆},
  author={徐武江、梁祖杰、梅凯、高航、谭俊涛、张永峰},
  journal={arXiv预印本 arXiv:2502.12110},
  year={2025}
}

许可证 📄

本项目采用MIT许可证。详细信息请参阅LICENSE文件。

常见问题

相似工具推荐

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|今天
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

139k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.7k|★★☆☆☆|2天前
开发框架图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|今天
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|今天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|昨天
Agent图像开发框架