Skip to content

Proposal:即时复盘模块 #69

Description

@LUPENGHAN

Issue:即时复盘模块

1. 功能描述

即时复盘模块支持用户在 AI Tab 中按时间范围或 Goal 范围发起复盘。母 Agent 通过公共数据模块现场读取 Schedule / Todo / Task / Feedback / ReschedulePlan 等事实,确定性代码计算统计结果,再把完整范围、事实、统计和最近 20 条对话封装给复盘 Agent 生成解释、归因和建议。复盘 Agent 不自行搜索数据库,也不重新计算统计。

复盘结果只作为本次 AI 对话中的展示结果,不作为 ReviewReport 业务实体落库。

每周复盘提醒或 Goal 到期提醒可以通过 ReviewEntry 承载入口和范围配置。ReviewEntry 不是复盘报告实体,点击后才由主 Agent 现场生成本次复盘结果。

2. 用户 / 用户故事

目标用户:希望基于可追溯执行事实理解周期节奏或单个 Goal 偏差的个人用户。

  • 用户问“复盘一下今天”。
  • 用户问“看看上周我执行得怎么样”。
  • 用户问“复盘一下产品需求报告这个 Goal”。
  • 用户继续追问“为什么你说我晚上效率低?”
  • 用户收到每周复盘入口提醒,点击后进入 AI Tab 现场生成。
  • 用户收到 Goal 到期复盘入口提醒,点击后进入 AI Tab 现场生成。

系统根据本次范围现场检索事实,生成一份可读复盘,并在追问时引用事实依据。

3. 现有做法及不足

如果复盘只能靠用户事后手写总结,就很难同时兼顾事实依据、统计结果和可继续追问的表达。

本模块要让复盘在 AI Tab 里现场完成:先读事实,再算统计,最后生成解释和建议。

4. 本期范围

  1. 用户在 AI Tab 主动发起复盘。
  2. 支持 PERIOD 范围:日 / 周 / 月 / 自定义时间段。
  3. 支持 GOAL 范围:某个长期 Goal。
  4. 支持从 ReviewEntry 进入复盘流程。
  5. 主 Agent 判断范围并补齐必要参数。
  6. 主 Agent 读取相关事实数据。
  7. 确定性代码计算完成率、延期、耗时、原因分布等统计。
  8. 复盘 Agent 基于事实和统计生成现场文本。
  9. 用户可继续追问,系统基于同一事实范围回答。
  10. 复盘 Agent 使用统一外层响应:默认 isDisplayResult = trueisNeedUser = falsedb_action = null

5. 明确不做

  • 不落库 ReviewReport 业务实体。
  • 不保存版本化复盘报告。
  • 不提供历史报告列表。
  • 不自动生成报告后通知用户。
  • 不把 ReviewEntry 当作复盘报告实体。
  • 不做独立复盘 Tab。
  • 不做深度设备使用监控。
  • 不在复盘中自动修改计划或画像。

6. 关键决策

决策点 备选方案 选择 理由
模块数量 PERIOD/GOAL 分模块 / 单模块参数化 一个即时复盘模块 PERIOD / GOAL 只是范围参数
数据来源 保存快照报告 / 每次现场读取事实 现场搜索事实 保持结果与最新事实一致
统计 LLM 计算 / 确定性代码计算 确定性代码计算 数字不能由 LLM 编造
AI 职责 统计与表达全包 / 只负责表达 解释、归因、建议表达 LLM 负责可读性和总结
落库 版本化 ReviewReport / 只保留对话结果 不落业务报告 降低范围,避免历史版本负担
入口 自动生成报告 / ReviewEntry 入口提醒 ReviewEntry 只保存复盘入口和范围配置,不保存报告结果
架构“复盘报告字符串” 报告实体 / 当次展示文本 ReviewRuntimeResult 的展示文本 只是当次输出格式,不代表报告业务实体

7. 边界与异常

  • 范围不明确时,主 Agent 追问时间段或 Goal。
  • 事实数据不足时,必须说明不足,不做强归因。
  • 复盘结果可以作为普通对话消息保存,但不是业务报告实体。
  • ReviewEntry 只用于进入复盘流程;对应范围失效或目标被删除时,需要提示用户重新选择范围。
  • 用户追问时可以复用当前会话范围;跨范围追问需要重新检索。
  • 复盘建议不能直接改变 Schedule / Todo / Task / Goal / Profile。
  • 架构基准中预留的“保存复盘报告”接口在 MVP 不调用;若未来启用,必须另建 Proposal 和架构变更说明。

8. 基本概念与信息结构

ReviewEntry
├─ scope_type: PERIOD / GOAL
├─ period_preset: weekly / custom / null
├─ period_start / period_end
├─ goal_id
├─ trigger_reason: weekly_reminder / goal_due
└─ status: pending / used / cancelled

ReviewRequest
├─ scope_type: PERIOD / GOAL
├─ period_start / period_end
├─ goal_id
└─ question

ReviewRuntimeResult
├─ facts
├─ deterministic_stats
├─ ai_summary
├─ evidence_refs
└─ generated_in_conversation

允许保存:

  • 普通 Conversation Message。
  • 必要的处理日志或埋点。

不允许保存:

  • ReviewReport 业务对象。
  • 报告版本列表。
  • 自动生成的历史报告实体。

入口与结果关系:

ReviewEntry
→ ReviewRequest
→ ReviewRuntimeResult

9. Agent 输入输出约束

复盘 Agent 输入由主 Agent 封装:

  • 复盘范围。
  • 相关事实数据。
  • 确定性统计结果。
  • 最近 20 条对话。
  • 用户本次问题。

事实读取和统计边界:

  • 母 Agent 通过公共数据模块按用户、时间或 Goal 范围读取原始事实。
  • 确定性代码计算完成率、延期、耗时和原因分布。
  • 复盘 Agent 只基于已提供事实和统计组织表达,不直接访问公共数据模块。

输出:

  • isDisplayResult = true
  • 默认 isNeedUser = false
  • 默认 db_action = null
  • 结果中包含总结、证据引用和建议。

10. 验收标准

  • 用户可在 AI Tab 发起日 / 周 / 月 / 自定义时间段复盘。
  • 用户可在 AI Tab 发起某个 Goal 的复盘。
  • 每周复盘入口提醒可进入 AI Tab 并现场生成。
  • Goal 到期复盘入口提醒可进入 AI Tab 并现场生成。
  • 范围不明确时先追问。
  • 统计数字与底层事实数据一致。
  • 数据不足时不输出强归因。
  • 复盘结果展示在 AI Tab 中。
  • 数据库中不新增 ReviewReport 业务实体。
  • 不存在历史复盘报告列表。
  • 复盘提醒点击后现场生成,而不是打开已生成报告。
  • ReviewEntry 不包含已生成复盘结果。
  • 复盘 Agent 无数据库访问能力,输入统计与底层事实一致,输出中不存在可执行 db_action

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