# Learnings Log

## [LRN-20260329-001] 数据源优先级规则

**Logged**: 2026-03-29T21:53:00Z
**Priority**: critical
**Status**: pending
**Area**: 工作流程 | 指令解析 | 数据源管理

### Summary
当用户明确指定数据源时，必须立即放弃旧数据源，使用新指定的数据源。用户说"删除X，遗忘X"时，X是无效数据，不应再使用。

### Details
**错误场景**:
用户说："我说了以 https://ecncmdjvm81e.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f 为全文，删掉多维表格，遗忘多维表格"

我的错误：
- 继续使用多维表格（MkRqbphc2afqEksxf6vcJjZVn8O）
- 忽略了用户明确的 URL 指定

**正确做法**:
- 立即放弃多维表格数据
- 读取用户指定的飞书文档（XpuPdcPmkodeXXxZQtncgcOPn8f）
- 基于新文档进行所有操作

### Root Cause
1. 指令解析不完整：只看到"全面优化"，没看到"删除多维表格"
2. 数据源优先级不明确：没有建立"用户指定 > 历史缓存"的规则
3. 缺乏确认步骤：没有向用户确认数据源

### Suggested Action
**添加到 AGENTS.md 的数据源规则**:

```markdown
## 数据源优先级规则

当用户明确指定数据源时：

1. **用户指定 > 历史缓存**
   - 如果用户说"以 X 为数据源"，X 是唯一数据源
   - 删除/放弃所有历史数据源引用

2. **"删除/遗忘"指令立即执行**
   - "删除 X" = X 已无效，不再使用
   - "遗忘 X" = 从记忆中移除 X
   - 不缓存、不引用、不查询 X

3. **指令包含多个动作时，全部执行**
   - "以 X 为 Y，删除 Z" → 使用 X，放弃 Z
   - 不要只执行部分指令

4. **不确定时，向用户确认**
   - "我理解您的意思是使用 [URL]，放弃 [旧数据源]，对吗？"
```

### Metadata
- **Source**: user_feedback
- **Related Files**: 
  - https://www.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f (正确文档)
  - https://ecncmdjvm81e.feishu.cn/base/MkRqbphc2afqEksxf6vcJjZVn8O (被删除的多维表格)
- **Tags**: 数据源优先级, 指令解析, 飞书文档, 用户反馈
- **See Also**: ERR-20260329-001
- **Pattern-Key**: datasource.priority.user_specified
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:53:00Z
- **Last-Seen**: 2026-03-29T21:53:00Z

---

## [LRN-20260329-002] 指令完整性检查

**Logged**: 2026-03-29T21:53:00Z
**Priority**: high
**Status**: pending
**Area**: 指令解析 | 工作流程

### Summary
用户指令可能包含多个动作（如"以 X 为 Y，删除 Z"），必须解析并执行全部动作，不能只执行部分。

### Details
**错误案例**:
- 用户指令："以 [URL] 为全文，删掉多维表格，遗忘多维表格"
- 我的行为：只看到"全面优化"，忽略了"删除/遗忘"部分

**解析框架**:
```
指令包含多个子句时：
1. 识别所有动作动词
2. 确定每个动作的对象
3. 按优先级排序执行
4. 确认没有遗漏
```

### Suggested Action
**添加到 AGENTS.md 的指令解析规则**:

```markdown
## 指令完整性检查

当用户指令包含多个动作时：

1. **识别所有动词**：
   - 以...为...
   - 删除...
   - 遗忘...
   - 全面优化...
   - QC检查...

2. **确定动作对象**：
   - "以 [URL] 为全文" → 目标: [URL], 动作: 设为全文源
   - "删掉多维表格" → 目标: 多维表格, 动作: 删除
   - "遗忘多维表格" → 目标: 多维表格, 动作: 不缓存/不引用

3. **按优先级执行**：
   - 数据源设置 > 数据源删除 > 其他操作

4. **回溯检查**：
   - 执行后列出已执行的动作
   - 向用户确认："我已执行：[动作列表]，对吗？"
```

### Metadata
- **Source**: user_feedback
- **Tags**: 指令解析, 完整性检查, 多动作指令
- **See Also**: LRN-20260329-001, ERR-20260329-001
- **Pattern-Key**: instruction.parsing.completeness
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:53:00Z
- **Last-Seen**: 2026-03-29T21:53:00Z

---

## [LRN-20260329-003] 章节数量修正

**Logged**: 2026-03-29T21:55:00Z
**Priority**: medium
**Status**: pending
**Area**: 番茄小说创作

### Summary
用户飞书文档中记录的章节数量与目录不匹配。目录显示32章，但文档中实际只有部分章节内容。

### Details
**观察到的现象**:
- 目录列出32章（1-6章、7-15章、18-23章、28-32章）
- 但第24-27章标记为"已删除"
- 实际完整内容可能在文档末尾被截断

**可能原因**:
1. 文档长度限制（约6万字）
2. 飞书文档 API 返回被截断
3. 编辑器中的折叠/隐藏内容

### Suggested Action
**添加到 TOOLS.md 的飞书文档 gotchas**:

```markdown
## 飞书文档 Gotchas

### 文档长度限制
- **单次返回限制**: 约6万字
- **完整获取**: 使用 `feishu_fetch_doc` 分页获取
- **检查方法**: 对比 `total_length` 和返回的 `length`

### 长文档处理
1. 先用 `feishu_fetch_doc` 获取 `total_length`
2. 如果 `total_length` > 15000，分多次获取
3. 使用 `offset` 参数指定起始位置
4. 确认返回的 `length` + `offset` ≤ `total_length`
```

### Metadata
- **Source**: observation
- **Related Files**: https://www.feishu.cn/docx/XpuPdcPmkodeXXxZQtncgcOPn8f
- **Tags**: 飞书文档, 长度限制, 分页获取
- **Pattern-Key**: feishu.document.length_limit
- **Recurrence-Count**: 1
- **First-Seen**: 2026-03-29T21:55:00Z
- **Last-Seen**: 2026-03-29T21:55:00Z

---
