Files
lpt-docs/docs/design/system-structure.md
T

107 lines
5.2 KiB
Markdown

# 系统结构
## 本文档的用途
`concepts/overview.md` 回答"系统要解决什么问题",本文档回答"系统是靠什么结构解决问题的"。理解以下三条结构后,判断某个功能该不该做、改动会不会动摇设计目标,都会变得直接。
## 一、系统要回答的三个问题
LPT 的全部能力最终只服务于三个问题:
1. **我学过什么?** —— 需要真实、不可篡改的学习记录。
2. **我学到什么程度?** —— 需要可对照的知识结构和暴露缺口的机制。
3. **下一步该学什么?** —— 需要可比较的任务优先级。
任何一个功能,如果对这三个问题都没有贡献,就不应该进入系统。
## 二、骨架:一个组织轴、一个闭环、一个记忆机制
### 组织轴
```text
学习任务 → 学习会话 → 知识碎片 → 学习报告
```
组织轴决定"内容存放在哪里、被谁聚合"。系统里所有围绕内容的聚合(知识结构、复习内容、检索)都从这条轴派生。
组织轴的每一层含义不同:
- **学习任务**:长期目标,可管理、可排序。
- **学习会话**:一次真实发生的学习,不可变、时间可计量。
- **知识碎片**:学习过程中的原始记录,粒度最小。
- **学习报告**:一次会话的收敛结果。
### 闭环
```text
学习预期 → 学习执行(碎片) → 报告收敛 → 复习 → 应用场景
```
闭环决定"一次学习如何被完整地走完"。闭环的完整性依赖两件事:
- 会话记录不可篡改,量化结果才可信。
- 碎片记录成本足够低,闭环才不会在中途断掉。
### 记忆机制
```text
偶遇(滚动 Feed) → 主动提取(回忆对比) → 缺口暴露(遗漏项) → 回看原文
```
记忆机制是系统区别于普通笔记工具的部分。笔记工具能"存",能"检索",但不会告诉用户"你以为你记得,其实漏了这三个点"。
## 三、三条主线与痛点的对应
| 原始痛点 | 设计主线 | 主要概念 |
|---------|---------|---------|
| 没有时间观,不知道自己的能力水平在哪 | 量化学习过程 | 学习会话、学习预期、知识碎片、学习报告、时间与效率 |
| 没有计划,想学什么学什么 | 合理安排优先级 | 学习任务、任务优先级、应用场景 |
| 没有复习习惯,学过就忘 | 让复习自然发生 | 复习 Feed、标准思维导图、回忆对比 |
三条主线共享同一条组织轴,因此组织轴的任何变化都会同时影响三条主线;反之,三条主线各自的机制变化通常互不干扰。
## 四、取舍准则
新增功能时按以下顺序判断:
1. **是否服务于三个问题之一**(见第一节)。不服务就不做。
2. **是否增加记录或整理成本**。增加成本的方案必须证明收益大于成本损失。
3. **是否让 AI 变成必需品**。AI 只能增强,不能成为流程能否走通的前提。
这三条准则解释了系统已有的一些取舍:不做强制复习清单、不做打卡与连续天数、短会话不计入总时长、AI 能力全部可降级。
## 五、支点:不轻易改动的六条
以下六条是设计目标的支点。改动它们属于设计变更,必须先改文档再改实现:
1. **时间按学习会话统计**。会话是唯一真实发生的事实。
2. **一次学习会话只属于一个学习任务**
3. **三类时间规则**:番茄钟长度(单个学习段落的上限)、遗忘判定阈值(判断用户是否忘记暂停或结束)、不计入总时长的最小值。
4. **学习报告是会话产出的真实记录**。碎片是原料,报告是收敛,报告不做美化。
5. **复习是偶遇加主动提取**,不是清单、不是打卡、不是必须完成的任务。
6. **AI 只增强不依赖**。报告聚合、导图生成、回忆对比都必须有内置规则可独立完成。
## 六、两条轴的分工原则
系统正在形成两条互不干扰的轴:
- **时间轴**:按学习会话统计投入。回答"我花了多少时间、效率如何"。
- **内容轴**:按内容归属聚合知识。回答"这块知识属于哪里、我掌握到什么程度"。
两条轴的分工是:**时间按会话,内容按归属**。这解释了一个看起来矛盾的现象——一次会话产生的知识碎片不一定属于这次会话的学习任务,而一份学习报告一定属于这次会话。细节见 [内容归属](../concepts/knowledge-ownership.md)。
## 七、判断改动是否触及设计目标
用三个提问自查:
1. 改动是否改变了支点之一(第五节六条)?如果改变,属于设计变更。
2. 改动是否引入了第二套聚合口径(同一内容在两处归属不同)?如果引入,必须先把口径统一到唯一的聚合入口。
3. 改动是否依赖了某个尚不存在的概念?如果是,先补概念文档再谈实现。
## 相关文档
- [系统总览](../concepts/overview.md):三个痛点与核心闭环的简述。
- [设计原则](principles.md):量化但不评判、低阻力优先等具体原则。
- [模块边界](module-boundaries.md):各模块负责什么、不负责什么。
- [内容归属](../concepts/knowledge-ownership.md):内容轴的定义与设计。