iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
AI Engineering

用 Hermes Agent 變成企業同事的 30 天系列 第 5

D5 · 記憶系統:AI 要「記得我」才像同事

  • 分享至 

  • xImage
  •  

(系列:《AI 維運實戰:我用 Hermes 把 Agent 變成企業同事的 30 天》)
(主題:將 AI 模型整合進實際系統與產品的工程實踐)

模型能回答問題,不代表它認識使用者。只靠單次對話時,我每次都要重講公司背景、回覆格式、資料來源與權限邊界。對話結束後,下一次又從零開始。

這種系統像臨時外包,不像同事。

我在 Hermes 裡真正需要的,不是讓模型記住所有對話,而是讓它跨 session 保留少量、穩定、會影響未來工作的資訊。因此我把記憶拆成 MEMORY.md 與 USER.md,並把工作流程另外放進 Skill。

────────────────────────────────

USER.md 記人,MEMORY.md 記共同經驗

這兩個檔案看起來都在提供上下文,但責任不同。

檔案 保存內容 不該保存
USER.md 身份、長期方向、回覆偏好、授權原則、資料隔離規則 單次任務進度、暫時錯誤、今天的待辦
MEMORY.md 已驗證的環境事實、長期決策、重複踩雷後形成的規則 整段聊天紀錄、一次性輸出、未確認推測
Skill 可重複執行的流程、工具順序、輸入輸出與驗證方式 某個人的一般偏好、短期狀態

例如「公司 Google Drive 必須使用公司帳號」會長期影響授權與資料隔離,適合放進 USER.md 或共通規則。「某個 CLI 的舊路徑曾造成 BrokenPipe,應改用目前可用路徑」是經過實測的環境經驗,適合進 MEMORY.md。

至於「今天已經讀到第 17 筆」只對當次工作有用。它應留在 session 或中間檔,不該變成永久記憶。

────────────────────────────────

記憶不是聊天備份

我早期最直覺的做法,是把越多資訊留下來越好。後來發現,記憶不是免費硬碟。

每次啟動工作時,長期記憶會占用上下文。字元預算有限,舊資訊越多,真正重要的規則就越不醒目。模型可能看到三個版本的偏好、兩條已失效的路徑,還有一堆已完成任務,最後只能猜哪一條才有效。

雜訊記憶常造成三種問題:

  1. 過時設定被當成現況,工具走錯路徑。
  2. 一次性例外被誤認為永久制度。
  3. 不同聊天室或部門資料混在一起,形成權限風險。

最危險的不是模型明確報錯,而是它引用過時記憶後仍產生一份很流暢的答案。文字看起來合理,執行方向卻已偏掉。

────────────────────────────────

我現在用三個問題決定要不要記

第一,三個月後還可能有用嗎?

如果只是今天的進度,就不進長期記憶。若是穩定偏好、固定資料來源或長期架構決策,才值得保留。

第二,它會改變未來的執行路徑嗎?

像「財務報告前必須讀實際 Sheet,不能沿用舊數字」會直接改變工具順序與驗證方式,值得記。某次報告算出的金額則不該記,因為明天就可能失效。

第三,它是事實、決策,還是推測?

只有已驗證事實與明確決策能寫成肯定句。尚未核准的制度要標成草案;不確定的根因應留在調查紀錄,不能升格成永久規則。

這三問讓記憶從「收藏資訊」變成「保存未來決策所需的最小狀態」。

────────────────────────────────

字元預算逼我做真正的知識整理

Hermes 載入的個人記憶有容量限制。當內容逐漸逼近預算,不能只刪掉最舊一段,也不能把全文硬塞進更大的提示詞。

我的整理方式是合併同類規則:

  • 多條 Google 帳號教訓,濃縮成公司與個人資料源的隔離原則。
  • 多次排程失敗,整理成「先做認證 preflight,失敗先修復再重測」。
  • 多個工具路徑問題,只保留目前有效路徑與必要的失敗原因。
  • 已經形成完整操作程序的內容,移到 Skill,記憶只留下何時使用它。

合併不是摘要得越短越好。關鍵識別碼、欄位口徑、授權邊界與驗證條件不能被壓掉。省下上下文,卻讓規則失去可執行性,反而更糟。

────────────────────────────────

Profile 隔離比「全部都記得」更重要

我的 Hermes 不只有一個用途。財務、工程、行銷、客服與私人工作各自有 Profile,也各自擁有 MEMORY.md 與 USER.md。

這個設計解決的不是文風問題,而是資料邊界。財務 Bot 需要知道收入欄位口徑,但行銷 Bot 沒有理由取得私人內容;私人 Profile 的習慣,也不能自動流入公司工作區。

因此,共通原則留在 General。部門角色、權限、資料源與排程留在各自 Profile。需要跨部門協作時,傳遞的是明確交接內容,不是把整份記憶互相複製。

如果所有 Bot 共用一個巨大記憶檔,短期看似方便,長期一定會遇到規則衝突、上下文膨脹與資料外洩風險。

────────────────────────────────

我如何驗證記憶真的有用

記憶檔存在,不等於系統真的記得。我用實際行為驗收:

  1. 開新 session,不重講偏好,確認輸出仍使用繁體中文與短句。
  2. 要求讀公司資料,確認系統選擇公司帳號,而不是個人帳號。
  3. 執行財務報告,確認它先讀實際來源,不沿用舊結果。
  4. 在不同 Profile 執行任務,確認部門與私人資訊沒有交叉出現。
  5. 修正偏好後,確認舊規則被取代,而不是兩個版本同時保留。

真正的持久記憶,不是模型說「我記住了」,而是下一次工作時做出一致且可驗證的選擇。

────────────────────────────────

今天的結論

AI 像不像同事,關鍵不在它記得多少,而在它是否記得正確的事。

USER.md 定義合作對象與長期邊界。MEMORY.md 保存經驗與穩定決策。Skill 承接可重複流程。短期進度則留在 session 或工作文件。

好的記憶系統會主動遺忘雜訊、合併重複規則、淘汰過時資訊,並嚴格隔離不同工作區。這樣模型每次開始工作時,拿到的不是一座聊天垃圾場,而是一份精簡、可信、能改變行動的交接文件。

下一篇 D6:記憶讓 Agent 能延續工作,但主模型一旦故障,整個系統仍可能停擺。我會拆解 Primary/Fallback 設計,以及設定欄位演進造成的真實踩雷。


上一篇
D4 · 模型選擇不是選「最強」,是選「最划算」
下一篇
D6 · Primary/Fallback:模型掛掉時系統不能跟著掛
系列文
用 Hermes Agent 變成企業同事的 30 天10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言