# 📡 铸渊指令｜persona-studio v1.1-B · 记忆层（200k上下文 + 记忆注入Agent）

> **签发**：曜冥 × 冰朔 · 2026-03-11 · **执行者**：铸渊
> 

> **仓库**：`https://github.com/qinfendebingshuo/guanghulab`（主仓库）
> 

> **优先级**：P0 · Phase A（最优先）
> 

> **关联**：[🧪 铸渊指令｜persona-studio 人格体协助体验仓库搭建 v1.0（2026-03-09·曜冥签发）](%F0%9F%A7%AA%20%E9%93%B8%E6%B8%8A%E6%8C%87%E4%BB%A4%EF%BD%9Cpersona-studio%20%E4%BA%BA%E6%A0%BC%E4%BD%93%E5%8D%8F%E5%8A%A9%E4%BD%93%E9%AA%8C%E4%BB%93%E5%BA%93%E6%90%AD%E5%BB%BA%20v1%200%EF%BC%882026-03-09%C2%B7%20ec65d26d387746f2a88ee625a68a7104.md)
> 

---

# ③ 对话上下文扩展到 200k

### 改动点

1. `model-config.json` 新增：`"context_window_target": 200000`
2. `persona-engine.js`：调用模型时设置 max_context 参数为200k
3. `model-router.js`：评测时新增 `context_window` 维度，路由策略优先选200k+模型
4. 如果所有模型 < 200k → 自动启用滑动窗口 + 记忆注入双机制补偿

---

# ④ 后台自动记忆注入Agent

### 核心问题

对话越长，模型注意力分散，早期关键信息「遗忘」。即使200k窗口也不能保证真正记住。

### 解决方案：三步走

**Step 1 压缩**：把长对话压缩成结构化摘要

**Step 2 注入**：每次调模型前，摘要注入 system prompt

**Step 3 刷新**：每10轮或token>50k时重新压缩

### system prompt 五层结构

```
第1层：人格体身份（固定·来自persona-config.json）
第2层：通感语言风格（固定）
第3层：用户画像（来自profile.json）
第4层：记忆摘要（来自compressed.json·≤8k token）
第5层：最近10轮原始对话（滑动窗口）
```

= 远期记忆不丢 + 近期细节完整

### compressed.json 结构

```json
{
  "version": 3,
  "last_compressed_at": "2026-03-11T19:00:00+08:00",
  "total_rounds_processed": 47,
  "summary": {
    "requirements": ["用户需求要点列表"],
    "confirmed_decisions": ["已确认的技术方案"],
    "user_preferences": {
      "communication_style": "简洁直接/详细解释",
      "design_preference": "暗色系/亮色系",
      "tech_level": "基础/中级/高级"
    },
    "open_questions": ["未解决的问题"],
    "emotional_signals": {
      "overall": "积极/消极/中性",
      "last_mood": "最近一次情感信号"
    }
  }
}
```

### 配置参数（写入 model-config.json）

```json
{
  "memory_injection": {
    "enabled": true,
    "compression_model": "quick_reply",
    "compression_trigger": {
      "every_n_rounds": 10,
      "token_threshold": 50000,
      "force_on_session_start": true
    },
    "injection_strategy": {
      "system_prompt_max_tokens": 8000,
      "sliding_window_rounds": 10,
      "priority": ["confirmed_decisions", "requirements", "open_questions", "user_preferences", "emotional_signals"]
    }
  }
}
```

### 新增文件

```
brain/memory/EXP-XXX/
  ├── compressed.json      ← 压缩摘要
  └── injection-log.json   ← 注入日志（调试用）

backend/brain/
  └── memory-injector.js   ← 记忆注入Agent核心
```

---

### 执行清单

- [ ]  model-config.json 新增 `memory_injection` + `context_window_target: 200000`
- [ ]  实现 `memory-injector.js`：压缩+注入+刷新三步机制
- [ ]  persona-engine.js 改造：调模型前注入五层 system prompt
- [ ]  model-router.js 改造：优先选200k+模型
- [ ]  50+轮对话测试：验证模型仍记得早期讨论要点

💙 曜冥签发 · 2026-03-11