iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
AI Engineering

從 Stateless LLM 到 Agentic Memory:30 天打造會記憶的 AI Agent 系列

我將從一個 "聊完就忘" 的 Stateless Chatbot 開始,以適合新手的方式逐步實作 Context Management、Conversation History、Short-term Memory、Embedding、Semantic Search 與 Long-term Memory,再進一步處理 User Profile、記憶的重要性、更新、衝突與遺忘。最後加入 Tool Calling 與 Agent Loop,打造能自行判斷何時記住、找回、更新與遺忘資訊的 Agentic Memory AI Agent。

參賽天數 23 天 | 共 23 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11|什麼事情值得 AI 記住?從聊天紀錄到 Memory

昨天我們完成了 Memora 的 Short-term Memory。它能保存目前這段對話、壓縮較舊的內容,並在 Input Token Budget 內建立下...

2026-09-02 ‧ 由 KeleChiang 分享
DAY 12

Day 12|讓 LLM 自動抽取 Memory:從對話找到重要資訊

昨天我們第一次把 Conversation History 和 Memory Candidate 分開。目前使用者必須明確輸入: remember 我的英文程度...

2026-09-03 ‧ 由 KeleChiang 分享
DAY 13

Day 13|Structured Output:把 Memory 變成真正可以存的資料

昨天 Memora 已經可以自動分析 User Message,找出可能值得保存的資訊。 例如輸入: 我的英文程度是 B1,我想加強旅遊英文。 Memory...

2026-09-04 ‧ 由 KeleChiang 分享
DAY 14

Day 14|Embedding:AI 怎麼知道兩段記憶「很像」?

昨天我們使用 Structured Output,把抽取結果整理成: MemoryCandidate( content="使用者想加強旅遊英文...

2026-09-05 ‧ 由 KeleChiang 分享
DAY 15

Day 15|不用 Vector Database,自己實作一次 Semantic Search

昨天我們已經替每一筆 Memory Candidate 建立 Embedding,也寫好了 cosine_similarity(),可以比較兩段記憶在語意上有多...

2026-09-06 ‧ 由 KeleChiang 分享
DAY 16

Day 16|Vector Database 到底在做什麼?

昨天我們沒有使用Vector Database,而是自己完成了一次Semantic Search: Query ↓ Query Embedding ↓ 逐一比較...

2026-09-07 ‧ 由 KeleChiang 分享
DAY 17

Day 17|打造第一個 Long-term Memory Store

昨天我們把 Memory 從 Python List 搬進 Chroma,讓 Vector Database 負責保存 Record 與執行 Semantic...

2026-09-08 ‧ 由 KeleChiang 分享
DAY 18

Day 18|讓 AI 找回過去:Memory Retrieval

昨天我們把 Chroma 的 EphemeralClient 改成 PersistentClient,並建立: LongTermMemoryStore 現在...

2026-09-09 ‧ 由 KeleChiang 分享
DAY 19

Day 19|Memory ≠ User Profile:記住事情和認識一個人的差別

昨天Memora 完成了 Long-term Memory 的第一個完整循環。一般聊天時,它會先根據目前的 User Input 搜尋 Chroma,取得通過門...

2026-09-10 ‧ 由 KeleChiang 分享
DAY 20

Day 20|Semantic Memory vs Episodic Memory:AI 到底記得什麼?

昨天我們把 Long-term Memory 和 User Profile 分開了。 現在 Memora 會直接從 user_profile.json 取得目前...

2026-09-11 ‧ 由 KeleChiang 分享