Files
smartmate/docs/智能排程四步走实施方案.md
LoveLosita 5223b5db61 Version: 0.6.7.dev.260317.doc
补传智能排程落地实施方案(初稿)
2026-03-17 21:54:19 +08:00

173 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 智能排程四步走实施方案(实施稿)
## 1. 文档目标
- 目标 1给出 SmartFlow 智能排程 Agent 的分阶段落地路径,确保功能可持续上线,而不是一次性大改。
- 目标 2在保证项目推进速度的前提下提升系统“可解释性、可回滚性、可复用性”同时增强项目叙事深度。
- 目标 3明确每一阶段的输入输出、复用点、验收标准、风险与回滚策略。
## 2. 当前项目可复用资产盘点
- 已有粗排能力:`ScheduleService.SmartPlanning` + `logic.SmartPlanningMainLogic`,可直接作为“候选方案生成器”。
- 已有强校验+事务落库能力:`TaskClassService.BatchApplyPlans`,可直接作为“最终落地执行器”。
- 已有单条插入与冲突检查能力:`TaskClassService.AddTaskClassItemIntoSchedule`,可作为局部修补路径。
- 已有 Agent 分流和 Graph 基建:`route` / `quicknote` / `taskquery`,可以按同样范式扩展 `scheduleplan`
- 已有流式输出链路:可继续使用阶段推送 + OpenAI 兼容流,不破坏现有客户端协议。
## 3. 总体架构(目标态)
- 分层思路:`路由层(识别意图) -> 规划层(生成/调整排程计划) -> 执行层(校验+落库) -> 反馈层(解释结果与下一步建议)`
- 核心原则:
- 原则 1模型负责“提议”后端负责“裁决”硬校验
- 原则 2所有写库动作都走既有服务层不在 Agent 内直接拼 SQL。
- 原则 3每个阶段都可独立开关支持灰度和快速回滚。
---
## 4. 四步走实施计划
## 阶段 1基于现成任务类的粗排 + ReAct 调优 + 连续对话微调
### 4.1 阶段目标
- 用户已存在任务类时,支持一轮“粗排 -> 校验 -> 自动修补重试 -> 最终落库”。
- 支持连续对话微调(例如“我早八不想学习”)并在已有方案基础上局部调整。
### 4.2 关键实现
- 新增路由动作:`schedule_plan_create``schedule_plan_adjust`
- 新增 `backend/agent/scheduleplan` 包,建议结构:
- `graph.go`:只做节点连线与分支。
- `state.go`:保存计划状态、重试计数、错误上下文、版本号。
- `tool.go`:封装服务调用工具(粗排、批量应用、局部修补)。
- `nodes.go`节点逻辑plan/materialize/apply/reflect/finalize
- `prompt.go`:统一管理系统提示词和结构化输出约束。
- 执行链路建议:
- `plan`:产出结构化“排程意图与约束”。
- `preview`:调用粗排服务生成候选。
- `materialize`:把候选转换为 `BatchApplyPlans` 可落库结构。
- `apply`:调用 `BatchApplyPlans`
- `reflect`:若失败,把后端错误喂给模型生成修补方案,最多重试 2 次。
- `finalize`:输出结果摘要并持久化对话。
### 4.3 连续对话微调机制
- 设计 `PlanSession + PlanVersion`
- `PlanSession`:同一轮长期规划会话 ID。
- `PlanVersion`:每次调整生成新版本,支持回滚。
- 微调原则:
- 用户约束变更(如不学早八)只触发受影响槽位重排,不重建全量任务类。
- 保留“上版方案 + 本次 diff”方便解释“为什么这样改”。
### 4.4 验收标准
- 指标 1排程请求成功率 >= 95%(含自动重试后)。
- 指标 2平均重试次数 <= 1.2。
- 指标 3连续对话微调后最终落库成功率 >= 95%。
### 4.5 风险与回滚
- 风险:模型给出的方案结构不稳定。
- 应对:严格 JSON Schema 校验,失败直接走默认修补/人工规则。
- 回滚:关闭 `ENABLE_SCHEDULE_PLAN_AGENT`,回退到原接口链路。
---
## 阶段 2从“我想复习概率论”自动生成任务类并接入阶段 1
### 5.1 阶段目标
- 用户只给学习目标(如“我想复习概率论”)时,系统自动生成任务类(章节/题型/轮次/估算工作量),并直接进入阶段 1 的排程链路。
### 5.2 关键实现
- 新增“任务类规划节点TaskClass Planner
- 输入:目标、时间范围、偏好、当前课程负载。
- 输出:`UserAddTaskClassRequest` 兼容结构。
- 采用“单次聚合生成 + 后端硬校验”:
- 模型一次输出任务类结构(减少往返延迟)。
- 后端用现有 `AddOrUpdateTaskClass` 做合法性校验与写库。
- 打通链路:
- `Goal -> TaskClass -> SmartPlanning -> BatchApplyPlans`
### 5.3 验收标准
- 指标 1任务类自动生成可落库率 >= 90%。
- 指标 2生成后进入排程全链路成功率 >= 85%。
- 指标 3任务项粒度可读性人工抽检合格率 >= 90%。
### 5.4 风险与回滚
- 风险:生成任务过粗/过细,导致排程质量差。
- 应对:加入任务项数量上下限、单项时长约束、自动裁剪规则。
- 回滚:关闭 `ENABLE_AUTO_TASKCLASS_FROM_GOAL`,保留手动任务类模式。
---
## 阶段 3引入 Milvus RAG时间管理知识并提炼短规则注入排程上下文
### 6.1 阶段目标
- 将“时间管理方法论”转化为可检索规则,提升排程质量和解释性。
### 6.2 知识库策略(建议)
- 不直接喂整本书原文,改为“方法卡片库”:
- 字段建议:`rule_id``title``principle``适用场景``反例``执行建议``source`
- 流程建议:
- 原始文章入库 -> 向量化 -> 检索 TopK -> LLM 提炼“短规则集” -> 注入排程 Planner 提示词。
- 规则注入方式:
- 注入结构化规则对象,不只注入自由文本,避免提示词漂移。
### 6.3 验收标准
- 指标 1RAG 命中率(有有效规则输出)>= 80%。
- 指标 2用户二次修改率相比阶段 2 下降 >= 15%。
- 指标 3排程解释中可引用规则比例 >= 90%。
### 6.4 风险与回滚
- 风险:检索噪声导致排程变差。
- 应对规则打分阈值、低分规则不注入、A/B 对比评估。
- 回滚:关闭 `ENABLE_RAG_SCHEDULE_RULES`,继续使用纯模型规划。
---
## 阶段 4引入 WebSearch + 记忆系统(长期偏好)
### 7.1 阶段目标
- 在本地知识不足时用 WebSearch 补充最新学习建议;同时沉淀用户长期偏好,实现更个性化排程。
### 7.2 WebSearch 触发策略
- 仅在以下情况触发:
- 本地 RAG 低置信/无结果;
- 用户明确要求“最新资料/趋势/考试变化”。
- 结果处理:
- 抓取 -> 摘要 -> 可信度过滤 -> 形成规则候选,再注入 Planner。
### 7.3 记忆系统设计
- 记忆分层:
- 长期稳定偏好:早八不学、每日最大学习时长、偏好学习时段。
- 短期上下文偏好:本次会话临时约束。
- 写入策略:
- 只有“高置信 + 用户确认”才写长期记忆。
- 可撤销、可查看、可重置。
### 7.4 验收标准
- 指标 1偏好命中后用户手动改计划次数下降 >= 20%。
- 指标 2WebSearch 触发请求中有效增益比例 >= 60%。
- 指标 3记忆误写率用户否认<= 5%。
### 7.5 风险与回滚
- 风险:外部信息质量不稳定、记忆污染。
- 应对:来源白名单、置信度阈值、显式确认机制。
- 回滚:分别关闭 `ENABLE_WEBSEARCH``ENABLE_USER_MEMORY`
---
## 8. 工程深度增强建议(可选但推荐)
- 建议 1引入“排程模拟器Dry Run先算冲突与可行性评分再决定是否落库。
- 建议 2建立“离线评测集”固定 50~100 条真实场景)做回归评测,避免模型升级导致排程退化。
- 建议 3把反思失败样本沉淀为“错误词典 + 修复策略库”,提升下一轮成功率。
- 建议 4增加成本与耗时预算控制每请求最多模型调用次数、超时兜底回复
- 建议 5在日志中记录“规则来源、模型决策、后端裁决结果”形成可审计链路。
## 9. 里程碑建议(可按周)
- 里程碑 1第 1~2 周):完成阶段 1打通粗排+重试+连续微调。
- 里程碑 2第 3~4 周):完成阶段 2打通目标到任务类自动生成。
- 里程碑 3第 5~6 周):完成阶段 3接入 Milvus RAG 规则注入。
- 里程碑 4第 7~8 周):完成阶段 4接入 WebSearch 与记忆系统。
## 10. 面试叙事建议(附加价值)
- 叙事主线:从“规则系统”升级为“可解释、可进化、可回滚”的 Agent 排程平台。
- 技术亮点:
- 亮点 1模型提议 + 后端裁决的双层安全架构。
- 亮点 2连续对话下的增量重排与版本管理。
- 亮点 3RAG 规则注入和记忆系统带来的个性化规划。
- 亮点 4全链路可观测成功率、重试率、采纳率、成本