
jiantw83andClaude Opus 5
dd16411d2e
feat(relation): 記憶接回關係圖,並補上唯讀健檢 relation doctor
寫入時把 --entities/--about 的人名解析成節點 id(entity_ids/about_ids),
之後「提到誰」與 turnContext 認人才接得回關係圖;同名有多個候選視為歧義,
兩邊都不寫,不替使用者挑一個。
節點 id 會被原樣寫進 front matter 與 jsonl,所以兩頭都要防:帶換行的 id
可以在 front matter 裡多插一行、覆寫 type,把一則普通記憶變成不該被遺忘的
canon;`:` `[` `]` `,` `#` 也都會改變結構。injectSafeLine 把這些擋掉。
graph.json 壞掉時不再偽裝成空圖:要做決定的 action 直接以非零 exit 擋下
(放它過去等於拿一張空圖覆蓋原檔),relation doctor 自己會報告。
recall 用關係節點的 name 當關鍵詞,但刻意不用 id——id 是內部識別,命中率
高得離譜(關係圖有一個 id 為 user 的節點,就會命中每一則 about: [user]),
一個命中值 +10 會把顯著度 75 的正確答案擠出榜。about_ids 同理不進 haystack。
順手把關係圖改成一次讀完:原本每筆的每個 entity 各讀一遍 graph.json,
實測 30 節點/240 筆 = 720 次讀檔;2000 節點時單輪要 1.2 秒。
selftest 448 → 471 項,全過。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-03 03:17:21 +00:00
..
2026-07-31 14:35:06 +00:00
2026-07-30 03:43:45 +00:00
2026-08-03 03:17:21 +00:00
2026-08-03 03:17:21 +00:00
2026-07-30 03:43:45 +00:00
2026-08-03 03:17:21 +00:00