novel-doomsday-resurgence/.learnings/LEARNINGS.md

182 lines
5.3 KiB
Markdown
Raw Permalink Normal View History

# 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
---