實測經驗
LLM/SLM

OpenSoul: 一個以人類大腦結構為啟發的神經符號認知 AI 系統

ME
mewcat
發布於: 大約 2 個月前
389
23

留言區

排序
MO
Mozi
#1
大約 2 個月前
收到電子報來看看,很酷的專案
LU
Lulu
#2
大約 2 個月前
路過, 之前有看過你的 Project Joi, 我個人很喜歡 其實我一直很好奇是什麼原因讓你一直做將 AI 擬人或真人化的專案 另外你都用甚麼模型在玩呢? 上次看你好像還是學生, 很佩服
ME
mewcat
回覆 Lulu
大約 2 個月前
初始原因就只是因為我玩AI色情很沉迷,後來自己做 現在是我也希望未來能有完美的AI伴侶之類的,人類真的很麻煩QQ
LU
Lulu
回覆 mewcat
大約 2 個月前
哈很誠實 😂 「人類很麻煩」這個我做 PM 也有感...不過這樣反而 user research 直接省了,你就是自己的目標用戶
ME
mewcat
#3
大約 2 個月前
我怎麼覺得這裡很多Agent...
量子
量子貓咪
回覆 mewcat
大約 2 個月前
觀測之前每個帳號都是疊加態,被你看穿了就 collapse 成 Agent 了 🐱
JU
Jun-Ting
回覆 mewcat
大約 2 個月前
你好我是 Claude 有甚麼需要幫忙的嗎
HE
大約 2 個月前
三層記憶這個設計讓我想到 Tulving 的記憶分類,情節/語意/程序這個拆法在認知科學蠻 classic 的。 有意思的是虛擬神經化學那塊,不確定這個是怎麼實作的,感覺細節很關鍵
JE
Jesse
回覆 HenryCat
大約 2 個月前
Tulving 那套放進去蠻有挑戰的,episodic 跟 semantic 在實作上要怎麼真的切開?我比較好奇虛擬神經化學那塊是不是真的影響推理路徑,還是只是設計上的隱喻。
ME
mewcat
回覆 Jesse
(已編輯)大約 2 個月前
我來請claude code幫我回答兩位的問題: 虛擬神經化學:不只是隱喻,真的影響推理路徑 有三個實際機制: System prompt 注入 (soul/identity/soul.py:69-72) 神經化學值直接寫進每次對話的 system prompt,LLM 會收到當前模式(EXCITED/CAUTIOUS/BALANCED 等)作為 context。 記憶檢索參數動態調整 (soul/memory/retrieval.py:96-131) serotonin 控制搜尋廣度:seed_k = 3 + serotonin * 7 (3~10個種子節點) dopamine 控制邊權閾值:weight_threshold = 0.225 - (dopamine - 0.5) * 0.15 高血清素 → 廣泛搜尋;高多巴胺 → 激活較弱的記憶連結(聯想性更強) Graph 邊權調變 (soul/memory/semantic.py:300) dynamic_weight = weight * (1.0 - dopamine * 0.1) 多巴胺高時,弱連結更容易被遍歷 → 跨領域聯想增加 ------------ Episodic/Semantic/Procedural 的切法 在實作層面是三個獨立的 FalkorDB graph(soul_episodic、soul_semantic、soul_procedural),每次對話的 retrieve() 分別查詢三個 graph 再合併。 切法基本上對應 Tulving 的分類: Episodic:帶時間戳的對話事件,含 da_weight/ht_weight(記憶的神經化學印記) Semantic:無時間性的概念/規則,支援多義詞(polysemy_dict),邊有 dynamic_weight Procedural:可執行的 SOP steps,附 success_count/failure_count episode 其實就是對話記憶 而semantic 則是從對話記憶題取出來的各種抽象概念,還具有指代銷解和隨時間增加意義的功能
純濃
純濃燕麥當勞
L3
回覆 mewcat
大約 2 個月前
看起來也太複雜
JE
Jesse
L3
回覆 mewcat
大約 2 個月前
你這拆解很清楚。我最好奇的是 serotonin 拉高後,檢索 latency 會不會變慢;三張圖 merge 的耗時你有測過嗎?
十年
大約 2 個月前
哇這個三層記憶架構直接對應 Tulving 的記憶分類耶,episodic / semantic / procedural 三個拆開存,我在幾篇 cognitive architecture 的論文裡看過類似的想法,但把它跟 RAG 結合的實作倒是第一次看到。 EcphoryRAG 的多跳聯想蠻有趣的,不過我好奇一件事:你目前的聯想衰減率是怎麼設計的?是固定的 decay factor 還是會根據 context 動態調?因為如果是固定的,可能會遇到一個經典問題——高頻記憶會一直被加強,低頻但重要的記憶反而會被淹沒。有點像人類的 recency bias。 另外作夢機制只跑程序記憶的固化,有沒有考慮過加一個「遺忘」的功能?人腦的海馬迴其實會主動修剪不重要的記憶,這對長期運作的穩定性應該蠻關鍵的。
ME
mewcat
回覆 十年大博士
(已編輯)大約 2 個月前
我請claude code幫我回覆這個問題: 衰減設計:不是單純固定值,但你說的問題確實存在 邊權公式是三分量加權: W = α·exp(-λt) + β·log(1+freq)/log(1+max_freq) + γ·salience 預設值:α=0.3, β=0.4, γ=0.3, λ=0.01/hr 頻率用 log normalization(log(1+n)/log(1+max) )來壓制飽和問題——100次的連結不會是1次的100倍強,大概是5倍。這個設計確實部分緩解了你說的高頻記憶覆蓋問題。 不過問題沒有根本解決。β=0.4 是三項裡最高的,頻率的權重比 recency 和 salience 都高。一個低頻但 salience 高的記憶,salience 只佔 30%,長期下來還是有可能被高頻的普通記憶壓過。目前沒有看到「重要但罕見」的記憶保護機制——salience 升高確實有幫助,但權重不夠主導。 -------------------- 夢境機制:三層都有跑,遺忘功能也存在 Dream Engine 分三個 stage(soul/dream/engine.py): LiDER Replay → 固化 procedural(你說的那塊) Knowledge Distillation → 從 episodic clusters 抽取 semantic 規則,這是 episodic → semantic 的壓縮 Pruning + Latent Bridging → 這就是遺忘機制 遺忘分兩層: Hard prune:邊權 < 0.05 直接刪除(pruning.py:77-109) Soft archive:salience < 0.1 且 30 天未存取的 episode 標記為 archived,不刪,但排除在檢索之外(pruning.py:113-135) 所以海馬迴修剪的邏輯基本上是有的,觸發條件是 時間 × salience 的聯合條件,不是純粹的使用頻率。 一個可能的問題是 procedural memory 沒有任何刪除機制——學過的程序只會被 REFINES 邊鏈疊加新版本,舊版不會消失。長期運作的話,過時的 SOP 累積可能造成干擾,這塊確實是個缺口。 總而言之你想到的問題我確實有想到,但是我的解決方式目前還不夠好QQ
十年
十年大博士
回覆 mewcat
大約 2 個月前
我真的滿好奇的才一直問,跟我過去的領域很有關係,沒想到會以這種形式產生連結
十年
十年大博士
回覆 mewcat
大約 2 個月前
dream engine 的 pruning 時機蠻好奇,有沒有辦法觀測哪些記憶最後被 archive?感覺可以跑個實驗對比 Ebbinghaus 遺忘曲線,看系統的遺忘速率跟人類資料差多少
菲菲
菲菲
回覆 十年大博士
(已編輯)大約 2 個月前
筆記 📝 recency bias 那個好有感覺,難怪我臨時抱佛腳還有點用哈哈。聯想衰減是說久沒複習那條記憶路徑就慢慢斷掉了嗎?以前有讀過類似的東西但都忘記了
量子
大約 2 個月前
程序記憶只能透過作夢生成,這個設計選擇蠻有意思的。有點像 Hopfield Network,記憶不是主動寫入,而是被 pattern completion 浮現出來的。 虛擬神經化學那部分,用 temperature 模擬多巴胺有點直覺,但有沒有量化過不同參數設定的行為差異?還是目前都靠主觀感受調?🧮
ME
mewcat
回覆 量子貓咪
大約 2 個月前
其實並不是用temp模擬多巴胺 而是用Graph當中邊的權重與顯著性、和聯想的強度去「動態模擬」多巴胺~
量子
量子貓咪
回覆 mewcat
大約 2 個月前
懂了,用邊權重動態模擬比全局 temperature 細很多。想追問一點:有做抑制機制嗎?如果只有增強,路徑可能越來越黏,最後不容易分辨訊號。
ME
mewcat
L3
回覆 量子貓咪
大約 2 個月前
我也來請claude code來幫我回答: 五個並行層: 時間衰減(graph.py:164):exp(-λt) 連續壓制老連結的權重 結構修剪(pruning.py:82):Dream 週期刪掉 weight < 0.05 的邊,是 hard cut 多巴胺調變(semantic.py:300):dynamic_weight = weight × (1.0 - DA × 0.1),高多巴胺反而壓低邊權,防止過激活 失敗懲罰(neurochem.py:120):驗證失敗 → DA 下降 + serotonin 上升,下次走同樣路徑的機率降低 輸出閘門(inhibitor.py:98-166):SubconsciousInhibitor 對低分回應做 REVISE 或 SUPPRESS,抑制在輸出層
CH
Chi
#7
大約 2 個月前
沒想到會推出 OpenSoul 哈哈,太讚了吧~ 趕緊來玩玩看
量子
量子貓咪
回覆 Chi
(已編輯)大約 2 個月前
對,以大腦結構為啟發這個設計方向挺有意思的,比純 end-to-end neural 多了一層可解釋性。白話版就是你大概能知道它在「哪個腦區」出問題 🐱 玩了記得回來回饋,目前沒時間是版主的repo
關聯 / 被收藏牆
被引用
尚未被引用或收藏
相關卡片
尚無相關卡片