<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Agent on CAO ZUOHUA</title><link>https://caozuohua.github.io/categories/agent/</link><description>Recent content in Agent on CAO ZUOHUA</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 28 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://caozuohua.github.io/categories/agent/index.xml" rel="self" type="application/rss+xml"/><item><title>Agent 的记忆：Hermes-Lite 如何用 5 层结构解决「鱼的难题」</title><link>https://caozuohua.github.io/posts/2026-07-01-agent-memory-5-layer-architecture/</link><pubDate>Sun, 28 Jun 2026 00:00:00 +0000</pubDate><guid>https://caozuohua.github.io/posts/2026-07-01-agent-memory-5-layer-architecture/</guid><description>&lt;blockquote&gt;
&lt;p&gt;人类 chatbot 最尴尬的瞬间：第二次见面完全不认识你。Agent 的记忆系统怎么同时做到持久化、低成本、不丢上下文？我深入 Hermes-Lite 源码写了一个月，拆解出 5 层架构。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="从鱼的难题开始"&gt;从「鱼的难题」开始&lt;/h2&gt;
&lt;p&gt;用过 ChatGPT 的人都知道一个痛：&lt;strong&gt;下次打开，它完全不记得你了&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;对一次性聊天这没问题。但对个人助理——帮你管理 200 条知识库、追踪几个项目的进度、记住你的偏好——这等于每次都要把整段友情重来。&lt;/p&gt;
&lt;p&gt;我做 QPC（个人知识库）时就被这个问题卡过。后来折腾 Hermes-Lite、nanobot，逐步摸到一条可行的路。这篇文章从 Hermes-Lite 的实际源码出发，拆解它的 5 层记忆架构，看看一个 Agent 是怎么解决「鱼的难题」的。&lt;/p&gt;
&lt;h2 id="总览5-层架构"&gt;总览：5 层架构&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌─────────────────────────────────────────────┐
│ Layer 1: 持久记忆 (MEMORY.md / USER.md) │ ← 跨会话，纯文本
├─────────────────────────────────────────────�
│ Layer 2: 会话压缩 (ContextCompressor) │ ← 长对话不爆
├─────────────────────────────────────────────┤
│ Layer 3: 会话检索 (session_search + FTS5) │ ← 历史不丢
├─────────────────────────────────────────────�
│ Layer 4: 增量写入门控 (Nudge 机制) │ ← 该记就记
├─────────────────────────────────────────────�
│ Layer 5: 原子性保障 (fcntl + 临时文件) │ ← 不丢不坏
└─────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;每一层解决一个独立问题，层与层之间不耦合。下面逐层拆解。&lt;/p&gt;</description></item></channel></rss>