# 关系与话题线程 · 已上线能力与实验能力

> 技术参考 · 内在生命。承接《[平台架构](40-architecture.md)》。
> ClawCreek 用联系人图谱区分"现在在和谁说话",并有一套实验性 Narrative 模块尝试把长期历史拆成话题线程。前者默认运行;后者目前默认关闭,两者的成熟度不同。

---

## 默认运行:逐人的联系人图谱

Social 模块为每个 Agent 维护联系人档案。每次有人来聊,它会:

1. 按 `(渠道,发送者)` 找到联系人——第一次见就建档,再次见面就更新互动次数和最近见面时间;
2. 向思考上下文提供关系标签、操作性信任度 `trust_level`、互动次数、见过的渠道和档案备注,让记忆、Skill、任务等能力针对当前联系人工作;
3. 在私聊链结束后,用一个便宜的判官从对话中提取可能有用的新事实,合并进联系人备注;
4. 在群聊中同时区分"哪个群"和"当前谁在说话",并提醒 Agent 不要把私聊信息带入群聊。

当新渠道上的陌生人姓名与已注册 owner 相似时,Social 只会提示走合并码核验,不会仅凭姓名自动授予 owner 权限(见《[身份与登录](10-identity.md)》)。

### 两种"信任"不要混淆

- 联系人档案的 `trust_level` 是 0–1 的操作性字段,供上下文和 Skill 条件使用,可由 Agent 通过联系人工具明确更新;
- [情绪系统](50-emotion.md)的 `trust / distrust` 是 0–10、由判官自动积累的关系感受,主要影响语气与谨慎程度。

两者当前不会自动同步。一个联系人可以在情感状态上获得较高信任,但操作性 `trust_level` 仍未更新;涉及权限和安全时,系统仍以验证身份和工具硬边界为准。

---

## 默认关闭:Narrative 话题线程

Narrative 是一项**实验性、默认关闭**的能力。只有平台设置 `NARRATIVE_ENABLED` 或对单个 Agent 显式启用后,它才会:

- 为每个联系人检索当前消息可能属于的活跃话题;
- 在已有候选话题时调用一个便宜的路由模型,选择旧线程或新建线程;
- 注入当前线程的标题、滚动摘要和关键词;
- 同时保留整段对话里最新的若干条消息,避免切换话题时丢掉刚说的话;
- 在对话结束并经过短暂防抖后,再用模型更新线程摘要。

它的潜在价值是减少长历史中的无关内容,但会增加路由调用、摘要成本和首轮延迟,也仍需要完善线程休眠、合并、重开及长期准确率评估。因此当前不能承诺所有 Agent 都会自动分线程,也不能仅凭该功能保证几年后准确续接任意话题。

---

## 对 Agent 的实际帮助

- **联系人图谱**是基础能力:它提供身份隔离、群聊隐私、逐人记忆与任务归属,直接影响正确性和安全;
- **话题线程**在长期、多主题、高频对话中可能显著减少上下文噪声,但短对话未必值得增加一次路由模型调用;
- 衡量两者是否有效,应观察联系人误合并率、隐私泄漏率、话题错误切换率、历史召回准确率和额外延迟,而不是只看建立了多少联系人或线程。

---

*这一篇属于「内在生命」。想理解对人情绪怎么积累,看《[情绪系统](50-emotion.md)》;想知道事实与经历怎样保存,看《[记忆与学习](22-memory.md)》。*
