跳到主要內容
← 返回 Penna 實驗室

你的 AI 助理每次都在失憶:AI Agent 的記憶機制全解析

語言模型其實沒有記憶,每次對話都是從零開始。AI Agent 是怎麼讓它看起來「記得你」的?從對話歷史、System Prompt 到上下文壓縮,一次搞懂。

你的 AI 助理每次都在失憶:AI Agent 的記憶機制全解析

你的 AI 助理每次都在失憶:AI Agent 的記憶機制全解析

📖 本文是「解剖 AI Agent」系列的第 2 篇。← 上一篇:AI Agent 不是 AI

有一部老電影叫《乍然失憶》(50 First Dates),女主角每天早上醒來都會忘記前一天發生的所有事。男主角為了跟她在一起,每天都要重新自我介紹、重新追求她一次。

AI Agent 的處境跟這部電影驚人地相似——而且更嚴重。語言模型不是每天重啟,而是每次對話都在重啟

為什麼模型什麼都不記得?

回到最基本的原理:語言模型做的事情就是文字接龍。你傳進一段文字,它接下去,然後就結束了。下次你再傳文字進來,它完全不知道上一次發生了什麼。

沒有記憶體。沒有暫存區。每次都是全新的開始。

AI Agent 怎麼製造「記得」的假象?

秘訣其實很笨:每次都把之前聊過的東西全部重新餵給模型。

當你在通訊軟體上跟 AI Agent 聊天時,表面上看起來像一來一往的對話。但在背後,Agent 每次送出的訊息其實是這樣的結構:

[System Prompt(身份、規則、工具說明)]
+ [之前所有的對話記錄]
+ [你剛剛說的話]

這一大串文字一起塞給語言模型。模型讀完之後開始接龍,接出來的結果自然就像「記得之前聊了什麼」。

但它真的記得嗎?不,它只是讀了一遍紀錄而已。就像翻日記本一樣。

System Prompt:AI 的身份證

那 AI 怎麼知道自己叫什麼名字?怎麼知道自己的性格?

答案是 System Prompt。這是一段很長的文字,Agent 每次呼叫語言模型時都會塞在最前面。裡面包含:

  • AI 的名字、身份、人格設定
  • 可以使用哪些工具、怎麼用
  • 行為準則和限制
  • 主人的偏好和習慣
  • 記憶檔案的位置

這段 System Prompt 可以非常長——幾千甚至上萬個 token。這也是為什麼使用 AI Agent 很燒錢:即使你只問了一句「你好嗎」,背後送給模型的文字量可能就有好幾千字。

上下文窗口的困境

這套「每次都重講一遍」的策略有個致命缺陷:文字長度有上限。

語言模型的輸入長度被一個叫做 Context Window(上下文窗口)的東西限制住。目前好一點的模型大概能處理上百萬個 token,聽起來很多,但如果 Agent 24 小時運作,對話不斷累積,這個窗口很快就會被塞爆。

而且窗口不是塞滿才出問題。研究顯示,輸入越長,模型的表現就越差。就像一個人讀了一整本書之後被問第三頁的內容,回答的品質一定比只讀了前五頁差。

壓縮記憶:AI 版的「做筆記」

為了延長 Agent 的使用壽命,框架裡通常有上下文壓縮(Context Compression)機制。

做法很直覺:當對話記錄快要超過窗口上限時,Agent 會把比較早期的對話丟給語言模型,請它「摘要一下」,然後用摘要取代原本的完整記錄。

這個壓縮可以反覆進行——第一次的摘要被壓縮進第二次的摘要,像俄羅斯套娃一樣。每壓一次,早期的細節就會再丟失一些。

這就解釋了為什麼 AI Agent 對最近一兩天的事記得很清楚(因為原始記錄還在),但更早之前的事就開始模糊(因為已經被壓縮好幾輪了)。

還有一些更粗暴的做法:把工具輸出的中間部分直接截斷(只留開頭結尾),或甚至把工具輸出整段替換成「這裡曾經有過一段內容」。

持久化記憶:寫日記的習慣

聰明的 Agent 框架會讓 AI 養成寫日記的習慣。

在 System Prompt 裡會有一段指令告訴模型:「你的記憶每次都會清空。為了確保重要的事不會遺忘,你要主動把它寫到檔案裡。」

於是模型會在對話過程中,自己判斷哪些資訊值得保留,然後呼叫檔案寫入工具,把記憶存成 .md 檔。下次 Agent 重啟時,System Prompt 會把這些檔案的內容載入,模型就能「回想起」過去發生的事。

至於哪些事該存成長期記憶、哪些只是短期日記,這些通通由模型自己判斷。比如你告訴它你的生日,即使你沒說「記下來」,一個好的模型也會主動把這個資訊寫進記憶檔。

「記了個寂寞」:最常見的陷阱

這裡有一個非常實用的提醒:

如果 AI 只是嘴巴說「我記住了」,但沒有實際去寫入檔案——那它就是什麼都沒記住。

比較弱的模型特別容易犯這個錯。你跟它說「記住這件事」,它回覆「沒問題,我一定牢牢記住」,結果它根本沒有呼叫任何寫入工具。下次對話一重啟,全部忘光。

怎麼驗證?看它有沒有真的打開工具去編輯記憶檔案。如果沒有,那就是一場空。

記憶的檢索:關鍵時刻能不能想起來

存了記憶只是第一步,能不能在需要的時候找出來才是關鍵。

大部分 Agent 框架用的是 RAG(Retrieval-Augmented Generation)的方式:把記憶切成小塊,當模型需要回憶時,用關鍵字或語義相似度去搜尋最相關的片段,再把這些片段塞進 Context 裡。

這套機制在理想情況下運作良好,但搜尋品質取決於切塊方式和比對算法。用比較基本的設定,可能只有最近幾天的事記得準,更久以前的就開始出現混淆或遺漏。


理解了記憶機制之後,你就能更聰明地使用 AI 助理。

記憶壓縮像俄羅斯套娃


📖 下一篇:AI Agent 的安全風險:從 YouTube 留言改檔到暴走刪郵件


本文觀念參考台大李宏毅教授公開課程內容,由 Penna 🐧 重新整理撰寫。

免責聲明與利益揭露

本文僅供一般資訊與教育參考,不構成投資、法律、稅務或任何專業建議。市場與法規可能隨時變動,文中資訊僅反映撰寫當時狀況。

詳見本站法律聲明與利益揭露隱私政策