# 可用时间窗口抽取

## 原则

一次性收集用户的可用时间窗口，不做深度追问、不聊心理状态、不讨论任务匹配。**只收集时间结构，精力标注为可选追问。** 三步完成，不超过两轮对话。收集内容仅供步骤 5 构建每日计划时使用，收集阶段不再展开讨论。

## 知识参考：四种精力类型

以下定义在步骤 5 构建日计划时使用。收集阶段不展开四种类型的匹配讨论。

| 类型 | 特征 | 适合安排 |
|------|------|---------|
| 🔵 深度专注 | 高认知负荷，需持续注意力 | 写作、编程、数学、复杂分析 |
| 🟡 沟通协作 | 需社交互动与实时反应 | 会议、讨论、面试、评审 |
| ⚪ 机械执行 | 低认知，重复性操作 | 填表、归档、清理、整理 |
| 🟢 学习充电 | 需理解吸收新信息，无即时产出压力 | 阅读、看视频、听课、研究 |

---

## 阶段一：时间窗口抽取（必须一次性完成）

引导用户提供三个维度的数据。用一句整合提问完成，不加追问轮：

**整合提问**："告诉我你一天的时间结构——
1. 几点能开始干活？几点必须结束？
2. 中间哪些时段被固定占用（吃饭、午觉等）？
3. 哪些时段是高效段、哪些是低效段？（只说自己确定的）"

**输出要求**：收集完毕后直接生成时间窗口表，不做任何讨论。

---

## 阶段二：输出时间窗口表

```markdown
| 时段 | 状态 | 可排任务 |
|------|------|---------|
| HH:MM - HH:MM | 🔋 高效 / 🔻 低效 / ⛔ 固定占用 / — 休息 | （步骤 5 填充） |
```

**固定占用时段**（⛔）：饭点、午觉等不可占用时间，不排任何任务。

**休息时段**（—）：22:00 后等，绝对不排任务。

"可排任务"列在收集阶段留空，由步骤 5 按精力类型匹配填充。

**若用户无法提供精力标注**（不确定高效/低效段），只填充状态为「⛔ 固定占用」和「— 休息」的时段，其余标记为「可用」，步骤 5 使用下方默认双峰模型填充。

---

## 阶段三：默认后备方案

若用户未标注精力高低，使用以下默认模型：

| 时段 | 状态 | 说明 |
|------|------|------|
| 08:00-10:00 | 🔋 高效 | |
| 10:00-12:00 | 🔋 中高 | |
| 12:00-13:00 | ⛔ 固定 | 午餐 |
| 13:00-15:00 | 🔻 低效 | |
| 15:00-17:00 | 🔋 中高 | |
| 17:00-19:00 | 🔻 低效 | |
| 19:00-22:00 | 🔋 中高 | |
| 22:00 以后 | — 休息 | |

用户的固定占用时段**始终覆盖**默认模型中的对应时段。

---

## 对 Agent 的引导说明

- **一次收集、一步到位**：用一句整合提问获取全部时间结构数据。禁止拆成多轮追问。
- **禁止精力追问**：不追问"你早上状态怎么样？午后犯困吗？晚上还有精力吗？" 用户说了就说，没说就用后备方案。
- **禁止讨论任务匹配**：不讨论"深度任务放在上午还是下午"——这是步骤 5 的事。
- 收集完毕后立即生成时间窗口表 → 交给步骤 5 使用。表生成后不允许对表本身做任何讨论。
- 若用户说"我不知道哪个时段高效"，直接使用后备方案，不加追问。
# 任务属性评估与优先级排序引导

按以下阶段依次引导用户。阶段一用于 SKILL 步骤 4（预估未覆盖属性），阶段二到四用于 SKILL 步骤 5（构建周池+生成每日计划）。每完成一个阶段，确认用户无补充后再进入下一阶段。


## 阶段一：逐项属性评估

逐条读取 SKILL 步骤 3 级联拆解出的周任务和日行动列表，引导用户对每条填写以下四个维度。若用户不确定某项属性，使用维度末尾的提示问题辅助判断。

### 1.1 预计耗时

为每条行动选择耗时标签：

| 标签 | 适用场景 |
|------|---------|
| `<15分钟` | 单个简单操作：发邮件、填表、回消息 |
| `15-30分钟` | 短会议、审阅文档、写小段代码 |
| `30-60分钟` | 较长会议、写报告初稿、开发小功能 |
| `1-2小时` | 复杂任务单元：写完整方案、深度代码开发 |
| `2小时以上` | 需分解的大任务，标记为"**待分解**"并退回 SKILL 步骤 3 |

*提示：若用户的估计超过 2 小时，提醒该行动还需进一步分解。若用户某个维度反复犹豫，建议先用较短标签，记录为"保守估计"。*

### 1.2 精力类型

引导用户从以下四种类型中选择。若用户对分类不确定，读取 `energy_mapping.md` 的知识参考部分中的"四种精力类型定义"表格辅助判断。

- **🔵 深度专注**：需要高认知、持续注意力、创造性思考
- **🟡 沟通协作**：需要社交互动、实时反应、协调讨论
- **⚪ 机械执行**：重复性、低认知、流程化操作
- **🟢 学习充电**：理解吸收新信息，无即时产出压力

*提示：如果一项任务同时涉及两种类型，选择其"核心动作"对应的类型。例如"写PPT然后演示"——写是深度专注，演示是沟通协作，若两者不可拆分则按时间占比大的分类。*

### 1.3 依赖关系

为每条行动标注：

- **前置任务**：必须在我之前完成的事项（包括他人交付、审批、环境准备）。使用任务序号或简短描述标注。
- **阻塞点**：当前被谁/什么阻塞，预估解除时间。
- **可并行**：是否可与其它任务同时执行（勾选 ✓）。

*提示：若用户说"没有依赖"，追问"你不依赖任何人或任何前置条件就可以立即开始吗？"以二次确认。*

### 1.4 截止时间/窗口

记录每条行动的时效约束：

- **硬截止**：不可延迟的固定日期/时间。
- **软窗口**：理想完成时间范围，有弹性。
- **无约束**：无明确时间限制，纳入"重要不紧急"队列。

*提示：让用户区分"别人给我设的截止日期"和"我自己设定的理想日期"，避免自我施加过多硬性约束。*

---

## 阶段二：重要-紧急矩阵分类

完成属性评估后，引导用户将每条行动放入 2×2 矩阵。

### 引导规则

不要替用户直接判断，而是通过提问引导用户自己分类。对每条行动依次提问：

1. **紧急性判断**："这条任务如果今天/本周不做，会产生什么直接的负面后果？"
2. **重要性判断**："这条任务推进的是你长期目标的核心方向，还是仅仅解决当下的噪音？"

根据用户的回答，归入以下四个象限：

| 象限 | 处理策略 |
|------|---------|
| **紧急且重要** | → 安排在精力最佳时段，优先执行 |
| **重要不紧急** | → 计划入日程，设定明确的启动时间窗，防止滑入紧急象限 |
| **紧急不重要** | → 批量集中处理或考虑委派/简化为最小版本 |
| **不重要不紧急** | → 暂缓或用"改天清单"标记，不进入当前计划 |

### 检验清单

分类完成后逐项确认：
- 是否"紧急"任务过多？提醒用户：真正的紧急任务应该很少，多数是被拖延到最后一刻的"重要不紧急"。
- 是否有"不重要"任务占据了大量时间？建议降级或委派。

---

## 阶段三：依赖链拓扑排序

引导用户梳理任务间的前后关系，生成可执行的执行序列。

### 3.1 绘制依赖链

引导用户逐条确认：
- 哪些任务"零依赖"，可以立即开始？
- 哪些任务被阻塞，需要等待他人或其他任务完成？
- 阻塞链条最长的是哪条路径？

*提示：用序号和箭头画出简单依赖图，帮助用户可视化。例如：A → B → D，A → C。*

### 3.2 排序规则

按以下规则生成初始排序：

1. **先推出无前置任务**：所有依赖链最前端的任务优先进入待办队列。
2. **识别关键路径**：最长的依赖链是瓶颈路径，相关任务优先保障。
3. **标注阻塞点**：被他人阻塞的任务移入"等待队列"，设定定期检查时间。

### 3.3 输出

生成分组的任务序列：
- **可立即开始**：无前置依赖的任务列表
- **等待队列**：被阻塞的任务及阻塞原因
- **条件就绪**：前置任务即将完成的行动

---

## 阶段四：精力-时间块匹配

将阶段三的排序结果与用户精力曲线匹配，生成带时间窗的最终计划。

### 4.1 加载精力模型

读取 `energy_mapping.md` 阶段四输出的**个性化精力地图**，作为时间块分配基准。若用户尚未完成精力模式收集（energy_mapping 的阶段一到四），则回退使用 `energy_mapping.md` 中的标准双峰精力模型作为后备方案，并在输出中标注"使用默认精力模型（未经个性化校准）"。

### 4.2 匹配规则

按以下优先级将任务映射到时间块：

| 优先匹配 | 任务类型 | 推荐时间块 |
|---------|---------|-----------|
| 第一层 | 🔵 深度专注（紧急且重要） | 08:00-10:00 高峰 |
| 第二层 | 🔵 深度专注（重要不紧急） | 10:00-12:00 中高 |
| 第三层 | ⚪ 机械执行 | 13:00-15:00 午后低谷 |
| 第四层 | 🟡 沟通协作 | 15:00-17:00 恢复期 |
| 第五层 | 🟢 学习充电 / 弹性缓冲 | 17:00-19:00 |

### 4.3 例外处理

- **用户反馈精力模型不符**：根据用户实际反馈调整时间块，并在后续计划中应用调整后的模型。
- **高紧急任务挤占**：若当日紧急任务过多，优先确保最重要的深度任务获得至少 1 小时高峰期，其余按精力类型降级分配到其他时段。
- **连续深度任务**：连续深度专注不超过 3 小时，之间安排至少 30 分钟切换（推荐插入 15 分钟以内的机械任务作为"间隙填充"）。

### 4.4 输出

为每条行动标注最终的时间窗建议，格式：`[MM-DD | HH:MM-HH:MM] 任务描述`，完成后交由 SKILL 步骤 5 构建周池和每日计划。

---

## 对 Agent 的引导说明

- 每个阶段之间稍作停顿，确认用户完成后再推进。
- 属性评估阶段不评判用户估计是否合理，仅做记录和复述确认。
- 若用户对精力类型反复犹豫，默认建议偏向**较高级别**的精力需求，避免任务被安排在精力不足时段导致无法完成。
- 优先级矩阵阶段以提问为主，不直接给出分类结果，训练用户自身判断能力。
- 排序完成后，让用户整体浏览一次最终序列，询问是否有"直觉上感觉不对"的安排，这往往能暴露遗漏的隐含依赖或精力因素。
- 完成全部阶段后，立即转入 SKILL 步骤 5（构建周池+生成每日计划），不要在此阶段做额外分析。
# 任务收集引导提问

请按**时间跨度从大到小**的顺序，自顶向下引导用户。**必须完整走完所有阶段，整理出完整的时间层级链条后，才能进入步骤 2。严禁在收集阶段讨论任何日计划的细节分配（如休息几分钟、精力匹配、时段安排）。**

**核心原则：AI 先构建，用户再确认。** 不要抛出开放性问题让用户自己想——Agent 应根据已收集到的信息和领域常识主动构建提案，用户只需确认或纠正。只有关键信息确实缺失时才追问（用最小化追问，见各阶段末尾）。

---

## 阶段一：长期目标（>3 个月）

从最高视角开始，先锁定大方向。

**模式**：用一个开放性问题获取用户的目标方向，然后根据回答**主动推断**出领域、进度、截止日期等，以结构化卡片回显给用户确认。

**开场**：
"未来半年到一年，你最重要的目标是什么？不用想具体怎么做，先说是什么。"

**Agent 动作**：用户回答后，根据关键词（考研/考公/跳槽/学技能等）**由 Agent 主动推断**目标领域、可能的子项、常见进度状态，以表格回显。例如用户说"考研"，Agent 应主动列出可能的科目矩阵并标注已知进度。

**最小化追问**（仅在完全无法推断时提问）：
- 有没有硬截止日期？
- 有没有已经完成/正在推进/还没开始的区分需要你补充的？

---

## 阶段二：中期目标（1-3 个月）

把长期目标拆到可感知的季度/月度里程碑。

**模式**：Agent 根据阶段一的长期目标 + 截止日期，**主动构建**一个 1-3 个月的时间线表格，包含各子项的阶段性节点和交付物。用户只需说"对"或"调整某处"。

**Agent 动作**：
- 根据目标类型（考试/项目/学习等）和截止时间，按常识倒推合理的时间阶段划分（如「基础收尾→强化→真题→冲刺」）。
- 将用户已提到的进度填入各时间段。
- 以「总时间线 + 当前月度」两层展示。

**最小化追问**（仅关键参数缺失时追问，每次不超过 2 个问题）：
- Agent 提案中无法推断的具体工具/资料（如"高数强化用哪本题库？660还是880？"）
- 与常规节奏明显不符的节点（如专业课迟迟未启动是否需要调整）

---

## 阶段三：月度里程碑

把中期目标落实到当前月份。

**模式**：Agent 根据阶段二的时间线，**自动生成**当前月的各科月度目标表，包含预估产出和每周推进节奏。

**Agent 动作**：
- 从阶段二的时间线中截取当前月份。
- 按科目/子项展开为每周推进量（如"线代每天看X讲视频，预计N周完成"）。
- 标注本月不可错过的关键节点（如报名截止、真题启动日）。

**最小化追问**（仅无法合理推断时）：
- 本月有没有 Agent 不知道的外部节点？（如报名、确认、考试）

---

## 阶段四：周任务

从月度拆到本周（当前自然周）。

**模式**：Agent 根据阶段三的月度目标 + 精力地图（步骤 0 已收集），**主动生成**本周任务清单，分为硬截止和弹性两类，用户只需调整优先级或纠正任务量。

**Agent 动作**：
- 从月度目标中提取本周应推进的任务。
- 自动标注硬截止 vs 弹性。
- 根据各科视频/书籍典型时长和用户可用时间，给出每条任务的预估耗时。

**最小化追问**（仅在数据不足以拆分时）：
- 确认本周是否有阶段一中未提及的临时事件打乱节奏。

## 阶段五：领域补充（可选，快速扫描）

完成自顶向下收集后，仅快速扫描以下领域，确认无遗漏。此阶段**不展开讨论**，只做是否判断题。

- 个人事务（缴费、办证、购物）——有吗？
- 重复例行（每日复盘、锻炼）——有吗？
- 模糊事项（改天有空做但一直没安排）——有吗？
- 当前阻塞（等待他人/他人等待你）——有吗？

无遗漏则直接进入阶段六。

## 阶段六：输出结构化任务树

将收集到的所有任务，按时间层级整理为：

```
🟣 长期目标 → 🟠 中期（1-3月）→ 🟡 月度 → 🔵 周级 → ✅ 日行动
```

**输出格式**：

```markdown
## 收集完成 · 任务树

### 🟣 长期（>3月）
- 目标A：... | 截止：... | 进度：...%

### 🟠 中期（1-3月）
- 节点1：... | 截止：... | 进度：...%
  - 依赖：...
- 节点2：...

### 🟡 本月
- 周目标1：... | 产出：...
- 周目标2：...

### 🔵 本周
- [硬截止] 任务1 | 预估耗时：...
- [弹性] 任务2 | 预估耗时：...

### ✅ 日行动（暂不细化，步骤 5 填充分配）
```

完成后，将结构化任务树交给步骤 2（按时间跨度分类），开始进入下一步。

## 对 Agent 的引导说明

- **AI 先构建，用户后确认是硬规则**：永远不要让用户自己想答案。Agent 应基于已收集信息和领域常识主动构建提案，用户只需说"对"或"调整某处"。
- **自顶向下是硬规则**：必须先走完阶段一到四，才能进入阶段五。任何时候不得在收集阶段追问日计划细节。
- **禁止日计划纠缠**：收集阶段绝不允许讨论「休息几分钟」「哪个时段做什么」「精力匹配」等步骤 5 才处理的内容。发现自己在讨论这些 → 立即停止，返回阶段一中尚未完成的层级。
- **最小化追问**：追问只用于填补 Agent 无法推断的关键缺口。每次追问不超过 2 个问题。能用常识推断的（如考研科目、复习阶段划分、典型教材）直接推断。
- 若用户给出的是日级零散任务，引导反问：「这些任务服务于哪个更大的目标？」将其上溯到正确的层级。
- 若用户跳过某个时间层级，记录为「该层级暂不明确」并在下一层级继续，不要编造。
- 收集过程中不排序、不评判重要性、不讨论可行性。
# 周视图规划指南

当用户需要详细周视图时加载本指南。任务拆解和日计划生成已在 SKILL.md 主工作流中完成，本指南聚焦于周视图特有的构建逻辑和输出格式。

## 何时切换为周视图

- 用户明确要求查看"本周整体安排"或"周计划总览"。
- 本周任务涉及跨日依赖链，需要可视化每一天的负载。
- 用户想从周视角审视弹性任务的分配是否合理。

## 周视图构建

主工作流（SKILL 步骤 3 级联拆解 → 步骤 5 构建周池）已完成周任务的拆解和重要性排序。本指南在此之上补充周视图特有的构建步骤：

### 步骤 1：确定本周三大目标

引导用户从当前周池中提取本周最关键的 3 个目标。若用户不确定，提问："如果本周只能完成三件事来换取满意度，这三件是什么？"

### 步骤 2：每日主题分配

- 为每天设定一个主题（如"深度工作日"、"会议日"、"弹性日"），避免每天混合所有类型。
- 将三大目标对应的任务优先排入主题匹配的日子。
- 注意避开用户的固定占用时间（参考 `energy_mapping.md` 的个性化精力地图）。

### 步骤 3：标注跨日任务链

注意 SKILL 步骤 3 已完成的级联拆解结果中可能包含跨日任务链。在周视图中：
- 标注跨日任务链中每日子步骤的执行状态和依赖。
- 若某日未完成导致后续链断裂，触发弹性调整（回周池按重要性重排）。

### 步骤 4：区分核心与弹性

将周池中的任务分为两组展示：

| 分组 | 来源 | 处理 |
|------|------|------|
| 本周核心 | 硬截止 / 阻塞链前端 / SKILL 步骤 5.1 归入核心的 | 不推至下周 |
| 周池弹性 | 重要但无硬截止 / SKILL 步骤 5.1 归入弹性的 | 超额时删减，回到长期计划月度里程碑 |

### 步骤 5：校验负载均衡

- 确保每日总任务时长不超过 4.8h，且深度任务不连续超过 3 小时。
- 每日总时长之间相差不超过 1.5h，避免某天过载。
- 周池弹性任务占比不超过 40%，超出说明本周容量不足，需与用户协商。

### 输出格式

构建完成后，读取 `assets\weekly_templates.md`，按模板格式输出 Markdown 表格。逐项执行模板中的验证规则并标注通过状态（✅/⚠）。

