Skip to content

Proposal:GoalScopedProfile 项目级历史画像 #67

Description

@LUPENGHAN

Issue:GoalScopedProfile 项目级历史画像

1. 功能描述

GoalScopedProfile 是某一个长期 Goal 下的隐藏项目级历史画像。它记录该 Goal 相关的时间习惯、任务粒度偏好、可投入时间、修改原因和执行偏差摘要,用于后续同一 Goal 的拆分、重排和复盘解释。

它不是全局 UserProfile,不由用户手动维护,也不会自动修改业务事实。

2. 用户 / 用户故事

目标用户:在不同长期 Goal 中具有不同时间约束和执行习惯,需要计划逐步贴合当前项目的核心用户。

用户在创建某个 Goal 时回答“这个目标周末多做,工作日只做轻任务”。第一次拆分完成后,系统异步沉淀为该 Goal 的隐藏画像。后续用户因为“晚上效率低”调整重排方案,系统将这个明确原因追加到该 Goal 的画像中,帮助下一次重排更贴合当前项目。

3. 现有做法及不足

只依赖全局显式画像时,系统无法表达“某一个 Goal 内部”的执行习惯。用户在某个长期目标里的时间偏好、任务粒度、能力掌握程度和反复调整原因,不一定适用于所有目标,因此不应直接写入全局 UserProfile。

4. 本期范围

  1. 为每个长期 Goal 支持一个隐藏 GoalScopedProfile
  2. 在 Goal 拆分前的少量习惯询问中,用户给出明确回答后即可异步生成或更新。
  3. 在 GoalPlanDraft 确认应用后,可根据确认结果异步补充更新。
  4. 在重排过程中用户明确表达习惯、困难或修改原因后即可异步更新;ReschedulePlan 确认结果可作为后续来源。
  5. 更新结果只作为同一 Goal 的上下文输入。
  6. 冲突时以用户当前明确输入优先。

5. 明确不做

  • 不作为全局 UserProfile。
  • 不提供用户手动维护入口。
  • 不自动修改 Schedule、Todo、Goal 或 Task。
  • 不凭空推断用户习惯。
  • 不把某个 Goal 的画像自动应用到其他 Goal。
  • 不阻塞 Goal 拆分、重排或确认主流程。

6. 关键决策

决策点 备选方案 选择 理由
画像作用域 全局 / 单个 Goal 单个 Goal 防止局部习惯污染全局画像
可见性 用户维护页 / 隐藏摘要 隐藏摘要 MVP 先服务计划质量,不增加维护负担
更新时机 仅确认后 / 明确输入后异步触发 明确回答 / 修改原因出现后异步触发,确认结果可补充 只使用用户主动回答、明确表述或明确选择,不凭空推断
更新方式 同步阻塞 / 异步 异步 不阻塞主流程
冲突处理 旧画像优先 / 当前输入优先 当前明确输入优先 用户当下约束最可靠

7. 边界与异常

  • 没有用户主动回答、明确习惯表述、明确修改原因或确认结果时,不生成画像更新。
  • 画像摘要与本次用户输入冲突时,本次输入优先。
  • 画像生成失败不影响 GoalPlanDraft 或 ReschedulePlan 应用。
  • 画像内容只能作为上下文建议,不是事实数据。
  • 用户删除 Goal 时,对应 GoalScopedProfile 一并删除或失效。

8. 基本概念与信息结构

{
  "goal_id": "goal_001",
  "profile_summary": {
    "available_time": "工作日每天约 1 小时,周末可投入 3 小时",
    "preferred_time_period": "晚上不适合高强度任务",
    "task_granularity": "偏好 30-45 分钟任务",
    "replan_reasons": "临时会议常打断周三晚间安排"
     "capability": "擅长XXXX,不擅长XXX"
  },
  "sources": [
    {
      "type": "user_explicit_input",
      "ref": "conversation/message id or feedback id"
    }
  ],
  "updated_at": "datetime"
}

9. Agent 输入输出约束

  • 主 Agent 触发公共画像归纳能力。
  • 公共画像归纳能力不直接读写数据库。
  • 主 Agent 提供当前 Goal、已有画像、用户主动回答、明确习惯表述、重排修改原因、确认后的计划 / 重排动作、相关 Feedback 和最近 20 条对话。
  • 输出为画像更新候选或摘要字段。
  • 主 Agent 调用公共数据模块保存。

10. 验收标准

  • Goal 拆分前的明确回答可以异步生成或更新当前 Goal 的隐藏画像,且不阻塞本次拆分。
  • 重排时的明确习惯或修改原因可以异步更新画像,且不阻塞本次方案生成;确认结果可继续补充来源。
  • 画像只在同一 Goal 后续拆分 / 重排 / 复盘解释中作为上下文。
  • 当前用户明确输入与画像冲突时,以当前输入为准。
  • 画像更新失败不影响计划或重排主流程。
  • 画像不会自动写入全局 UserProfile。

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