docs(skills): 規則跟上關係圖對接,新增親密度判斷參考
persona-chat:人名要對得上關係圖(--entities/--about);新人物當場進關係圖 改成硬規則,但屬於第 ⑥ 步記憶回寫,不佔第 ⑤ 步的回話句數,也不要宣告。 persona-relation:補「記憶怎麼指回節點」與 relation doctor 的四類報告 (同名歧義、解析不到的 id、孤兒節點、對不上的人名),並說明壞檔會以非零 exit 結束而不是裝成空圖。 新增 reference/closeness.md:初次建節點時 bond/closeness/trust 怎麼從 對話判斷——一輪之內查完就填,不要憑感覺,也不要為了安全全部填 15。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -246,13 +246,49 @@ node "${CLAUDE_PLUGIN_ROOT}/scripts/persona.mjs" remember \
|
||||
顯著度基準:**80+** 承諾/秘密/重大事件;**60–79** 偏好、明確情緒事件;
|
||||
**40–59** 一般脈絡;**<40** 閒聊(會很快被淘汰)。
|
||||
|
||||
若這輪出現新的人/新的關係變化 → 順手更新人際關係圖:
|
||||
**人名要對得上**:`--entities`(短期)與 `--about`(長期)寫的人名,
|
||||
必須跟關係圖節點的 `name` 或 `id` **一字不差**——解析只認完全相等,
|
||||
子字串與簡稱都不算(今天寫「小林」明天寫「林先生」,後者解析不到任何節點),
|
||||
同名撞到多個節點時視為歧義、直接不寫 id。
|
||||
|
||||
對不上**不會報錯**,只是那筆記憶少一個 `entity_ids`/`about_ids`:
|
||||
R5(同一個人 ≥ 2 筆)不會觸發,`<persona-context>` 也不會附上那個人的節點摘要。
|
||||
先看 `<persona-context>` 的「人際關係:」那段照抄節點名;事後要查用
|
||||
`relation doctor`(見 `/jsc-persona:persona-relation`)。
|
||||
|
||||
#### 新人物一定要當場進關係圖(硬規則)
|
||||
|
||||
**觸發條件(兩個都成立才做)**:
|
||||
|
||||
1. 這輪出現的人物**不在** `<persona-context>` 的「人際關係:」那段裡;**且**
|
||||
2. **人格認識這個人**——設定(`IDENTITY.md`/`SOUL.md`/`canon` 記憶)裡有他,
|
||||
或這輪對話已經講清楚他是誰(誰的什麼人、做什麼的)。
|
||||
|
||||
只是被提到一個陌生名字、人格根本不知道那是誰 → **不要建節點**,
|
||||
寫進短期記憶的 `--entities` 就好;等他再出現、講清楚了再建。
|
||||
|
||||
**動作**:當場建節點,`bond`/`closeness`/`trust` 依 `reference/closeness.md` 判斷
|
||||
(那份表是**初次建節點**用的,一輪內查完就填,不要填保守初值):
|
||||
|
||||
```bash
|
||||
node "${CLAUDE_PLUGIN_ROOT}/scripts/persona.mjs" relation node \
|
||||
--persona <slug> --session <PERSONA_SESSION> --name "小林" --kind human --closeness 25 --trust 30 --note "使用者的同事"
|
||||
--persona <slug> --session <PERSONA_SESSION> --name "小林" --kind human \
|
||||
--bond ally --closeness 45 --trust 35 --note "使用者的同事,Q3 專案 PM;依據:叫全名+直接請求"
|
||||
```
|
||||
|
||||
- `--bond` **不可省略**:語氣層是 `bond` × `closeness` 算的,省略會被猜成生人,整輪距離感就歪了。
|
||||
- 節點的 `name` 要跟這輪 `--entities` 寫的人名**完全一樣**(差一個字就解析不到)。
|
||||
- `name` 用**會被說出口的完整稱呼**(「小林」「結城明日奈」),不要用「明」「先生」這種
|
||||
單字或稱謂當節點名——那種名字誰都套得上,不相干的句子會被算到同一個人頭上。
|
||||
- 其他人格用 `--kind persona --id <他的 slug>`。
|
||||
|
||||
**不要宣告這件事。** 這屬於第 ⑥ 步(記憶回寫),不佔第 ⑤ 步的 1–3 句,
|
||||
也不要在回覆裡講「我把某某加進關係圖了」——那是系統動作,不是人會說的話。
|
||||
使用者主動問起才說。
|
||||
|
||||
關係發生**質變**(同事變朋友、決裂、信任被打破)→ 除了更新節點,
|
||||
同時固化一則 `relationship` 長期記憶(見 `/jsc-persona:persona-memory`)。
|
||||
|
||||
若形成一條需要追蹤的推理鏈(未證實的猜測、待驗證的假設)→ 開思維導圖,別寫進長期記憶:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -17,7 +17,14 @@
|
||||
|
||||
## 3. 實體 entities
|
||||
|
||||
人/專案/地點/時間。人名一律同步到人際關係圖(`persona.mjs relation node`)。
|
||||
人/專案/地點/時間。人名要寫成關係節點的 `name` 或 `id`,且**一字不差**:
|
||||
解析只接受完全相等,簡稱與加稱謂(「林先生」對「小林」)解析不到、也不會報錯,
|
||||
同名撞到多個節點時算歧義、直接不寫 `entity_ids`。寫之前先照抄 `<persona-context>` 的節點名。
|
||||
|
||||
**認識的人**才同步到人際關係圖(`persona.mjs relation node`,親密度查
|
||||
`persona-relation/reference/closeness.md`);只是被提到、你根本不知道那是誰的名字,
|
||||
留在 `entities` 就好,不要建節點。
|
||||
建節點時 `name` 用會被說出口的完整稱呼,不要用單字或稱謂(「明」「先生」)當節點名。
|
||||
|
||||
## 4. 情感極性與強度
|
||||
|
||||
|
||||
Reference in New Issue
Block a user