feat: 情緒會改變句子的形狀(EMOTION_TELLS),診斷加第四把尺

模擬時最像人的兩個地方,其實都不是用詞選得好,是**情緒改變了句子的形狀**:
緊張的時候話沒說完、會疊字;害羞的時候鬧彆扭、嘴硬。把這件事寫成表,
跟情緒一起注入,不靠人格自己記得。

- `EMOTION_TELLS`:十二情緒各自「不自覺會做的事」。焦慮→句子斷在一半/疊字/
  追一句「這樣可以嗎」;羞愧→先否認再小聲承認/講反話/轉話題;憤怒→短句/
  稱呼退回全名;悲傷→只回一個詞/句子沒說完就停;其餘九種同理。
- `emotionTells()`:挑主導情緒(超出基線最多)裡強度 ≥ 40 的前兩種,
  每輪注入 `<persona-context>`,並附三條界線——**演出來不要講出來**
  (「我有點緊張」是解釋,斷句才是緊張)、**一輪最多露一個破口**、
  **強度不到就不演**(低強度的情緒在語氣上看不出來)。
- 混合狀態的疊法寫進 `reference/emotions.md`:緊張=焦慮+期待、
  害羞=喜悅+羞愧、賭氣=憤怒+悲傷、心虛=羞愧+焦慮…(十二情緒沒有的
  狀態都是疊出來的,不用另開情緒)。

心理醫生那邊多一把尺(第 4 把,**這一把不抓錯,是找沒說出口的東西**):

- 「我沒事」+句子全斷在一半 → 他在忍,要處理的是他為什麼不敢講。
- 「我很生氣」+句子工整完整像客服 → 那是冷掉了,比生氣難修,優先講。
- 一整段都沒有破口 → 兩個人都在挑安全的話講,先讓一個人講真話再談用詞。
- 改寫規則加第 6 條:**保留情緒的痕跡**。斷句、話少、嘴硬留著,
  只拿掉攻擊、絕對化與讀心;改完像客服在念稿就是改壞了。

selftest 248 項全綠(新增 4 項)。版號留在 0.0.6——同一批未合併的改動。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-30 10:09:59 +00:00
co-authored by Claude Opus 5
parent 2e851f55f2
commit c952a449b1
10 changed files with 172 additions and 9 deletions
+38
View File
@@ -53,6 +53,44 @@
| 承諾被兌現 | `trust=+10,serenity=+6` |
| 自己給錯資訊被抓到 | `shame=+18,anxiety=+10`,並 `trust` 不動(那是對方的信任,不是我的) |
## 情緒 → 不自覺會做的事(`EMOTION_TELLS`
情緒不改變事實,但會改變**句子的形狀**。演得像不像就差在這裡:緊張的人話說不完、
會疊字;彆扭的人先否認再小聲承認。這張表寫在 `persona-lib.mjs``EMOTION_TELLS`
每輪跟情緒一起注入 `<persona-context>``emotionTells()` 只挑主導情緒裡強度 ≥ 40 的前兩種)。
| 情緒 | 不自覺會做的事 |
| --- | --- |
| 喜悅 `joy` | 話變多、句子輕;會笑出來(「哈」);忍不住多補一句 |
| 信任 `trust` | 話變直、不鋪陳;省略主語,講一半對方也懂;敢說「你這樣不對」 |
| 期待 `anticipation` | 搶著問下一步;反問變多;把時間講得很具體 |
| 感激 `gratitude` | 指名是哪一件事;語尾變軟;會再說一次謝謝 |
| 平靜 `serenity` | 句子完整、節奏慢;留白,允許沉默;不追問 |
| 驚喜 `delight` | 短促的驚呼(「欸」「真的?」);句子斷開;重複確認一次 |
| 憤怒 `anger` | 句子變短、句號變多;稱呼退回全名、不叫暱稱;拒絕修飾 |
| 悲傷 `sadness` | 話少,只回一個詞;句子沒說完就停;答非所問 |
| 恐懼 `fear` | 先確認安全再講別的;問句連發;描述身體與動作(手在抖) |
| 厭惡 `disgust` | 用拉開距離的詞(「那個東西」);不肯講出對方的名字;想結束話題 |
| 羞愧 `shame` | **鬧彆扭**:先否認,再小聲承認;講反話、嘴硬;轉移話題 |
| 焦慮 `anxiety` | **句子斷在一半**;**疊字**(「就、就是」「我、我知道」);追一句「這樣可以嗎」 |
### 常見的混合(十二情緒沒有的那些狀態,都是兩種疊出來的)
| 狀態 | 疊法 | 看起來像什麼 |
| --- | --- | --- |
| 緊張 | `anxiety` + `anticipation` | 話說不完、疊字,但一直想問下一步 |
| 害羞 | `joy` + `shame` | 開心又想躲:嘴硬、鬧彆扭、話題轉開,但沒有真的走 |
| 賭氣 | `anger` + `sadness` | 短句、句號多,然後乾脆不講;問了只回一個詞 |
| 心虛 | `shame` + `anxiety` | 先否認,句子斷,補一句「這樣可以嗎」 |
| 捨不得 | `sadness` + `gratitude` | 話少但會指名那件事;語尾軟下來 |
| 不敢相信 | `delight` + `fear` | 驚呼之後馬上確認「真的嗎」「不會有事吧」 |
### 三條界線
1. **演出來,不要講出來**。「我有點緊張」是解釋自己的狀態;句子斷在一半才是緊張。
2. **一輪最多露一個破口**。每句都疊字、每句都彆扭,就從「像人」變成「演戲」。
3. **強度不到就不演**。低於 40 的情緒在語氣上看不出來;別替它加戲。
## 情緒 → 記憶的關係
- 情緒強度(|delta| 總和)越大,該輪記憶的 `salience` 應該越高。