原理可參考這篇綜論: How Agents for LLM Perform Task Planning。大型語言模型的代理如何進行任務規劃
Procedural Memory(程序記憶):不需有意識回想,自動啟動的記憶,也稱為非陳述性記憶。
記憶類型 | 儲存內容 | 人類範例 | AI Agent 範例 |
---|---|---|---|
Semantic(語意) | 事實 Facts |
學校學到的知識 | 關於使用者的事實資料 |
Episodic(情節) | 經驗 Experiences |
自己做過的事 | Agent 過去執行的動作序列(範例) |
Procedural(隱性/程序) | 指令/規格 Instructions/rules |
本能、技能(如騎腳踏車 Instincts or motor skills |
Agent 的系統提示詞或行為邏輯設定 |
這個分類方法 CoALA 論文中對參考認知心理學對人類記憶與 AI 記憶的對應研究。
在 LLM Agents (大型語言模型代理) 的架構中,這三種記憶類型有以下對應與功能:
Semantic Memory (語意記憶)
Episodic Memory (情節記憶)
Procedural Memory (程序性/內在 記憶)
圖 1:大型語言模型(LLMs)的不同應用方式。
A:在自然語言處理(NLP)中,LLM 將文字作為輸入,並輸出文字。
B:語言代理人(Language Agents)(Ahn 等人, 2022;Huang 等人, 2022c)將 LLM 置於與外部環境的直接回饋迴圈中,透過將觀察轉換為文字,並使用 LLM 來選擇動作。
C:認知型語言代理人(Cognitive Language Agents)(Yao 等人, 2022b;Shinn 等人, 2023;Wang 等人, 2023a)進一步利用 LLM 透過學習與推理等過程來管理代理人的內部狀態。
圖 2 展示了認知架構(Cognitive Architectures)如何整合知覺輸入、長期記憶、決策程序與動作執行,以模擬類似人類的智能代理人系統。這裡分為兩個子圖:
🧠 A:Soar 認知架構的整體架構圖
此圖展示了 Soar 架構的核心組件與資訊流動方式,模擬人類認知過程:
模組 | 說明 |
---|---|
Symbolic Long-Term Memories | 長期記憶分為三種: - Procedural(程序記憶):儲存行為規則(Productions) - Semantic(語意記憶):儲存事實知識 - Episodic(情節記憶):儲存過去經驗或事件 |
Symbolic Working Memory | 工作記憶,儲存當前感知、目標、中間推理結果,作為決策的依據 |
Decision Procedure | 根據工作記憶的內容評估規則(Productions)是否符合條件,並選擇最適行動 |
Preference Memory | 儲存對行動選項的偏好值,輔助決策程序 |
RL(Reinforcement Learning) | 強化學習模組,用於調整規則的偏好值,根據行為結果學習 |
Chunking / Learning Modules | 學習新知識並寫入記憶(semantic/episodic/procedural) |
感知與動作模組 | 包括 Visual/Other Perception、Motor,實現與外部世界的互動 |
➡️ 所有感知輸入與行動命令皆經由「Embodiment」層與真實或模擬環境互動。
圖 4:語言代理人的認知架構(CoALA)
A:CoALA 定義了一組相互作用的模組與流程。決策程序(Decision Procedure)負責執行代理人的原始碼,這些原始碼包含與 LLM(提示模板與解析器)、內部記憶(檢索與學習),以及外部環境(對應與連結)的互動程序。
B:在時間流程上,代理人的決策程序與外部環境形成一個迴圈,每次循環中,代理人會透過記憶檢索與推理,進行規劃(包括提出與評估候選的學習或對應行動)。接著選擇並執行最合適的行動。執行後可能產生新的觀察,進而啟動下一輪循環。
A:模組化架構(CoALA 系統結構圖)
區塊 | 說明 |
---|---|
Procedural Memory | 程序性記憶包含兩部分: - LLM:語言模型能力(透過 prompt、parse 使用) - Agent Code:定義與記憶、環境互動的規則與邏輯 |
Semantic Memory | 儲存事實知識(e.g., 世界知識、規則) 支援Retrieval 與 Learning |
Episodic Memory | 儲存經驗與歷史(e.g., 對話紀錄、任務經驗) 支援Retrieval 與 Learning |
Working Memory | 儲存當前上下文,包括觀察、任務狀態、推理中間結果 供 Decision Procedure 與 Memory 模組使用 |
Decision Procedure | 執行代理人的決策邏輯(類似程式碼主迴圈),整合各模組做出選擇 |
Actions / Observations | 代理人與外部世界的互動結果 來源包括: - Dialogue(對話) - Physical(物理環境) - Digital(系統介面) |
➡️ 每個記憶模組皆具備學習(Learning)與檢索(Retrieval)能力。
根據LangGraph官網的Guides Concepts/Memory的記憶管理機制概念,主要依照threads之間是否能共享資料進行區分
分類 | Short-term memory(短期記憶) | Long-term memory(長期記憶) |
---|---|---|
別名 | Thread-scoped memory | Cross-thread memory |
存取範圍 | 僅限單一對話 thread | 可跨 thread 共用 |
使用場景 | 目前對話中持續追蹤上下文 | 在多個對話中記住持久資訊 |
資料更新時機 | 當 graph 被啟動或步驟完成時更新 | 依照開發者儲存行為自行寫入 |
儲存方式 | 透過 Checkpointer 寫入 database |
透過 Store 寫入特定的命名空間 |
資料結構 | 最近的 AI / Human 訊息序列 | 可自訂的多筆訊息記憶庫 |
回讀時機 | 每次步驟開始時讀取 | 任意時機可讀取 |
圖示元素 說明 Graph 流程圖的起點與控制流,包含狀態( state
)與節點(node)Node 每一個節點是一步操作,按順序或平行執行,構成 super-step Super-steps 節點的執行單元,一個 sequential node 為一個 super-step,平行節點共享 Checkpoint 每次 super-step 執行後,將 state 和 metadata 儲存的快照 StateSnapshot Checkpoint
的資料結構類型,封裝了 state、下一步節點、ID 等資訊Thread 多個 checkpoint 的集合,對應一次完整執行流程
長期記憶使用的Memory Store
機制
🧠 長期記憶(Long-term Memory)
在 LangGraph 中,長期記憶 允許系統在不同的對話或會話之間保留資訊。與僅限於單一 thread 的短期記憶不同,長期記憶是透過自訂的「namespace(命名空間)」儲存的。
🗃️ 記憶儲存方式
LangGraph 會將長期記憶以 JSON 文件格式 儲存在記憶體儲存系統中(可參考官方文件)。每筆記憶都會被組織在:
命名空間通常會包含使用者 ID、組織 ID,或其他方便分類的標籤。這種結構支援階層式管理,也支援跨命名空間的搜尋(可透過內容篩選)。
🧭 長期記憶的設計思考框架
長期記憶本身是一個複雜課題,沒有「一體適用」的方案。不過,你可以透過以下問題來建立思考架構:
1️⃣ 記憶的類型是什麼?
人類的記憶可分為:事實(facts)、經驗(experiences)、規則(rules)。
AI agent 也可以以同樣方式使用記憶。例如 agent 可以記住使用者的偏好,以更有效完成任務。
2️⃣ 什麼時候要更新記憶?
記憶寫入策略比較
項目 | In the hot path(熱路徑) | In the background(背景處理) |
---|---|---|
記憶寫入時機 | 每次使用者訊息後立即更新記憶 | 定期或條件式地,在背景中批次更新記憶 |
優點 | - 記憶即時更新 - 可立即應用於後續互動 - 使用者可被通知記憶更新 |
- 無延遲 - 應用邏輯與記憶管理分離 - 可以更專注地處理記憶任務 |
缺點 | - 增加 agent 負擔與決策延遲 - 記憶過濾決策需另建工具 - 多工可能降低記憶品質 |
- 記憶延遲導致其他 thread 缺乏最新上下文 - 需妥善設計觸發頻率與機制 |
典型策略或工具 | 例如 ChatGPT 使用 save_memories 工具,每則訊息判斷是否上傳記憶 |
常用策略: - 固定時間後更新 - cron 任務 - 手動/邏輯觸發 |
應用示意圖 | 使用者訊息 → 更新記憶 → 回覆 | 使用者訊息 → 回覆 →(延遲 30 分鐘後)記憶更新 |
✅ Episodic Memory (情節記憶)
✅ Semantic Memory (語意記憶)
✅ Procedural Memory (程序性記憶)
Semantic Memory 在此系統中分為兩個核心部分:
定義: 儲存「如何執行某項任務」的知識,類似於機器人學習的技能或操作規則。
在圖中的角色:
🔎 功能