Issue:GoalScopedProfile 项目级历史画像
1. 功能描述
GoalScopedProfile 是某一个长期 Goal 下的隐藏项目级历史画像。它记录该 Goal 相关的时间习惯、任务粒度偏好、可投入时间、修改原因和执行偏差摘要,用于后续同一 Goal 的拆分、重排和复盘解释。
它不是全局 UserProfile,不由用户手动维护,也不会自动修改业务事实。
2. 用户 / 用户故事
目标用户:在不同长期 Goal 中具有不同时间约束和执行习惯,需要计划逐步贴合当前项目的核心用户。
用户在创建某个 Goal 时回答“这个目标周末多做,工作日只做轻任务”。第一次拆分完成后,系统异步沉淀为该 Goal 的隐藏画像。后续用户因为“晚上效率低”调整重排方案,系统将这个明确原因追加到该 Goal 的画像中,帮助下一次重排更贴合当前项目。
3. 现有做法及不足
只依赖全局显式画像时,系统无法表达“某一个 Goal 内部”的执行习惯。用户在某个长期目标里的时间偏好、任务粒度、能力掌握程度和反复调整原因,不一定适用于所有目标,因此不应直接写入全局 UserProfile。
4. 本期范围
- 为每个长期 Goal 支持一个隐藏
GoalScopedProfile。
- 在 Goal 拆分前的少量习惯询问中,用户给出明确回答后即可异步生成或更新。
- 在 GoalPlanDraft 确认应用后,可根据确认结果异步补充更新。
- 在重排过程中用户明确表达习惯、困难或修改原因后即可异步更新;ReschedulePlan 确认结果可作为后续来源。
- 更新结果只作为同一 Goal 的上下文输入。
- 冲突时以用户当前明确输入优先。
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。
Issue:GoalScopedProfile 项目级历史画像
1. 功能描述
GoalScopedProfile是某一个长期 Goal 下的隐藏项目级历史画像。它记录该 Goal 相关的时间习惯、任务粒度偏好、可投入时间、修改原因和执行偏差摘要,用于后续同一 Goal 的拆分、重排和复盘解释。它不是全局
UserProfile,不由用户手动维护,也不会自动修改业务事实。2. 用户 / 用户故事
目标用户:在不同长期 Goal 中具有不同时间约束和执行习惯,需要计划逐步贴合当前项目的核心用户。
用户在创建某个 Goal 时回答“这个目标周末多做,工作日只做轻任务”。第一次拆分完成后,系统异步沉淀为该 Goal 的隐藏画像。后续用户因为“晚上效率低”调整重排方案,系统将这个明确原因追加到该 Goal 的画像中,帮助下一次重排更贴合当前项目。
3. 现有做法及不足
只依赖全局显式画像时,系统无法表达“某一个 Goal 内部”的执行习惯。用户在某个长期目标里的时间偏好、任务粒度、能力掌握程度和反复调整原因,不一定适用于所有目标,因此不应直接写入全局 UserProfile。
4. 本期范围
GoalScopedProfile。5. 明确不做
6. 关键决策
7. 边界与异常
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 输入输出约束
10. 验收标准