Skip to content

T1 到校前简报(Demo 场景 PRD) ​

项内容
文档定位08_移动端AI场景设计.md §10 中反引号标记的 demo 模块的场景 PRD。本文是 T1;后续模块的写法见 公共规范.md §8
通用规范引用前端形态、系统提示词边界、定时任务方式、数据与输出规范见 公共规范.md;本文只写 T1 场景本身
能力来源07 课程系统(课表/教室)、天气服务
版本v0.6(所有主动服务进本周卡片;不做微信服务号推送)

1. 场景定义 ​

1.1 一句话 ​

上课日早上 07:30,Agent 以当前教师身份执行一次定时任务,查当天课程和天气,生成一条「今天上什么、在哪上、多少人、天气如何」的简报。

1.2 用户与价值 ​

项内容
用户当日有课的教师
价值教师不用分别打开课表、问教室、查天气;到校前就知道今天的课
频次每个上课日 1 次

1.3 触发方式 ​

  • 定时任务,没有用户 query。
  • 时间:每天 07:30(可配置)。
  • 任务内容:执行 T1 skill,带上当前教师 ID。
  • 结果不弹系统通知;教师打开小程序、点悬浮球后在聊天区看到。 亦可在主页 “本周AI运行洞察”看到
  • 当天无课:不推送(免打扰),任务直接结束。

1.4 边界 ​

不做原因
不推嘉宾/旁听本场景不涉及;嘉宾接待是 T7/E1
不做智能整备整备是独立流程(如 9 点会议前另一套任务),T1 只做信息简报
不推实时车位/车程教师通常有固定车位,价值低
不推荐换教室换教室影响大,且本场景没有整备失败信息
不展示学生名单只给人数
不做快捷选项/按钮Demo 阶段单对话,用户要追问直接打字
不做完整导航页只在正文教室名上挂超链接,URL 先用占位;等小程序导览模块上线再配

2. Demo 形态 ​

通用形态见 公共规范.md(小程序悬浮球打开 DeerFlow 聊天区、单会话、Markdown + Mermaid)。

本场景只约定:

  • 07:30 定时任务生成简报,不弹系统通知;教师打开小程序、点悬浮球后或者点击“本周AI运行洞察”,在聊天区看到完整内容。
  • 简报写入该教师的常驻会话,不新建会话;教师之后追问时,Agent 能把这简报当作上下文。
  • 同一份简报的摘要同时写入首页「本周 AI 运行洞察」卡片,卡片保留 7 天。

注:演示方式——在 DeerFlow「定时任务」里手动触发一次,或等到 07:30 自动执行,再打开小程序悬浮球查看。


3. Agent 输出设计 ​

3.1 输出元素 ​

元素用途
Markdown 文字问候、课程结论、天气
Markdown 表格多门课时的课程清单
Mermaid pie单门课:已选 / 剩余
Mermaid xychart-beta多门课:各课程选课率

3.2 单门课 ​

Agent(07:30 定时推送)

早上好,李老师。今天 09:00–11:30 在 A 楼 302 上《公司金融》,选课 42 人,教室容量 50 人。

项目内容
课程公司金融
时间09:00–11:30
教室A 楼 302
选课 / 容量42 / 50

天气:多云,18–26℃。

注:导航 URL 为占位,等小程序导览模块上线后替换;表格里的教室保持纯文本。

3.3 多门课 ​

多门课不逐门画饼图,改为「一张课程表 + 一张选课率柱状图」:

Agent(07:30 定时推送)

早上好,李老师。今天有 3 门课:

时间课程教室选课 / 容量
09:00–11:30公司金融A 楼 30242 / 50
13:30–15:00投资学A 楼 50138 / 45
16:00–17:30案例研讨B 楼 20120 / 30

天气:多云,18–26℃。

注:课程超过 3 门时同样用表格,柱状图最多画前 5 门,其余在表里列出。多门课统一为一条汇总消息:一张表 + 一张图,不逐门推送。

3.4 异常与降级 ​

情况输出
当天无课不输出、不推送,任务结束
课程 MCP 失败不推送,记录日志并通知运维/管理员;不把错误当简报推给教师
天气 MCP 失败省略天气段,课程信息照常输出
容量缺失只写选课人数,不画饼图、不算剩余
调停课/换教室先写变更后信息,末尾注「以教务为准」
课程取消该门课标「已取消」,不计入课程数

3.5 导航超链接 ​

本期只做教室名超链接:正文首次出现的教室名带 Markdown 链接,点击跳转导航应用;URL 先用占位(如 https://example.com/nav?dest=A-3F-302),等小程序导览模块上线后替换为实际地址。完整导航页不在本期范围。

3.6 输出模板(开发参考) ​

本节给 Skill 组装输出用,业务评审可跳过。

单门课:

早上好,{教师姓}老师。今天 **{开始}–{结束}** 在 **[{楼} {房间号}]({导航URL})** 上《{课程名}》,选课 **{已选} 人**,教室容量 **{容量} 人**。

| 项目 | 内容 |
|---|---|
| 课程 | {课程名} |
| 时间 | {开始}–{结束} |
| 教室 | {楼} {房间号} |
| 选课 / 容量 | {已选} / {容量} |

(Mermaid 饼图:已选 / 剩余)

天气:{天气现象},{最低}–{最高}℃。

4. MCP 设计 ​

4.1 课程 MCP ​

Tool:query_teacher_courses

项内容
作用查某教师某天的课程
入参teacher_id(string)、date(YYYY-MM-DD)
返回课程数组,字段见下

返回字段:

字段类型说明
course_idstring课程 ID
course_namestring课程名称
class_namestring班级
datestring日期
weekdaystring星期
start_timestringHH:mm
end_timestringHH:mm
periodsstring节次,如「1-2 节」
room_idstring教室 ID
room_namestring教室名称
buildingstring楼,如「A 楼」
floorstring层,如「3F」
room_numberstring房间号,如「302」
enrolled_countint选课人数
capacityint容量,可能为空
remaining_countint剩余 = 容量 − 选课;容量为空时为 null
enrollment_ratenumber选课率(0–100);容量为空时为 null
statusenumnormal / changed / cancelled
change_notestring变更说明

注:教室信息随课程一起返回,不需要再单独查空间 MCP。剩余和选课率由课程 MCP 直接算好,避免模型做算术。

4.2 天气 MCP ​

Tool:get_weather

项内容
作用查校区当天天气
数据源腾讯天气接口 GET https://wis.qq.com/weather/common
服务端配置source=pc、weather_type=observe|forecast_24h、province/city/county(校区地址,提前配置,不暴露给模型;示例 江苏省/苏州市/吴中区,以实际校区为准)
入参date(YYYY-MM-DD,默认今天)
返回condition、temp_now、temp_min、temp_max、wind、humidity;接口没有的字段返回 null
失败超时/非 200/字段缺失 → 返回失败,由 skill 省略天气段

注:建议封装成 MCP,而不是让 skill 直接调 HTTP——Agent 侧统一走工具调用;省市区固定在服务端配置,模型不用也不该传地址;以后换天气服务只改 MCP。腾讯接口用 forecast_24h,直接返回当天温度区间,不需要从小时数据里推 min/max。中文参数需 URL 编码,由 MCP 处理。


5. Skill 设计 ​

5.1 职责 ​

Skill 把「查课 → 查天气 → 按模板输出」这套固定流程写死,保证每次 07:30 的输出格式一致。定时任务只负责触发它。

5.2 流程 ​

5.3 Skill 提示词草稿 ​

你是上海交通大学新院区 IBMS 的教师助手。当前是上课日早上 07:30,你要为当前教师生成一条到校前简报。

输入:
- 教师 ID:从任务指令中提取「当前教师 ID:」后面的值(demo 固定 T1001)
- 日期:今天

步骤:
1. 调用课程 MCP 的 query_teacher_courses(teacher_id=从任务指令提取的教师 ID, date=今天)。
2. 如果没有课程,直接结束,不输出任何内容。
3. 如果有课程,调用天气 MCP 的 get_weather(date=今天)。
4. 按输出模板组织回复。

输出要求:
- 只用 Markdown 和 Mermaid,不输出 JSON、不用 HTML。
- 不展示学生姓名,不展示其他教师课程。
- 单门课:一句话 + 信息表 + pie(已选/剩余)。
- 多门课:一张课程表 + 一张选课率 bar 图,不逐门画饼图;合并为一条消息,不逐门推送。
- 正文首次出现的教室名做成 Markdown 超链接,URL 用配置的占位地址;表格里的教室不加链接。
- 容量为空:只写选课人数,不画图、不算剩余。
- 调停课/换教室:先写变更后信息,末尾注「以教务为准」。
- 天气失败:省略天气段,不影响课程信息。
- 不推荐换教室,不输出快捷选项。
- Few-shot:配置时把本文 §3.2(单门课)和 §3.3(多门课)的示例原文,作为两条示例放入 skill。

5.4 工具调用顺序与失败策略 ​

步骤调用失败时
1课程 MCP query_teacher_courses不推送,记录日志并通知运维
2天气 MCP get_weather省略天气段,继续输出课程
3按模板组装输出—

注:课程是主数据,失败就不出简报;天气是附加信息,失败不影响主流程。


6. 定时任务配置 ​

在 DeerFlow「定时任务 → 新建任务」里按实际表单配置:

表单字段值
标题T1 教师到校前简报
任务指令执行「T1 教师到校前简报」skill。当前教师 ID:T1001。
运行时间重复 · 每天 · 07:30 · Etc/GMT-8(北京时间)
每次运行的目标(可选)生成当天课程与天气简报:课程时间、教室、选课/容量、天气
保险上限:运行次数留空(demo 不限制)
保险上限:结束时间留空
高级选项不配置
  • Demo 固定用演示教师账号 T1001。
  • 任务指令里已经带了「执行哪个 skill + 教师 ID」,skill 内部再调课程/天气 MCP。
  • 任务结果写入该教师的常驻会话(AI 联系人),不新建会话;首页洞察卡片取同一条结果的摘要。
  • 如果 DeerFlow 的定时任务需要绑定智能体/工具集,绑定「教师助手」;当前表单未见该配置项,待确认。
  • 定时任务只在这个页面配置,不允许通过对话创建(见 公共规范.md)。

6.1 用户 ID 从哪来 ​

方式做法适用状态
A. 任务指令写死任务指令写「当前教师 ID:T1001」,skill 从指令中提取Demo默认方案
B. 平台注入变量平台在任务/对话上下文提供当前用户变量,skill 直接引用生产多用户待确认 DeerFlow 是否支持
C. MCP 读登录态MCP 从请求 token/session 解析用户生产成本高,demo 不用

注:Demo 用 A,不依赖平台能力;Skill 提示词里明确「从任务指令中提取『当前教师 ID:』后面的值」。如果 DeerFlow 本身能把登录用户注入给 Agent,再切到 B。

6.2 生产上的多用户调度(建议) ​

不建议在 DeerFlow 里手工建 N 个教师任务。建议做一层调度:

  1. 07:30 触发一个批处理任务;
  2. 批处理查「当天有课的教师」列表;
  3. 对每个教师调用一次 T1 skill(传各自的 teacher_id);
  4. 把每个人的结果分别推送给本人。

注:关键区别是「一次性全跑」指的是一个批次遍历多个用户,不是一个对话里生成所有人的简报。如果 DeerFlow 的定时任务只支持单会话/单接收人,那么「一个任务发给多人」需要外部调度器逐个调用;如果平台后续支持多接收人任务,可以简化。demo 阶段只配一个账号,不涉及这个问题。


7. 权限与数据范围 ​

  • 定时任务以「当前教师」身份执行,课程 MCP 只按该 teacher_id 查询。
  • 不返回其他教师课程、学生名单、学生联系方式。
  • Demo 用一个固定账号,不额外做权限界面。

8. 验收要点 ​

#验收项标准
1触发每天 07:30 执行一次
2单门课问候 + 课程信息 + 饼图 + 天气,信息与课表一致
3多门课表格列出全部课程,柱状图为选课率,不逐门画饼图
4无课不推送,任务结束
5容量缺失不画饼图、不显示剩余,只显示选课人数
6天气失败课程信息正常输出,天气段省略
7调停课显示变更后信息并注明「以教务为准」
8数据范围只出现当前教师本人课程,无学生姓名
9导航正文教室名为可点击超链接;表格里的教室不加链接

9. 已确认与待确认 ​

9.1 已确认 ​

#事项结论
1当天无课免打扰,不推送
2触发时间默认每天 07:30,可配置
3多门课一条汇总(一张表 + 一张图),不逐门推送
4天气腾讯天气接口(observe|forecast_24h);省/市/区提前配置为校区地址;封装成 MCP
5导航教室名做超链接,URL 先用占位,等小程序导览模块
6结果展示聊天区 + 首页「本周 AI 运行洞察」卡片(保留 7 天);不做微信服务号/企微推送

9.2 待确认 ​

  1. DeerFlow 定时任务是否支持多接收人/批量触发?不支持就用外部调度器。
  2. 导航超链接的最终 URL(小程序导览模块)什么时候可用?
  3. 洞察卡片的摘要文案长度、是否需要配图,待 UI 定。

10. 关联文档 ​

文档关联内容
08_移动端AI场景设计.md §4、§10T1 场景来源与四角色时间线
07_课程系统-课表同步与实时引导.md §2.2、§2.3、§3.1课表字段、教室编码映射、上课提醒
00_总览-方案与主线.md §1、§2、§4需求来源、入口定位、Skill/MCP 分层
公共规范.md前端形态、常驻会话、智能体边界、定时任务、输出规范

注:上述文档与本文保持一致。如有差异,以本文为准,回写更新对应文档。

内部方案材料,请勿外传