Skip to content

Proposal:长期安排模块 #14

Description

@znnnnnnn-wil

Proposal:长期安排模块(Goal 与 Task 拆分、管理及自动排期)(V2)

1 功能描述

很多用户只能写出“准备 Java 面试”“完成课程设计”“复习期末考试”这类大目标,却不知道每天具体做什么、需要多久以及应安排在什么空闲时段。本能力将 Goal 拆解成一组可以确认、调整并直接执行的 Task,并自动把每个 Task 放入真实可用时间。

正式对象只有两层:

Goal
└─ Task

不存在 Subtask。每个正式 Task 必须属于一个 Goal,并同时具有明确的开始日期时间和结束日期时间;缺少完整时间的内容只能作为候选草稿,不能生成正式 Task。

AI 拆分只从 AI Tab 发起。母 Agent 通过多轮对话理解 Goal、读取用户已确认画像和当前时间占用,再把必要上下文交给长目标拆分 Agent。子 Agent 返回结构化 GoalPlanDraft;母 Agent 展示计划、假设、冲突和多种取舍方案。用户可以继续对话要求调整,也可以修改、删除或增加候选 Task。只有用户最终确认后,母 Agent 才调用确定性业务能力原子创建 Goal/Task。

目标 Tab 承载已落库 Goal 的列表、Task 列表、确定性进度和轻量 AI 总结;正式 Task 同时投影到日程 Tab 对应时间段。

2 用户

目标用户

  • 准备面试、考试、竞赛、论文或课程设计的学生。
  • 在工作之外推进学习、证书或个人项目的职场人员。
  • 需要在数周内交付项目的自由职业者。
  • 有 Goal 但缺少拆解、估时和排期能力,容易高估每日任务量的用户。

用户故事

场景小故事 对应能力 价值
我只知道“两周内准备 Java 后端面试”,不知道每天做什么。 Goal 多轮澄清与 Task 拆分 从目标变成执行路径
我的会议和日常安排已经占了一些时间。 读取现有时间占用并自动排期 不生成与现实冲突的计划
AI 给的任务太密,我希望周末多做、工作日少做。 对话调整与重新生成 计划符合个人约束
截止前空闲时间不足。 展示多种可选方案 明确取舍,不制造无法完成的假计划
我想精确修改某个 Task 的时间或内容。 草稿卡片编辑 保留最终控制权
所有 Task 都完成了。 Goal 完成确认 系统提示,但不替用户自动关闭 Goal

3 现有做法及不足

现有做法 可以解决 仍然存在的问题
用户手写阶段计划 表达大致路径 仍不知道具体日期、起止时间和每日负载
AI 只输出文字清单 提供拆分建议 无法与已有日程校验,也不能直接进入执行视图
#14 的“子任务 + 基础冲突提示” 能生成较细计划 Task/Subtask 概念重复;发现冲突后仍可能产生不可执行草稿
AI 自动排满所有空闲时间 生成速度快 没有缓冲,容易过载,用户失去控制
用户逐条手动创建任务 最准确 重复录入成本高,失去 AI 拆分价值

核心问题:Goal 拆分、时间容量和现有安排没有形成一个可确认的计划生成闭环。

4 产品范围

本期范围

Goal 与 Task 管理

  • 支持 Goal 的手动创建、查看、编辑、完成确认、归档/删除。
  • 支持 Goal 下 Task 的手动创建、查看、编辑、完成、取消、删除和调整时间。
  • 手动创建 Task 同样必须选择所属 Goal和完整起止日期时间。
  • 目标 Tab 展示全部 Goal、每个 Goal 的 Task 列表、确定性完成进度和轻量 AI 总结。
  • Task 的权威数据只有一份;目标 Tab按归属展示,日程 Tab 按时间投影。

AI 拆分与自动排期

  • 用户在 AI Tab 描述 Goal,母 Agent通过多轮对话补齐规划所需信息,例如截止约束、完成标准、当前基础、可投入时间、计划强度和偏好时段。
  • 母 Agent读取当前用户已确认的显式画像,以及规划窗口中的 Schedule、已排期 Todo、已有 Task 和提醒/状态等必要事实。
  • 现有 Schedule 默认作为当前时间占用。Schedule 本身不保存可移动性分类;只有在本次 Goal 排期需要调整现有安排时,AI 才根据 Schedule title 临时判断是否提出移动动作,并把该动作放入待确认方案。
  • 长目标拆分 Agent生成 Task 内容、完成标准、预计投入与完整起止时间的候选计划。
  • Task 自动安排在真实空闲时间,不允许通过时间重叠“挤入”计划。
  • 草稿展示拆分依据、关键假设、时间占用和潜在风险。用户可:
    • 直接确认整份计划;
    • 修改 Task 内容、顺序或起止时间;
    • 删除或增加候选 Task;
    • 用自然语言提出新要求并重新生成;
    • 在容量不足时选择一种取舍方案后重新排期。
  • 最终确认后原子创建 Goal 和全部 Task;任一创建失败则全部回滚,不留下半份计划。

容量不足处理

当截止前没有足够空闲时间时,不生成冲突 Task,也不自动移动现有 Schedule。系统必须展示容量缺口及若干可执行方案,例如:

  1. 延长 Goal 截止日期。
  2. 降低本次 Goal 范围或减少 Task。
  3. 调整计划强度、每日可投入时间或偏好时段。
  4. 由 AI 根据 Schedule title 判断是否提出某些 Schedule 的调整动作,并与已排期 Todo 一起生成待确认重排候选。
  5. 保留核心 Task,把非核心内容移出本 Goal。

用户可以修改方案条件,母 Agent再调用拆分/排期 Agent重新生成;系统不得替用户选择或强行应用。

Goal 完成与删除

  • 全部 Task 结束时提示用户确认是否完成 Goal;不自动改变 Goal 正式状态。
  • Goal 到期或全部 Task 结束可触发目标复盘,但复盘生成不等于 Goal 完成。
  • 删除/归档 Goal 前进行强确认,明确展示受影响 Task 和待取消提醒。
  • 确认后 Goal 与其 Task统一归档/删除并取消未触发提醒;历史 Feedback 和 ReviewReport保留用于追溯。

明确不做

  • Subtask、无限层级、任务依赖图、团队 Goal 和多人分派。
  • 没有所属 Goal 的 Task,或没有完整起止时间的正式 Task。
  • AI 计划未经确认直接落库。
  • 未在候选中明确展示且未经确认就移动 Schedule,或在容量不足时制造时间冲突。
  • 在目标 Tab 开启第二个 AI 会话或自动把页面上下文带入 AI Tab。
  • 在本 Proposal 中实现执行反馈、重排或复盘内部逻辑。

后续可拓展

  • 任务依赖、里程碑和跨 Goal 容量优化。
  • P1 使用经用户确认的历史画像候选校准估时和任务粒度。

5 关键决策

决策点 方案 结论 理由
对象层级 Goal → Task → Subtask 不选 概念和操作成本过高
对象层级 Goal → Task 采纳 一层执行对象即可完成拆解与反馈
时间粒度 只生成阶段或日期清单 不选 用户仍不知道具体何时执行
时间粒度 每个 Task 具有完整起止日期时间 采纳 草稿确认后可以直接执行
排期方式 只提示冲突,用户自己排 不选 没有解决规划到执行的最后一步
排期方式 根据空闲时间自动安排 采纳 降低二次排期成本
AI 应用 生成后直接创建 不选 识别和估时可能错误
AI 应用 候选 → 调整 → 整体确认 采纳 用户保留最终决定权
容量不足 强行压缩或冲突排入 不选 形成不可执行计划
容量不足 展示多种取舍并重新生成 采纳 让限制和代价透明
修改方式 只能重填 Goal 不选 调整成本高
修改方式 多轮对话 + 卡片编辑 采纳 同时支持自然语言和精确修改
落库方式 逐条创建、允许部分成功 不选 会产生残缺计划
落库方式 整体确认、原子创建 采纳 保证 Goal 与 Task 一致

6 边界与异常

边界规则

  • AI 入口只在 AI Tab;目标 Tab 只展示已保存对象和提供手动操作。
  • 正式 Task 必须同时满足:属于当前用户的一个 Goal、开始时间有效、结束时间晚于开始时间、没有违反已确认硬约束。
  • 用户当前明确输入优先于用户画像;冲突时必须展示并询问,不得静默覆盖。
  • 画像是规划输入,不是写入授权;画像变化不自动改动既有 Task。
  • 草稿基于数据版本生成。确认前若 Schedule/Todo/Task 已变化,必须重新校验。
  • AI 追问数量不固定,以完成有效规划为准;已经明确的信息不重复询问。

异常场景与处理方式

场景 系统行为 原则
Goal 信息不足 继续多轮追问,不生成空泛计划 先澄清再规划
Task 候选缺少开始或结束时间 保留草稿并提示调整,不允许确认落库 正式 Task 必须可执行
截止前容量不足 展示缺口和多种方案,等待用户选择后重排 不制造假计划
草稿与现有 Schedule 冲突 默认重新安排;若 AI 根据 title 提出移动该 Schedule,必须作为独立动作展示并等待确认 不做隐式移动
用户修改出冲突时间 阻止最终确认并给出替代空闲时间 计划一致性
确认前数据变化 标记旧草稿需要重新校验;保留用户修改意图 防止覆盖新事实
Agent 输出结构非法 不进入确认流程,保留会话并允许重试 非法候选不能落库
批量创建中任一失败 全部回滚,草稿仍可修改后重试 原子性
Goal 到期但未完成 自动复盘并给出调整建议,不自动关闭 时间经过不等于完成
删除 Goal 强确认后处理 Goal/Task/提醒,保留历史反馈和报告 可追溯

7 基本概念与信息结构

概念 含义
Goal 用户希望在一段时间内完成的长期目标
Task Goal 下唯一一层正式执行任务,必须有完整起止时间
GoalPlanDraft AI 生成、等待用户调整和确认的计划草稿,不是正式任务
空闲时间 排除现有时间占用和硬约束后的可安排时段
容量缺口 截止前可用时间不足以承载候选 Task 的差额
显式用户画像 用户手动维护并已确认的规划偏好和约束

信息结构:

AI Tab
→ Goal 多轮规划会话
→ GoalPlanDraft / 容量方案
→ 用户修改与确认
→ Goal + Task 落库

目标 Tab
→ Goal 列表
→ Goal 详情
→ Task 列表 + 确定性进度 + 轻量 AI 总结

日程 Tab
→ 按时间投影正式 Task

8 验收标准

用例 操作 通过标准
多轮规划 用户只输入模糊 Goal AI 追问必要信息后再生成计划
画像参与 用户已有明确偏好 草稿体现相关偏好;当前输入冲突时以当前输入为准并说明
自动排期 规划窗口内存在 Schedule 和已有 Task 新 Task 进入真实空闲时间;若方案包含 Schedule 移动,必须明确展示且确认前原安排不变
Task 完整性 检查全部正式 Task 均属于 Goal,且开始/结束日期时间完整有效
容量不足 截止前可用时间小于任务需求 不创建冲突任务,展示至少两类取舍方案
对话调整 用户要求“工作日少一点,周末多一点” 重新生成并保留 Goal 核心要求
手动编辑 用户修改候选 Task 时间 重新校验空闲和截止约束
未确认 用户退出或取消草稿 不创建 Goal/Task 正式数据
原子创建 批量创建中模拟一项失败 不留下部分 Goal/Task,草稿可重试
双视图一致 确认计划后查看目标 Tab 和日程 Tab 两处展示同一 Task 权威状态和时间
Goal 完成 全部 Task 完成 提示用户确认,不自动完成 Goal
Goal 删除 用户确认删除 Goal/Task 和待处理提醒按说明处理,历史 Feedback/ReviewReport 保留
层级约束 检查 UI、文档和候选 不出现 Subtask

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions