从无状态聊天到有状态 Agent:用 Hindsight 为 Hermes 接入跨会话持久记忆
从无状态聊天到有状态 Agent用 Hindsight 为 Hermes 接入跨会话持久记忆【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsightHindsight 为 Hermes Agent 提供持久化记忆层让对话中的偏好、决策与项目上下文能够跨越会话边界被保留并在需要时召回。本文以官方指南《Turn Hermes from Stateless Chat into a Stateful Agent》为主线结合仓库中的 Hermes 集成文档 与 Hermes 原生记忆提供方说明完整给出从无状态聊天升级为有状态 Agent 的配置路径、Bank 策略与验证方法。开箱即用的聊天 Agent 通常是无状态的它在当前上下文窗口内可以推理得很好但会话一结束工作关系就重置了。这对一次性提问没问题对真正的助理型工作流却很弱。如果你希望 Hermes 表现得像一个有状态 Agent缺失的关键拼图就是持久化记忆——这正是 Hindsight 所提供的能力一个长期记忆层让相关事实能越过会话边界存续并在日后需要时被召回。这是从好用的聊天到有用的持续 Agent的转变。快速答案将 Hermes 连接到 Hindsight。选定一个稳定的 Bank 策略。让记忆系统自动保留会话中值得留存的内容跨会话生效。开启全新会话确认召回依然工作。从一次性聊天扩展为可复用工作流。无状态聊天擅长什么又缺失什么无状态聊天擅长局部推理只要在当前会话中给足上下文Hermes 就能完成出色的工作。问题在于连续性。下一次打开 Hermes 时它不会自动知道你的偏好你正在进行中的项目你上周做过的决策当前工作流中哪些人或账户是重要的这正是许多 Agent当下聪明、跨时健忘的原因。聊天记录不是记忆——会话结束后整段 transcript 并不会自动转化为下一次可检索的知识。有状态行为是什么样的一个有状态 Agent 不只是回答当前这条消息它会把关系与工作一起带向前。这意味着 Hermes 可以无需重复说明即可召回偏好无需完整简报即可续接项目跨会话携带客户或账户上下文在多次会话中不断积累操作性知识记忆就是让这一切成为可能的东西。Step 1接入记忆层最短的配置路径是一条命令hermes memory setup在向导中选择Hindsight。连接完成后Hermes 就能跨会话保留并召回上下文而不是把每次聊天都当作全新开始。这与 Hermes 集成文档 中的 Quick Start 一致hermes memory setup会引导你输入 API Key 与 API URL 并自动完成全部配置。手动配置可选如果不用向导也可以手动配置# 设置记忆提供方为 hindsight hermes config set memory.provider hindsight # 追加 Key 与 API 端点 echo HINDSIGHT_API_KEYyour-key ~/.hermes/.env echo HINDSIGHT_API_URLhttps://api.hindsight.vectorize.io ~/.hermes/.env确认记忆已激活hermes memory status两种连接模式模式说明cloud推荐用于生产连接 Hindsight Cloud端点https://api.hindsight.vectorize.io需要 API Key 与bank_idlocal嵌入式运行内嵌的 Hindsight 服务器自带内置 PostgreSQL需要 LLM API Key 用于记忆提取与综合守护进程在首次使用时于后台自动启动本地模式在 Hermes 显示 starting agent 时启动全新系统上首次启动可能超过一分钟内嵌 PostgreSQL 初始化后续启动很快。启动日志位于~/.hermes/logs/hindsight-embed.log运行日志位于~/.hindsight/profiles/profile.log。记忆如何真正介入每一次对话从源码与集成文档看原生提供方通过生命周期钩子与显式工具两条通道接入 Hermes组件作用pre_llm_call钩子自动召回Auto-recall——查询记忆作为临时系统提示上下文注入post_llm_call钩子自动保留Auto-retain——将用户/助手对话写入 Hindsighthindsight_retain工具显式记忆存储模型主动发起hindsight_recall工具显式记忆搜索模型主动发起hindsight_reflect工具基于已存记忆给出 LLM 综合答案需要注意的是这些生命周期钩子要求 hermes-agent 具备 PR #2823 或更高版本在旧版本上只会注册三个工具钩子会被静默跳过。召回采用预取prefetch模式当前这一轮的对话记忆要到下一轮才会出现在召回结果中从而保证每次调用都足够快。Step 2选定 Bank 策略有状态只有在记忆范围合理时才成立。好的默认值每个用户助理一个 Bank每个项目一个 Bank每个客户或工作流一个 Bank坏的默认值为互不相关的所有工作建一个巨型 Bank范围越清晰召回体验越好。从 生产环境 Bank 策略指南 看bank_id本质上是架构决策而非随手填写的配置项它直接决定召回质量、隔离安全性与排障难度。生产环境常用的命名模式包括模式示例适用场景个人user:12345一个用户、一个助理租户 用户tenant:acme:user:12345多租户应用团队共享team:product-alpha协同的团队工作流环境隔离tenant:acme:user:12345:env:prod同一后端上同时跑 staging 与 prod在~/.hermes/hindsight/config.json中bank_id的默认值为hermes可通过环境变量HINDSIGHT_BANK_ID覆盖此外还可设置bankMissionAgent 身份/用途与retainMission自定义保留任务即从对话中提取什么。Step 3让真实工作自然沉淀记忆你不需要手动编写每一条记忆条目。正常使用 Hermes 的过程中系统会自动保留对话背后值得长期留存的事实偏好、决策、项目细节、反复出现的问题、关系上下文。这就是把日常使用变成复合资产的过程——每次会话都在为下一次会话积累可检索的上下文。在配置层面这由 Auto-Retain 控制设置默认值说明autoRetaintrue通过post_llm_call钩子自动保留retainEveryNTurns1每 N 轮保留一次retainOverlapTurns2额外重叠轮数保证连续性retainRoles[user, assistant]保留哪些消息角色Auto-Recall 侧的默认值同样开箱即用autoRecall默认truerecallBudget默认mid可选low/mid/highrecallMaxTokens默认4096recallMaxQueryChars默认800。召回内容会以一段默认前置说明注入系统提示指导模型只使用与当前对话直接相关、且冲突时优先最新的记忆。Step 4用全新会话验证有状态性一个简单的测试告诉 Hermes 一个以后需要用到的事实。结束会话。开启一个全新会话。不重新介绍该事实直接询问它。如果 Hermes 能正确回答这个工作流就已经从无状态跨越到了有状态。验证时注意一个前提记忆至少需要经历一次保留循环才会出现在召回中。因此排查召回无结果时先确认是否已经存储过事实再在新会话中提问——这对应集成文档中的常见问题Recall returning no memories。为什么这比更大的上下文窗口更好更大的上下文窗口只帮助当前这一次运行它本身并不能带来持久的跨会话记忆。有状态行为不只是更多 token而是在当前任务需要时能够从过去检索出正确的上下文。这正是即使模型拥有超大上下文窗口持久化记忆依然重要的原因。这在哪里最重要个人助理工作流偏好和进行中的计划不应每次都被重新输入。客户相关工作流账户、利益相关方和此前的对话应当向前延续。编码工作流仓库上下文和此前的调试工作应当能在下一次会话中直接可用。常见误区把聊天历史误当成长期记忆用一个过大的 Bank 装互不相关的工作流不通过全新会话测试召回就期望它天然有状态只想靠往每次对话里粘贴更多上下文来解决连续性问题进阶记忆模式、内置记忆与排障记忆模式memory_modememory_mode控制记忆以何种方式接入 Agent模式行为hybrid默认每轮自动注入上下文同时向模型暴露工具context仅自动注入不向模型暴露工具tools仅工具hindsight_retain/hindsight_recall/hindsight_reflect无自动注入prefetch_method控制自动召回时记忆的获取方式recall默认语义搜索 关键词 实体图谱遍历 重排快或reflectLLM 对相关记忆综合成连贯摘要慢但更连贯。关闭 Hermes 内置扁平文件记忆Hermes 自带写入本地 Markdown 文件MEMORY.md与更精简的USER.md的内置记忆。若两者同时启用LLM 可能更偏爱内置记忆。可以关闭# 关闭内置 MEMORY.md 存储 hermes config set memory.memory_enabled false # 可选——同时关闭精简的 USER.md 配置存储 hermes config set memory.user_profile_enabled false两者都设为false后memory工具会从 Agent 中完全移除需要时可再改回true重新启用。常见排障/tools中看不到工具检查api_url或HINDSIGHT_API_URL是否已设置云模式还需要HINDSIGHT_API_KEY未配置时提供方会静默跳过工具注册。连接被拒绝确认 Hindsight API 在运行curl http://localhost:9077/health。本地守护进程无法启动查看~/.hermes/logs/hindsight-embed.log中的错误日志。关于旧版插件的说明此前独立的hindsight-hermespip 插件已弃用——在当前 Hermes 构建上其工具会以{error: Timeout context manager should be used inside a task}失败。Hermes 现已内置原生 Hindsight 记忆提供方无需额外安装任何东西只需hermes memory setup并选择hindsight。若仍在使用旧插件可参考 迁移指南 在保留同一记忆 Bank 的前提下切换。常见问题有状态的 Hermes 只是聊天历史吗不是。关键在于跨会话可用的记忆而不是一份不断变长的对话抄本。需要更换模型吗不需要。这是记忆层的更换不是模型替换。记忆提供方在每次 LLM 调用前召回、调用后保留模型本身无需改动。有状态记忆可以共享吗可以当工作流受益于共享 Bank 时可以。网关模式Telegram / Discord / Slack下Hermes 为每条消息创建全新的AIAgent而pre_llm_call钩子保证无论来自哪个平台每一轮都会召回相关记忆——这正是共享记忆的底层形态。延伸阅读记忆模式详解Hermes Memory Modes with HindsightHybrid、Context 与 Tools生产级 Bank 设计Hermes Memory Bank Strategy for Production完整配置参考Hermes Agent Persistent Memory with Hindsight 集成文档原生提供方背景Hindsight Is Now a Native Memory Provider in Hermes Agent【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

ClickHouse 在智能体链路日志与行为分析中的海量存储实践

ClickHouse 在智能体链路日志与行为分析中的海量存储实践

ClickHouse 在智能体链路日志与行为分析中的海量存储实践在构建面向全网数千万级调用的多智能体(MAS)企业级可观测与行为审计平台时,系统每天会产生海量高维、包含长文本 Prompt、复杂工具入参、Token 消耗与执行耗时的结构化与半结构化链路日…

2026/9/13 17:24:08 阅读更多 →
OpenSEO Alchemy 预览部署实践:Cloudflare Access 共享边界、PR 暂存环境到生产割接的完整链路

OpenSEO Alchemy 预览部署实践:Cloudflare Access 共享边界、PR 暂存环境到生产割接的完整链路

OpenSEO Alchemy 预览部署实践:Cloudflare Access 共享边界、PR 暂存环境到生产割接的完整链路 【免费下载链接】open-seo Open source alternative to Semrush and Ahrefs 项目地址: https://gitcode.com/GitHub_Trending/op/open-seo OpenSEO(一…

2026/9/13 17:24:08 阅读更多 →
K8s Gateway API 与智能体流量灰度切流实战

K8s Gateway API 与智能体流量灰度切流实战

K8s Gateway API 与智能体流量灰度切流实战在 Kubernetes 集群中部署与迭代大语言模型(LLM)推理微服务与多智能体(Agent)中枢时,传统的 Kubernetes Ingress 规范由于缺乏对现代复杂流量治理(如权重精确分流…

2026/9/13 17:24:08 阅读更多 →

最新新闻

STM32F407 FSMC驱动7寸800x480电容屏:时序、触摸与刷新优化实战

STM32F407 FSMC驱动7寸800x480电容屏:时序、触摸与刷新优化实战

简介:面向STM32F4系列单片机的七英寸800480分辨率TFT LCD电容触摸屏驱动代码包,适用于嵌入式显示与触控交互开发,重点解决屏幕初始化、图像绘制、触摸坐标解析等常见问题。压缩包共235个文件,以123个.h头文件和108个.c源文件为主体…

2026/9/13 18:12:28 阅读更多 →
氮化镓充电器原理与实战:从器件特性到选购避坑

氮化镓充电器原理与实战:从器件特性到选购避坑

1. 为什么氮化镓正在悄悄“吃掉”你桌面上的充电器?这两年,如果你留意过数码配件柜台,或者拆开过新买的笔记本原装充电器,大概率会发现一个共同点:体积比五年前小了一半,重量轻了三分之一,但输出…

2026/9/13 18:12:28 阅读更多 →
authelia-gen docs manage 命令详解:Authelia 文档生成器的受管文档与架构决策记录(ADR)工具链

authelia-gen docs manage 命令详解:Authelia 文档生成器的受管文档与架构决策记录(ADR)工具链

authelia-gen docs manage 命令详解:Authelia 文档生成器的受管文档与架构决策记录(ADR)工具链 【免费下载链接】authelia The Single Sign-On Multi-Factor portal for web apps. OpenID Certified™ and Post-Quantum Cryptography Ready. …

2026/9/13 18:12:28 阅读更多 →
PSO-SVM回归预测:粒子群优化支持向量机参数实现

PSO-SVM回归预测:粒子群优化支持向量机参数实现

简介:这是一套基于Matlab的PSO-SVM回归预测完整程序,适用于需要处理多变量输入回归预测的算法研究人员、研究生及相关工程技术人员。代码利用粒子群算法自动搜索支持向量回归机的惩罚因子c与核函数参数g,避免人工反复试参,并结合l…

2026/9/13 18:12:28 阅读更多 →
Twitter情感分析全栈实战:从TF-IDF到LoRA微调

Twitter情感分析全栈实战:从TF-IDF到LoRA微调

简介:本资源是一套面向机器学习与自然语言处理初学者及进阶学习者的Twitter情感分析实战项目,聚焦文本分类、特征工程、模型训练与评估全流程。资源包含23个文件:20个可直接运行的Python脚本(覆盖LSTM、CNN、XGBoost、Lightning、…

2026/9/13 18:12:28 阅读更多 →
Nuclear 安装指南:全平台发行版选择、macOS 放行与自动更新机制详解

Nuclear 安装指南:全平台发行版选择、macOS 放行与自动更新机制详解

Nuclear 安装指南:全平台发行版选择、macOS 放行与自动更新机制详解 【免费下载链接】nuclear Streaming music player that finds free music for you 项目地址: https://gitcode.com/GitHub_Trending/nu/nuclear 本文以 Nuclear 官方用户手册中的安装文档&…

2026/9/13 18:11:28 阅读更多 →

日新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

周新闻

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验 【免费下载链接】ai The AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and ag…

2026/9/13 0:00:24 阅读更多 →
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化

Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化 【免费下载链接】refine A React Framework for building internal tools, admin panels, dashboards & B2B apps with unmatched flexibility. 项目地址: https://gitcode.com/GitH…

2026/9/13 0:00:24 阅读更多 →
Flutter应用改名全指南:从Android到iOS的配置与工具实践

Flutter应用改名全指南:从Android到iOS的配置与工具实践

刚接一个外包项目时,甲方要求把工程里临时用的应用名改成正式产品名。我本来觉得“改名”这种小事,打开配置文件改一行不就完了?结果真动手才发现,Flutter项目里“应用名称”根本不是一处配置,而是一整套散落在 Androi…

2026/9/13 0:00:24 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/13 16:51:11 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/12 18:29:34 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/12 19:02:44 阅读更多 →