第二次软工作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/ |
| 这个作业的目标 | 基于MCP/LangChain构建具备自然语言交互与任务执行能力的AI智能体,实现课程管理、定时提醒、意图识别等“能说会做”功能,完成代码、文档、GitHub全流程交付 |
| 学号 | 3224004611 3224004613 3224004614 |
构建一个能说会做的课程智能提醒助手 Agent
一、项目背景
AI Agent是当下人工智能领域的核心方向,它不仅能“说”——理解自然语言,还能“做”——自动执行任务、调用工具、操作数据。
本次作业我们小组实现课程智能提醒助手,让AI听懂你的课程指令,并自动完成管理与提醒。
二、需求描述
- 自然语言交互:
支持 “添加课程”“查询课表”“删除课程” 等口语指令
支持意图识别与正常对话反馈 - 课程管理:
实现课程添加、查询、修改、删除(CRUD)。 - 定时提醒:
上课前自动提醒。 - 数据持久化:
使用 JSON 文件存储课表
重启不丢失课程信息。 - 多轮对话:
多轮交互
后台定时提醒
按时间自动匹配课程
三、业务流描述
- 用户说:帮我加周一8点高数课
- Agent识别:添加课程意图
- 执行:保存课程 + 设置提醒
- 回复:添加成功,将按时提醒
启动自动流程
程序启动 → 获取当前时间 / 星期 → 自动加载今日课表 → 展示给用户
添加课程流程
用户说:“帮我加一节高数课”
AI 识别意图 → 引导输入信息 → 保存课程 → 开启提醒
查询课表流程
用户说:“查询我的课程”
AI 读取数据 → 返回全部 / 今日课程列表
提醒执行流程
后台线程轮询时间
到达上课时间前 → 自动弹出提醒
删除课程流程
用户输入课程名 → AI 删除数据 → 反馈结果
四、实现说明
技术栈
- 开发语言:Python
- 交互框架:MCP
- 数据存储:JSON文件
- 定时任务:threading 定时器
- 时间模块:datetime)
系统模块
- 核心功能模块:课程CRUD、定时提醒
- AI交互模块:意图识别、指令解析
- 整合测试模块:代码联调、功能测试
五、功能演示
1. 程序启动(自动显示时间 + 今日课表)

2. 添加课程

3. 查询全部课程

4. 自动上课提醒

5. 删除课程

六、GitHub仓库链接
https://github.com/Yifan1203/LYZ
运行方法
- git clone 仓库地址
- python main.py
- 开始对话交互
七、小组分工
成员1杨楚婷:
核心功能开发负责人
- 课程数据CRUD模块开发
- 定时提醒功能实现
- 工具函数与数据校验
成员2张鑫艳:
AI交互与框架集成负责人
- MCP框架接入
- 大模型API调用与意图识别
- 自然语言指令转换与模块对接
成员3吕逸凡:
项目整合+文档+测试+仓库管理
- 代码整合与全流程测试
- GitHub仓库搭建与维护
- 博客园随笔撰写与最终交付
八、个人心得
成员1杨楚婷心得
这次我负责核心功能开发,从数据结构设计到定时任务调试,让我真正理解Agent“会做”的底层逻辑。模块化开发让代码更清晰,也提升了我的协作能力。
成员2张鑫艳心得
通过接入大模型与MCP框架,我实现了Agent“能说”的能力。意图识别、指令映射让我体会到AI Agent的魅力,也学会了框架集成与API调试。
成员3吕逸凡心得
作为整合与文档负责人,我全程把控项目进度与交付质量,学会了版本管理、系统测试、博客排版,更理解团队配合对项目成功的重要性。
九、总结
本次作业我们成功实现了课程智能提醒助手 Agent,它既能听懂自然语言,又能自动执行课程管理、时间提醒、课表查询等任务,真正做到 “能说会做”。通过本次实践,我们掌握了 AI 智能体的基本结构、意图识别、工具调用等核心能力,为后续大项目打下坚实基础。
浙公网安备 33010602011771号