Skip to content

Proposal:智能时间重排 #17

Description

@yyy-router

Issue:重排模块

1. 功能描述

重排模块在用户主动请求时,生成待确认的 ReschedulePlan。方案可以自动生成和保存为待确认状态,但不能自动应用。

用户确认后,系统原子应用调整动作;应用完成后可异步更新当前 Goal 的 GoalScopedProfile

2. 用户 / 用户故事

目标用户:日程不确定性高、计划经常被临时事件打断,需要低成本恢复节奏的个人用户。

临时会议占用了原本安排的 Task。系统发现冲突后生成重排方案,说明哪些 Task 被移动、为什么这样调整、是否存在风险。用户确认后方案生效,未确认前原计划不变。

3. 现有做法及不足

计划被打断后,如果没有统一的重排方案,用户往往只能逐条手动移动事项,恢复成本很高。

重排模块需要把冲突、延期和容量不足转换成待确认的 ReschedulePlan,并在用户确认后原子应用。

4. 本期范围

  1. 支持用户主动请求重排。
  2. 生成 ReschedulePlan 待确认方案。
  3. 展示 before / after、调整原因、风险和取舍。
  4. 支持用户修改、部分取消动作。
  5. 用户确认后原子应用。
  6. 应用后异步触发 GoalScopedProfile 更新。
  7. 支持作为耗时任务执行;前端轮询结果状态,并在方案可用时提醒用户查看。

5. 明确不做

  • 不自动应用重排。
  • 不做服务端实时推送。
  • 不做跨用户或团队排期。
  • 不做复杂输入规模优化。
  • 不让重排 Agent 直接读取数据库或写入数据库。
  • 不把未确认方案改写成正式安排。

6. 关键决策

决策点 备选方案 选择 理由
触发方式 仅主动 / 仅被动 / 两者 主动 打断后及时恢复,保留用户控制
方案状态 即时丢弃 / 待确认保存 待确认可保存 方便通知和稍后处理
应用方式 自动应用 / 逐项直接写入 / 原子确认 用户确认后原子应用 避免半成品
解释 只列结果 / 展示原因和风险 必须展示原因和风险 提升信任
画像沉淀 全局画像 / 当前 Goal 当前 Goal 范围 不污染全局画像
耗时结果 阻塞等待 / 轮询后提醒 轮询状态 + 待确认提醒 方案生成完成不等于已经应用

7. 边界与异常

  • 已有待确认 ReschedulePlan 时,提示用户处理或重新生成。
  • 方案应用前目标对象被删除或改变时,需要重新校验。
  • 部分动作被用户取消后,必须重新检查冲突。
  • 原子应用失败时全部回滚。
  • 未确认方案不会改变 Schedule / Todo / Task。
  • MVP 暂不限制重排输入规模;性能和 token 风险进入实现风险清单,不在产品层静默裁掉未来事项。
  • 生成失败时原安排保持不变并允许重试;结果提醒只打开确认内容。

8. 基本概念与信息结构

ReschedulePlan
├─ trigger_reason
├─ affected_items
├─ adjustment_actions
├─ before_after
├─ risk_notes
├─ user_edit
└─ status: generating / pending / applied / cancelled / failed

9. Agent 输入输出约束

重排 Agent 输入由主 Agent 封装:

  • 截至用户输入时间的未来 Schedule / Todo / Task。
  • 相关 Feedback,以及存在未完成反馈的当前 Goal Task。
  • 当前 Goal 和 GoalScopedProfile
  • 用户显式画像。
  • 本次触发原因和明确约束。
  • 最近 20 条对话。

输出:

  • ReschedulePlan 候选。
  • 解释与风险。
  • db_action 建议,必须等待确认。

10. 验收标准

  • 未确认前原计划不变。
  • 方案展示调整前后、原因和风险。
  • 用户可取消或修改部分动作。
  • 应用后无半成功;失败则回滚。
  • 应用成功后相关日程 Tab / 目标 Tab 刷新。
  • 应用后可异步更新当前 Goal 的 GoalScopedProfile
  • 生成期间可查询状态;结果可用后提醒只打开 ReschedulePlan,不会自动应用。

Metadata

Metadata

Assignees

No one assigned

    Labels

    FullSpec完整规格提案:影响面较大,需要写清楚动机、范围、不做、备选方案、接口/数据结构、原型、验收标准Proposal-Acceptedproposal

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions