解决AI智能体的“失忆”痛点与系统架构
大多数AI智能体存在严重的记忆缺失问题,每次开启新会话时,它们都会遗忘之前的上下文,如项目细节、修复的Bug或架构决策,导致用户不得不重复解释背景信息。为彻底解决这一痛点,本项目引入了AgentMemory工具,旨在赋予智能体永久性的跨会话记忆能力。该工具基于Triple I引擎构建,其核心创新在于模拟人类大脑的知识巩固机制,为编码智能体提供了一套四层记忆系统。这套系统首先将每次工具调用的原始观察(Raw observations)进行压缩,转化为情景摘要(Episodic summaries),进而提炼为语义事实(Semantic facts),最终归纳为程序化模式(Procedural patterns)。这种分层处理机制确保了从碎片化数据到结构化知识的完整转化路径。
在检索层面,AgentMemory采用了三重流检索系统,融合了BM25关键词搜索、向量相似度匹配以及知识图谱技术。这种混合检索策略显著提升了信息召回的准确性,据官方数据显示,其在Long Mem Eval基准测试中实现了95.2%的检索准确率。该架构具有高度的兼容性,支持Claude、Cursor、OpenClaw、Open Code等多种主流智能体框架。在本教程中,我们将重点展示如何将其与Hermes Agent集成,实现不同智能体间共享同一记忆服务器,从而构建统一的知识库。正如视频作者所言:
"AgentMemory built on something called as triple I engine... gives your coding agent a four-tier memory system inspired by how the human brain actually consolidates knowledge."
本地硬件环境与基础软件配置
为了在本地稳定运行这一复杂的记忆系统,我们需要具备足够的计算资源。本次演示使用的硬件环境为一台搭载Ubuntu操作系统的机器,核心配置包括一块Nvidia RTX 5600显卡,拥有48GB显存(VRAM)。这一显存容量对于本地运行大语言模型至关重要。软件方面,我们已预先安装了Ollama推理引擎,并加载了Hermes模型(具体版本为Qwen 3.6,作者口误提及Hermes one,但实际配置指向Qwen系列或兼容模型,此处以作者最终选择的模型为准,即Qwen 3.6)。作者特别指出,若用户缺乏本地高性能GPU,可考虑使用Mass Compute等云服务,并提供了50%的折扣优惠。
在软件安装阶段,首先通过默认设置快速安装Hermes Agent。在安装过程中,作者发现Hermes Agent的配置界面中移除了对本地Ollama的直接支持选项,仅提供了Ollama Cloud的链接,这被视为一个令人失望的设计缺陷。为解决此问题,作者采用了自定义直接API(Custom Direct API)的方式。由于Ollama暴露了兼容OpenAI接口的本地端点,我们只需在配置中指定API Base URL,无需提供API密钥,即可实现本地模型调用。具体配置步骤包括:选择Chat Completions接口,指定模型名称(如Hermes one或实际使用的Qwen),并设置上下文长度。安装完成后,通过执行source命令刷新bash profile,确保环境变量生效,随后全局安装AgentMemory。尽管安装过程中出现了一些无害的系统警告,但核心组件均已成功部署。
AgentMemory集成流程与服务启动
安装完成后,启动AgentMemory服务是集成过程的关键一步。运行启动命令后,系统会提示选择集成的智能体框架(Harness),此处选择Hermes。接着,系统询问LLM提供商,鉴于我们追求完全本地化运行,作者选择了Skip BM25 Only Mode(跳过BM25仅模式)。需要澄清的是,该模式并非完全禁用BM25,而是指在记忆压缩和巩固步骤中跳过LLM的使用,即不利用大语言模型将原始观察总结为结构化事实,而是仅依赖关键词搜索进行检索。虽然这对于演示目的足够,但在生产环境中,作者建议接入OpenAI、Anthropic或通过OpenRouter提供的其他LLM模型,以启用语义向量搜索和智能压缩功能,从而提升记忆质量。
完成配置后,系统自动安装并启动了Triple I Agent,并禁用了遥测数据上传以保护隐私。此时,AgentMemory服务器已在本地端口3111上运行。为了验证服务状态,作者通过另一个终端执行了curl命令进行健康检查。返回结果显示,服务运行正常,Triple I引擎已连接,并且注册了257个功能函数,表明所有记忆相关接口均已就绪。这一健康检查步骤至关重要,它确认了记忆服务器与底层引擎之间的通信链路畅通无阻,为后续与Hermes Agent的深度集成奠定了坚实基础。
Hermes配置修改与可视化监控
最后一步是将AgentMemory作为MCP(Model Context Protocol)服务器集成到Hermes Agent的配置中。这需要编辑Hermes主目录下的config.yml文件。在配置文件中,主要进行了两项关键修改:首先,在第335行左右将agent_memory设置为记忆提供者(Memory Provider);其次,在文件底部添加MCP服务器配置,使Hermes Agent能够访问AgentMemory提供的43个记忆工具,包括memory search(记忆搜索)、memory save(记忆保存)和memory recall(记忆召回)等。这些工具通过本地端口3111与AgentMemory服务器通信,实现了智能体对持久化记忆的读写操作。
配置完成后,用户可以通过浏览器访问localhost:3113打开AgentMemory可视化查看器。该仪表盘提供了实时的记忆监控功能,初始状态下显示会话数、记忆数和教训数均为零。随着智能体的使用,用户可以实时观察知识是如何被构建和积累的。这种可视化的记忆视图不仅增强了系统的透明度,也让用户能够直观地理解AI是如何从碎片化信息中提炼出长期知识的。正如作者所强调的:
"By the end of this video, your Hermes agent should remember everything across sessions with a real-time memory viewer, you can watch live as it builds up knowledge about your work."
通过这一系列配置,我们成功构建了一个完全本地化、具备跨会话持久记忆能力的AI智能体系统,彻底解决了传统AI助手“失忆”的痛点。
启动 Hermes Agent 并检测本地环境
视频演示者回到终端界面,通过输入命令 Hermes 启动了 Hermes Agent。这是该代理的首次启动,启动过程中展示了其令人印象深刻的 Logo 和界面设计。启动完成后,系统自动检测到了由 Ollama 驱动的本地模型,这一过程非常顺畅。除了模型检测,界面还显示了已配置的 MCP(Model Context Protocol)服务器,其中预置了八个可用的工具。这表明 Hermes Agent 能够无缝集成现有的 MCP 生态,为后续的自动化任务提供了丰富的工具支持。
"Hermes agent has started... our local model powered by Ollama is now detected. Not only that... there should be some MCP server. There you go. So, this is our MCP server with eight tools already present."
生成代码并验证记忆持久化机制
为了测试 Agent Memory 的功能,演示者向 Hermes 发送了一个编码任务:创建一个简单的 Python Flask KPI 仪表盘。在等待代码生成的过程中,演示者指出Agentic Memory 会在约 30 秒后刷新。代码生成完成后,记忆系统立即捕获了相关信息。在 "Memories" 标签页中,可以看到新保存的记忆包含详细的元数据:标题(Coding Prompt)、标签(Flask KPI)、类型(Fact Type)、强度(70%)以及版本号(Version 1)。
这种记忆机制的核心价值在于跨会话的持久性。演示者强调,下一次启动新的 Hermes 会话并询问该项目时,代理将直接调取已保存的记忆,无需用户重新解释项目背景、文件路径或端点工作原理。这彻底解决了传统 AI 助手在每次新对话中都需要重新建立上下文的痛点,实现了真正的上下文连续性。
新会话中的记忆召回与后续迭代
演示者创建了一个全新的会话(New Session),以验证记忆的召回能力。他询问代理关于最近完成的 Flask 工作,Hermes 立即从记忆中检索数据,准确指出了项目构建的路径以及已验证的功能细节。随后,演示者提出了一个后续迭代需求:添加一个之前未实现的 PUT 更新端点。
Hermes 成功执行了代码修改,并再次触发了记忆保存工具。此时,系统中已存在两条记忆:原始的 Flask KPI 项目和新增的 PUT 端点更新。演示者指出,虽然 UI 界面在显示最新记忆更新时可能存在轻微的延迟或 Bug(需要刷新或展开才能看到),但底层记忆数据已成功更新。这种机制允许用户在任意会话中基于历史记忆进行功能扩展,而代理会自动将新产生的知识沉淀到记忆库中,形成累积式的知识增长。
潜在限制与未来优化方向
尽管当前的表现令人印象深刻,演示者也指出了基于 Llama 模型的一些局限性。他提到,为了充分发挥 Agent Memory 在语义搜索方面的优势,可能需要引入 OpenAI 或 Anthropic 等更强大的模型来处理嵌入(Embedding)任务。因为 Llama 模型在处理复杂语义关联时可能存在限制,导致某些高级标签页或功能无法完全发挥效用。
此外,演示者还提到了界面中丰富的功能细节,如时间线视图(Timeline),它可以在多数据、多问题的场景下帮助用户梳理记忆的演变过程。他认为 Agent Memory 在保持跨会话记忆方面已经做得相当不错,是一个非常有前景的技术方向。最后,他邀请观众在社交媒体上关注以获取更多 AI 更新,并感谢观众的支持。
"One thing is that uh I'm we might need to use some OpenAI model or some Anthropic model for embedding and stuff because with the Llama model, there are some restrictions... only then most of these tabs will be fulfilled when we are actually doing any semantic search because that is where it really shines."