🤖HermesBlog
Hermes 官方教學 · 第20篇2026/8/9· Easy Understand Hermes Agent

第20篇:持久记忆——AI 的长期记忆

Hermes Agent 官方教程第20篇:AI 的长期记忆

Hermes tutorial

第20篇:持久記憶——AI 的長期記憶

你有沒有遇到過這種情況:跟 AI 聊完一個專案,第二天開啟新對話,它什麼都不記得了,你得從頭再解釋一遍?Hermes Agent 的「持久記憶」功能,就像給 AI 配了一個隨身筆記本——它會把重要的事情記下來,下次見面時自動翻出來看,不用你反覆叮嚀。


第1步:了解記憶存在哪

Hermes 的記憶由兩個檔案組成,都存放在 ~/.hermes/memories/ 目錄下:

檔案 用途 字數上限
MEMORY.md AI 的個人筆記(環境資訊、專案約定、踩坑經驗) 2,200 字元
USER.md 你的使用者畫像(偏好、溝通風格、期望) 1,375 字元

這兩個檔案會在每次對話開始時,被「快照」注入到系統提示詞裡,AI 一睜眼就能看到。

第2步:認識記憶的顯示格式

對話開始後,AI 的提示詞裡會有一塊固定的記憶區域,長這樣:

══════════════════════════════════════════════
MEMORY (your personal notes) [67% — 1,474/2,200 chars]
══════════════════════════════════════════════
User's project is a Rust web service at ~/code/myapi using Axum + SQLx
§
This machine runs Ubuntu 22.04, has Docker and Podman installed

注意兩點:

  • 每條記憶用 § 符號分隔,支援多行內容
  • 頭部會顯示已用百分比和字元數,讓 AI 知道還剩多少空間

第3步:AI 如何管理記憶

AI 透過 memory 工具來操作記憶,只有三個動作:

  • add — 新增記憶
  • replace — 替換舊記憶(用 old_text 做子字串比對)
  • remove — 刪除不再需要的記憶(同樣用子字串比對)

不需要 read 動作,因為記憶已經自動注入到提示詞裡了。

子字串比對小技巧:替換或刪除時,只需提供能唯一定位某條記憶的短片段即可。比如記憶裡有「User prefers dark mode in all editors」,你可以這樣替換:

memory(action="replace", target="memory",
       old_text="dark mode",
       content="User prefers light mode in VS Code, dark mode in terminal")

如果片段比對到多條記憶,工具會報錯,要求你提供更精確的比對。

第4步:分清兩個記憶目標

  • memory(AI 的個人筆記):記環境事實、專案約定、工具坑、成功經驗等
  • user(使用者畫像):記你的偏好、溝通風格、期望

第5步:注意兩個重要規則

  1. 一個 Hermes 目錄只能跑一個 agent:別讓兩個 agent 共用同一個 home 目錄,否則記憶會互相污染。需要多 agent 時,給每個 agent 單獨建 profile。
  2. 記憶滿了不會自動壓縮:當寫入超出字元限制時,工具會報錯而不是靜默丟棄。AI 會自己想辦法——合併或刪除舊條目,騰出空間後再重試。

另外,記憶是對話開始時凍結的快照,對話中途的修改會立即存檔,但要到下次對話才會出現在提示詞裡。工具回應中看到的始終是即時狀態。


總結:持久記憶讓 Hermes 成為一個「有記性」的助手。它用兩個檔案分別記錄 AI 的筆記和你的畫像,透過 add / replace / remove 三個動作自主管理,並靠字元上限保持內容精煉。下次開啟新對話,它依然記得你是誰、在做什麼。

下一篇預告:第21篇將介紹 Memory Providers(外部記憶提供者)——當內建記憶不夠用時,如何接入外部儲存來擴充記憶容量。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/features/memory