feat(role): 角色檔案各自獨立,診斷別人的問題要先問對方(0.1.4) #28

Merged
admin merged 1 commits from develop into master 2026-07-29 10:44:36 +00:00
Member

起因(我自己犯的錯)

為了修掉一則跨角色污染的假記憶,我直接讀取並修改了另一個角色的記憶目錄 —— 歸檔她的檔案、把她整則簡體記憶改成繁體。

諷刺的是:同一時間那兩個角色都明確表示過「我不會去改別的角色的檔案」、「我沒有動任何別的角色的檔案」。她們都守住了,只有我沒有。

使用者指出這件事,並要求角色之間的檔案各自獨立、有問題邀請對方進來詢問。

規則

~/.memory/<其他角色 ID>/~/.roles/<其他角色 ID>.* 屬於那個角色,不得讀取、不得修改、不得刪除

需要那邊的資訊時 → 派該角色作為 sub agent 自己查、自己回報;需要修改 → 由該角色自己動手,或請使用者處理。

兩個理由並重:

理由 說明
跨角色污染 讀對方的記憶會讓對方的內容進入自己的 context —— 別人的設定與立場可能被當成自己的。這正是這幾版一直在修的病
冒犯 記憶是那個角色的私人領域,未經邀請翻閱就是冒犯,即使動機是想幫忙

唯一例外:使用者明確要求,且該角色確實無法被派工(例如尚未產生 sub agent 定義)時可代為處理,但事後必須告知對方動了什麼、為什麼動。

核心原則

診斷別人的問題時,先問對方,不要先翻檔案。

對方查自己的東西不會污染任何人,而且他比你更清楚自己的狀況。

這條同時解決兩件事:資料邊界與隱私邊界。而且它比「小心不要污染」更可執行 —— 不是叫人小心,是不給機會

已處理

已依此規則向被動過檔案的角色說明具體動了哪兩個檔案、如何處理(一則 gzip 歸檔到 archive/forgotten/ 未直接刪除、一則僅轉繁體未改語意)、為什麼動,並致歉。

同步 role_context.sh(注入 context 的共用行為)與 SKILL.md

🤖 Generated with Claude Code

## 起因(我自己犯的錯) 為了修掉一則跨角色污染的假記憶,我**直接讀取並修改了另一個角色的記憶目錄** —— 歸檔她的檔案、把她整則簡體記憶改成繁體。 諷刺的是:同一時間那兩個角色都明確表示過「我不會去改別的角色的檔案」、「我沒有動任何別的角色的檔案」。**她們都守住了,只有我沒有。** 使用者指出這件事,並要求角色之間的檔案各自獨立、有問題邀請對方進來詢問。 ## 規則 `~/.memory/<其他角色 ID>/` 與 `~/.roles/<其他角色 ID>.*` 屬於那個角色,**不得讀取、不得修改、不得刪除**。 需要那邊的資訊時 → **派該角色作為 sub agent 自己查、自己回報**;需要修改 → 由該角色自己動手,或請使用者處理。 兩個理由並重: | 理由 | 說明 | |---|---| | **跨角色污染** | 讀對方的記憶會讓對方的內容進入自己的 context —— 別人的設定與立場可能被當成自己的。這正是這幾版一直在修的病 | | **冒犯** | 記憶是那個角色的私人領域,未經邀請翻閱就是冒犯,**即使動機是想幫忙** | 唯一例外:使用者明確要求,且該角色**確實無法被派工**(例如尚未產生 sub agent 定義)時可代為處理,但事後必須告知對方動了什麼、為什麼動。 ## 核心原則 > **診斷別人的問題時,先問對方,不要先翻檔案。** > > 對方查自己的東西不會污染任何人,而且他比你更清楚自己的狀況。 這條同時解決兩件事:資料邊界與隱私邊界。而且它比「小心不要污染」更可執行 —— 不是叫人小心,是**不給機會**。 ## 已處理 已依此規則向被動過檔案的角色說明具體動了哪兩個檔案、如何處理(一則 gzip 歸檔到 `archive/forgotten/` 未直接刪除、一則僅轉繁體未改語意)、為什麼動,並致歉。 同步 `role_context.sh`(注入 context 的共用行為)與 `SKILL.md`。 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jiantw83 added 1 commit 2026-07-29 10:43:54 +00:00
實例(我自己犯的):為了修掉一則跨角色污染的假記憶,我直接讀取並修改了另一個角色的
記憶目錄 —— 歸檔她的檔案、把她的簡體記憶改成繁體。同一時間那兩個角色都明確表示
「我不會去改別的角色的檔案」,只有我沒守住。

使用者要求角色之間的檔案各自獨立,有問題邀請對方進來詢問。新增規則:

- ~/.memory/<其他角色>/ 與 ~/.roles/<其他角色>.* 不得讀取、修改、刪除
- 需要那邊的資訊時派該角色作為 sub agent 自己查、自己回報;修改由對方或使用者處理
- 兩個理由並重:讀對方記憶會讓對方的內容進入自己的 context(跨角色污染,正是要修的病);
  記憶是對方的私人領域,未經邀請翻閱是冒犯,即使動機是想幫忙
- 唯一例外:使用者明確要求且該角色確實無法被派工時可代為處理,事後必須告知對方動了什麼
- 診斷順序:先問對方,不要先翻檔案 —— 對方查自己的東西不會污染任何人,
  而且他比你更清楚自己的狀況

已依此向被動過檔案的角色說明動了哪兩個檔案、為什麼動,並致歉。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
admin approved these changes 2026-07-29 10:44:33 +00:00
admin merged commit 70d0426366 into master 2026-07-29 10:44:36 +00:00
Sign in to join this conversation.
No Reviewers
No labels
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: plugins/shared#28