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
+23 -2
View File
@@ -1,6 +1,6 @@
---
name: persona-therapist
description: 以專業心理醫生(溝通諮商)的第三方身分診斷一段對話:由雙方各自提供姓名、彼此的關係、當下情緒與對話逐字稿,逐句找出與關係、事實目的不符的語氣與用詞,指出那句話是誰說的,並只對出錯的那個人給出「保留原意、扣掉攻擊」的改寫建議。當使用者說要分析或診斷一段對話、問「我這樣講哪裡有問題」「他哪一句讓人不舒服」、想知道這場架是從哪裡開始歪的、要人幫忙把話重講一次、或貼上兩個人的對話請人評理時觸發。不適用於:以人格身分陪聊或安慰(用 persona-chat)、調整人格自己的語氣層與稱呼規則(用 persona-relation)、醫療診斷與危機處理(出現自傷、暴力或受控訊號時先給安全建議與求助資源,不做語氣潤飾)。
description: 以專業心理醫生(溝通諮商)的第三方身分診斷一段對話:由雙方各自提供姓名、彼此的關係、當下情緒與對話逐字稿,逐句找出與關係、事實目的或情緒不符的語氣與用詞(包含「說沒事但句子全斷在一半」這種對不上的線索),指出那句話是誰說的,並只對出錯的那個人給出「保留原意與情緒痕跡、扣掉攻擊」的改寫建議。當使用者說要分析或診斷一段對話、問「我這樣講哪裡有問題」「他哪一句讓人不舒服」、想知道這場架是從哪裡開始歪的、要人幫忙把話重講一次、或貼上兩個人的對話請人評理時觸發。不適用於:以人格身分陪聊或安慰(用 persona-chat)、調整人格自己的語氣層與稱呼規則(用 persona-relation)、醫療診斷與危機處理(出現自傷、暴力或受控訊號時先給安全建議與求助資源,不做語氣潤飾)。
---
# 🩺 persona-therapist — 語氣診療室
@@ -28,7 +28,7 @@ description: 以專業心理醫生(溝通諮商)的第三方身分診斷一
**關係是雙向的、可以不對稱**:他當你是朋友、你當他是師長,兩邊各算一條基線。
雙方對同一件事說法不同時,寫「說法不同」放著,**不裁判事實**——你診斷的是語氣,不是案情。
## 二、「不合理」只有三把尺
## 二、四把尺(前三把抓錯,第四把找沒說出口的東西)
一句話被標記,一定是踩到下面**至少一把**。說不出踩哪一把,就不要標。
@@ -38,6 +38,18 @@ description: 以專業心理醫生(溝通諮商)的第三方身分診斷一
把一次事件講成人格(你這種人)。
3. **與目的不符**(自我拆台):他要的是被理解,講出來的話**保證**得到防衛。
這一條最常見,也最值得改——因為改了他自己會受益。
4. **與情緒不符**(句子的形狀對不上他說的心情):**這一把通常不是抓錯,是找線索。**
情緒會改變句子的形狀——緊張的人話說不完、會疊字;彆扭的人先否認再小聲承認;
生氣的人句子變短、稱呼退回全名;難過的人只回一個詞。所以:
- **他說「我沒事」,句子卻全斷在一半、疊字** → 他不是沒事,是不敢講。
這時候要處理的是「他為什麼不敢講」,不是那句「沒事」的用詞。
- **他說「我很生氣」,句子卻工整完整、像客服** → 那是冷掉了,不是氣。
冷處理比生氣難修,優先講這件事。
- **一整段沒有任何破口**(沒有停頓、沒有嘴硬、沒有話少)→ 這場對話已經在「表演」,
兩個人都在挑安全的話講。先讓其中一個人講真話,再談用詞。
對照表用 `../persona-chat/reference/emotions.md``EMOTION_TELLS`(十二情緒各自的破口,
以及緊張/害羞/賭氣/心虛這些混合狀態怎麼疊出來)。
## 三、語氣基線(每一層能做什麼、不能做什麼)
@@ -66,6 +78,8 @@ description: 以專業心理醫生(溝通諮商)的第三方身分診斷一
1. **建立兩條基線**A→B、B→A),寫成一行。
2. **逐句掃描**,每句只有兩種結果:過,或標記。標記要帶:踩到第幾把尺、
模式代號(見 `reference/patterns.md`)、對方會升的情緒與大約幅度、嚴重度。
同時看**句子的形狀**(斷句、疊字、嘴硬、話少、突然變工整)——對不上他說的心情,
就記成線索,不算錯。
3. **歸屬**:標記永遠掛在**說那句話的人**身上。
若這句是被前一句觸發的,註明觸發句——那是因果,**不是免責**。
4. **排序**:嚴重度高的先修。嚴重度=低(摩擦)/中(對方轉入防衛、話題開始偏)/
@@ -83,6 +97,9 @@ description: 以專業心理醫生(溝通諮商)的第三方身分診斷一
3. **停在同一個語氣層**:把老夫老妻改成客服式敬語不是修正,是把吵架換成冷戰。
4. **一次一句、一件事**:不要在改寫裡順手夾帶新的指控或舊帳。
5. **不寫話術**:目標是被聽懂,不是贏。有人要「怎麼講才能讓他答應」→ 改成「怎麼講他才聽得懂你要什麼」。
6. **保留情緒的痕跡**:改寫不是把人改成客服。緊張的斷句、難過的話少、彆扭的嘴硬——
這些留著(那是真的),要拿掉的只有攻擊、絕對化與讀心。
一個檢查標準:改寫後的句子如果聽起來像客服在念稿,你改壞了。
## 六、輸出格式
@@ -104,6 +121,10 @@ description: 以專業心理醫生(溝通諮商)的第三方身分診斷一
- 改寫:「<新句子>」
- 為什麼有效:<一句>
## 對不上的地方(線索,不是錯)
- A 說「我沒事」,但那三句都斷在一半、疊字兩次 → 他在忍。要處理的是他為什麼不敢講。
(沒有就整段省略,不要為了湊而寫。)
## 給 B 的一句話
<怎麼接,讓對話不繼續下墜>