fix(role): 情緒記憶不再被偏好吃掉,四道保護補齊
--status 長期顯示「情緒 0」:互動明顯帶有情感,emotional 型態卻一則都沒有。 根因不只一個,而是四層都把情緒漏掉了: 1. 措辭陷阱(主因):prompt 寫「感覺記憶一律 drop」,原意是心理學的 sensory memory(感官記憶),但中文「感覺」= feeling,等於明令把情緒丟掉。 改稱「感官記憶(sensory memory)」並明確排除情緒感受。 2. 判準重疊:preference 與 emotional 都提「語氣」,且第 5 條引導成 「preference 或 emotional」二選一。改以「這則下次拿來做什麼」區分 —— 決定行為→preference、回想當時感覺→emotional,兩者都有就拆成兩則; 並明確承認角色自己的情緒是合法記憶主體。 3. 整理階段會併掉:新增「memory_type 不同的記憶不互相 merge」,改用 links 關聯。 4. 載入與遺忘壓低情緒:MEMORY_TYPE_WEIGHT emotional 25→40(高於 procedural)、 總結區塊納入耐久型態、遺忘豁免清單加入 emotional、判準要求優先度至少 4。 驗證(隔離的 ROLE_MEMORY_HOME/ROLE_HOME,未動真實記憶): - 兩則刻意標成 preference 的情感素材 → 各拆出 preference + emotional(4 則進、5 則出) - 純技術素材維持 procedural、感官雜訊仍 drop - 遺忘預覽:emotional 與 procedural 豁免,semantic/episodic 照舊遺忘 - 同優先度載入排序:emotional 先於 procedural Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
# 另提供 --nap(CLI 閒置時的小睡整理)、--catchup(cron 未執行時的補跑)、
|
||||
# --force(手動立即整理)、--export(匯出角色壓縮檔)、
|
||||
# --install-cron/--remove-cron(排程安裝與移除)、--status(狀態)。
|
||||
# 更新時間:2026/07/29 13:13:21
|
||||
# 更新時間:2026/07/29 16:56:06
|
||||
# 相依:bash、node、任一 headless CLI、crontab(僅排程安裝需要)、
|
||||
# 同目錄的 role_lib.sh 與 memory.js。
|
||||
# 退出碼:0 成功或無事可做;1 參數錯誤或整理失敗(cron 觸發時不影響使用者)。
|
||||
@@ -143,13 +143,21 @@ sleep_cycle() {
|
||||
important 放長期偏好、規範、決策與身分背景;interest 放反覆關注的主題;news 放新事實與外部資訊;
|
||||
skill 放可重複套用的做法;daily 放一次性例行工作;其餘歸 other。
|
||||
6. priority 必填,1 到 5:5=使用者明確要求、長期規範、穩定偏好或核心身分;4=可重複套用的技能/決策;3=有用新知;2=短期日常;1=低價值但暫存。
|
||||
7. memory_type 必填,六選一:
|
||||
memory_type 為 emotional 者**至少 4**:載入時全文區塊有優先度門檻,情緒記憶低於 4 就進不了下次對話。
|
||||
7. memory_type 必填,六選一(preference 與 emotional 最容易混淆,務必看 7a):
|
||||
- rule:長期規範、固定工作原則。
|
||||
- preference:穩定偏好、語氣與互動喜好。
|
||||
- preference:穩定偏好、語氣與互動喜好 —— 「下次該怎麼做」。
|
||||
- procedural:技能、流程、可重複操作。
|
||||
- semantic:事實、觀念、工具知識、外部資訊。
|
||||
- episodic:個別事件、一次性進度、特定時間地點脈絡。
|
||||
- emotional:情緒反應、語氣連結、制約式喜惡。
|
||||
- emotional:**感覺本身** —— 情緒反應、被觸動的瞬間、關係溫度的變化、
|
||||
角色自己的開心/害羞/得意/不安/鬆一口氣,以及正負向連結與制約式喜惡。
|
||||
7a. preference 與 emotional 的分辨:問「這則下次會被拿來做什麼?」用來決定**行為**→preference;
|
||||
用來回想**當時的感覺**→emotional。一則 inbox 若同時含兩者,輸出**兩則 new**(行為與感覺各一),
|
||||
不要把感覺折進偏好那則的描述裡帶過。角色自己的情緒是合法且重要的記憶主體,不得抹除。
|
||||
7b. emotional 不得被 merge 進 preference/rule/semantic,反之亦然:**memory_type 不同的記憶不要互相
|
||||
merge**,改用 links 建立關聯。合併只在同型態且內容確實重複時才做。情緒記憶一旦被併入偏好,
|
||||
語氣可以復原、當時的溫度卻永久遺失。
|
||||
8. declarative 必填:semantic/episodic/preference/rule 通常為 explicit;procedural/emotional 通常為 implicit。
|
||||
9. retention_stage 必填:整理後可長期保存者填 long_term;仍只是短期暫存且不值得長期保存者請用 action=drop,不要輸出 working。
|
||||
10. relevance 必填 1 至 4 個,從下列語意挑選或用等價繁中詞:explicit(使用者明確要求)、future(未來會用)、repeated(反覆出現)、novelty(新知)、emotional(語氣/情緒/偏好)、temporary(短期)。
|
||||
@@ -163,7 +171,8 @@ sleep_cycle() {
|
||||
寫「未來遇到什麼情況該想起這則」的關鍵詞,例如 ["plugin 版號","bump","manifest"]。
|
||||
這是技能再現的依據 —— 角色日後用 recall 查詢時靠 cues 命中,線索寫得準才叫得回來。
|
||||
12. sleep_stage 填 "nrem"、"rem" 或 "nrem-rem"。只有純分類去噪用 nrem;有建立跨記憶連結或抽象規則用 rem 或 nrem-rem。
|
||||
13. 感覺記憶(短暫光影、聲音餘響、無結論的工具雜訊)一律 drop;不要保存到長期記憶。
|
||||
13. 感官記憶(sensory memory:短暫光影、聲音餘響、無結論的工具雜訊)一律 drop,不保存到長期記憶。
|
||||
這裡指的是**感官殘留**,**不是情緒感受** —— 情緒要保存成 emotional,見第 7 與 7a 條。
|
||||
14. **每一則 INBOX 的 id 都必須出現在某一筆的 from 中**,沒被提及的會留到下個睡眠週期重做。
|
||||
15. content 壓縮成 5 行以內要點(每行以「- 」開頭),總長不超過 400 字,去除重複敘述與流水帳。
|
||||
但精確資訊不受此壓縮限制,見第 19 條。
|
||||
|
||||
Reference in New Issue
Block a user