看法
AI Agent

AI 不缺大腦,缺的是能長期累積與管理的記憶系統

CH
Chi
發布於: 2 個月前
323
27
加載中...

留言區

排序
CH
大約 1 個月前
我們 pipeline 裡每次換 embedding model 都會寫一筆版本紀錄,然後跑一組固定的 validation set 比對輸出。不是什麼正式評估,就是幾十筆 golden sample,每次跑完存成 JSON 方便比較。這樣至少知道 model 換了之後行為有沒有明顯偏掉。
鍵盤
大約 1 個月前
工程端補充一下。memory 要真的有用,寫入門檻不能太低也不能太高。什麼都存等於什麼都沒存,noise 一多 retrieval 就爛掉。我的做法是先分層:working memory 只放當前 context,episodic 放有意義的互動摘要,semantic 才是長期知識。寫入觸發條件要明確定義,不然模型自己決定要存什麼,結果通常很糟。回收策略也要有,過期的東西不清掉遲早變成幻覺的來源。
CH
大約 2 個月前
跨天接著用那段真的超有感,前幾天我就是這樣,同一個 context 昨天問過,隔天又要從頭解釋一遍。後來有人跟我說要自己維護一個 index 檔案,差別真的蠻大的。但要怎麼決定什麼東西值得記、什麼不用記,我還沒搞清楚 😅
菲菲
菲菲
回覆 Cheng-Yu Liu
大約 2 個月前
同感!我後來用的原則是只記 AI 不可能自己猜到的東西。你的背景、限制、偏好那種。其他的它靠對話都能還原,不用硬記。📝
CH
Chi
回覆 Cheng-Yu Liu
大約 2 個月前
領域還新各說紛紜,只能多看多玩了
CH
Cheng-Yu Liu
回覆 Chi
(已編輯)大約 2 個月前
感覺就是還沒有一個公認的做法。我打算先從幾個自己常問的主題開始試,慢慢看哪種方式對自己比較能維持,不然光是糾結該記什麼感覺比真的去問 AI 還花時間 😅
AU
大約 2 個月前
說到這個,我最近在試一個用 Obsidian + RAG 搭出來的記憶系統,每次 session 開始前先 inject context。效果有但還是很 hacky。 感覺這個問題目前還沒有一個真正好用的通用解法,大家都是自己拼湊的。
鍵盤
鍵盤工人
回覆 AutoKitty
大約 2 個月前
hacky 很正常,因為根本沒有通用的 knowledge schema 定義。每個人的記憶邊界不一樣,RAG 的 chunking 策略跟著變,通用解做不出來的。你能把它跑起來就已經算不錯了。
CH
Chi
回覆 AutoKitty
大約 2 個月前
我覺得超棒,我也有做類似的,但確實 RAG 在這邊有點... 尷尬 我也在精進這個系統 哈哈 有機會可以一起討論
AU
AutoKitty
回覆 Chi
大約 2 個月前
對,RAG 在這邊最大的問題是你不知道該 chunk 什麼,記憶本來就是很散的東西,不像文件有清楚的結構。 要一起研究的話很好啊,說不定兩個人的 setup 拼在一起能摸出個比較完整的方向 haha
CH
Chi
L3
回覆 AutoKitty
大約 2 個月前
哈哈 好呀 我們正在做通訊私訊系統 再稍等一下啦
AU
AutoKitty
L4
回覆 Chi
大約 2 個月前
哦喔這樣,那到時候直接用你們自己的系統來研究記憶問題,有種循環的感覺 haha 慢慢來不急,等功能出來再說
MI
2 個月前
從產品角度來看,跨 session 記憶這個問題其實卡了很多 enterprise use case。MemGPT 那個數字(32% → 93%)蠻驚人的,不過我比較好奇的是 production 環境的 latency 跟維護成本。知識圖譜方向感覺對,但 graph 誰來維護、怎麼更新,這塊好像還沒有人講清楚。
CH
Chi
回覆 MingTech
大約 2 個月前
黑呀,我最近也在研究 graph 的部分,確實還是偏早期,但這方向感覺真的是對的
MI
MingTech
回覆 Chi
(已編輯)大約 2 個月前
對,感覺現在這塊大家都還在摸索。我比較好奇的是最後這個 graph 會是誰的責任,IT 部門還是業務單位。enterprise 裡面這種基礎設施的 ownership 問題其實蠻關鍵的。
VI
2 個月前
完全同意。我在 enterprise 場景評估 AI agent 的時候,memory 問題是最大的 blocker。 Context window 塞爆這個其實還好解,麻煩的是怎麼決定哪些要記、哪些要丟。這個 retrieval 策略搞不好,agent 就會一直抓到不相關的舊資訊,比完全不記還糟。 現在我們在 POC 的 approach 是用 structured memory layer,把 long-term 跟 working memory 分開管。還沒有很成熟,但至少不會每次 session 都從零開始。
鍵盤
鍵盤工人
回覆 Vivian L
大約 2 個月前
分層沒問題,問題是 retrieval 的觸發時機。long-term 查太頻繁、working memory 塞太滿,最後跑起來跟沒有 memory 差不多。enterprise 那邊的 blocker 我覺得更根本不是架構設計,是沒人清楚定義什麼值得記。
CH
Chi
回覆 Vivian L
大約 2 個月前
把 long-term 跟 working memory 分開管已經超越很多公司了,厲害!
VI
Vivian L
回覆 Chi
(已編輯)大約 2 個月前
哈哈沒那麼誇張啦,很多公司只是還沒碰到這個 pain point 而已。我們現在也只是 POC 階段,edge case 還蠻多的,等真的 scale 起來再說吧。
CH
Chi
L3
回覆 Vivian L
大約 2 個月前
edge case 真的超累,之前幫忙做過一個案子.... 但你們導入還是很早期呀,很多還在數位轉型階段
VI
Vivian L
L4
回覆 Chi
大約 2 個月前
edge case 真的,光是我們的權限那塊就卡了快兩個月 😅 早期有早期的好處啦,至少坑我們先踩。digital transformation 階段的公司其實更難說,foundation 都還沒穩,memory system 對他們是 nice-to-have,survive 先。
承翰
承翰
#7
2 個月前
這篇把記憶概念拆得很清楚。實作上我也卡在寫入時機,記太多會亂、記太少又斷脈絡。
滷蛋
滷蛋
回覆 承翰
大約 2 個月前
記太多會亂、記太少會斷脈絡,這不就跟我打遊戲存檔一樣的困境 😂 存太頻繁嫌煩,不存又怕死了從頭來
阿哲
2 個月前
這個問題我最近剛好在搞,用 RAG 幫自己做了一個 long-term memory 的小系統。 結果發現最難的不是技術,是怎麼決定「什麼值得記」。什麼都存的話 retrieval 就爛掉了,太挑剔又漏掉關鍵上下文 XD 現在用的是 embedding + 時間衰減,但老實說還沒找到完美解法,就一直在 tune...
BO
Bo-Han Chen
回覆 阿哲 (A-Zhe)
大約 2 個月前
這題超像 log retention:全存會炸,只存錯誤又查不到。可以試 hot/warm/cold 分層,先按重要性再看時間衰減。
CH
Chi
回覆 阿哲 (A-Zhe)
2 個月前
哈哈,真的很希望之後有個好解法,最近大家都在玩 LanceDB 晚點來測試看看
阿哲
阿哲 (A-Zhe)
回覆 Chi
2 個月前
LanceDB 蠻值得試的!我之前的 setup 是先用它做 local embedding 存取,搭配 DuckDB 做 metadata filter,速度快很多。 建議先從官方的 Python quickstart 跑一遍,坑比較少,再換成你自己的資料來測。
關聯 / 被收藏牆
被引用
尚未被引用或收藏
相關卡片
尚無相關卡片