团队项目第一次作业
团队作业博客
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/gdgy/Class78-Grade2024-CS/homework/16767 |
| 这个作业的目标 | 顺应智能体技术浪潮,以真实需求为出发点,自主选题并开发一个将大模型智能体深度嵌入的软件系统(形式不限),完成从需求调研、团队协作、系统设计、编码实现到上线运行的完整软件工程流程。我们希望通过这次作业,学会把"AI 能力"真正转化为"产品价值"——不是套壳聊天,而是让智能体成为系统里不可替代的一环。 |
| 学号 | 3124004489(张吉安)、3124004468(侯剑锋) |
团队展示
团队名称:面面俱到队
团队成员
| 学号 | 姓名 | 性格 | 擅长技术 | 兴趣爱好 | 软工角色 |
|---|---|---|---|---|---|
| 3124004489 | 张吉安 | 沉稳专注,遇 bug 不慌,习惯先复现再动手 | Python 后端、FastAPI、数据库、Agent 设计与部署 | 足球 | 后端开发 / Agent 设计 / 部署上线 |
| 3124004468 | 侯剑锋 | 细致耐心,重视用户体验,文档控 | 前端 HTML/CSS/JS、界面交互、测试与文档 | 篮球 | 前端开发 / 需求调研 / 测试文档 |
github地址
一、选题:AI 模拟面试官——"面试一百次,只为真正那一次"
1.1 为什么做这个?
秋招、实习季,几乎每位应届生都会面对同一个困境:面试机会太贵,练手机会太少。
- 第一次面试往往就投了最想去的公司,紧张、卡壳、被追问打崩;
- 回答完没人反馈,不知道自己差在哪;
- 网上题库是"背模板",背完照样被面试官三连追问戳穿。
我们对 3 位刚结束秋招面试的同学做了深度访谈。回收的反馈痛点高度一致:绝大多数同学面试前从未做过完整模拟练习,第一次面试往往直接投给最想去的公司;答完题没人反馈,不知道差在哪。大家缺的是一个"提问严格、追问犀利、还能给出针对性反馈"的陪练。
于是我们决定:把真实面试官"搬"进浏览器。
1.2 我们的产品
面面俱到 · AI 模拟面试官:求职者上传简历和目标岗位 JD,AI 面试官进行多轮真实感面试(默认 5 轮),面试结束后立即生成可视化评分报告。
1.3 杀手级功能
- 简历 × JD 定制出题——不是随机题库。AI 面试官会盯住你简历上自己写的数字追问:"你说索引优化把查询从 800ms 降到 50ms,具体怎么定位的问题?"(实测效果见第五节)
- 多轮追问状态机——回答含糊、背模板时,面试官会礼貌但坚决地深挖,还原真实面试压力感;
- 四维评分报告 + 雷达图——技术深度 / 表达逻辑 / 项目真实度 / 岗位匹配度四个维度打分,逐题点评 + 3 条可操作改进建议;
- (规划中)语音面试 + 实体面试亭——预留语音交互接口,未来结合 ESP32 等开源硬件打造沉浸式"面试亭",训练临场抗压能力。
1.4 愿景
我们希望"面面俱到"成为每一位大学生求职路上的标准装备:让每个人在真正走进面试间之前,都能先被一位严格、专业、不知疲倦的 AI 面试官"面试一百次"。当失败变得廉价,成功就会更有把握——我们希望用它把面试焦虑,变成看得见、练得到的成长曲线。
二、系统设计与技术方案
2.1 架构
[Web 前端:原生 HTML/CSS/JS,免构建] ← 极简对话 UI + 纯 SVG 雷达图
│ HTTP/JSON
[后端:Python FastAPI + SQLAlchemy + SQLite] ← 面试状态机 / 会话管理 / 报告聚合
│ OpenAI 兼容接口
[智能体层:两个 Agent 协作]
├─ 面试官 Agent:多轮追问,盯简历细节
└─ 评分官 Agent:结构化 JSON 评估报告
2.2 智能体平台选型
智能体层通过 OpenAI 兼容接口接入,换平台只需改 3 行环境变量。实测对比:
| 平台/模型 | 价格 | 实测表现 |
|---|---|---|
| 智谱 GLM-4.5-Flash | 免费 | 出题精准、限流可接受,最终选用 |
| 智谱 GLM-4.7-Flash | 免费 | 高峰期 429 限流严重 |
| DeepSeek | 极低 | 备选质量升级方案 |
2.3 项目规划(迭代)
- 迭代 1(当前):文字面试全流程——传简历 → 5 轮问答 → 评分报告 ✅ 已完成并上线
- 迭代 2:语音面试、历史面试记录对比、岗位题库增强
- 迭代 3(展望):ESP32 实体"面试亭"硬件联动
注意:验收范围以需求文档承诺的迭代 1 为准,不画大饼。
三、开发实录:两个真实的"坑"(debug 日志摘录)
这两个问题都是联调第一晚真实发生、真实解决的——软件工程没有想象中顺利,但每个坑都值得记录。
坑 1:系统代理劫持 LLM 请求。 本机开着系统代理,FastAPI 服务端调用智谱 API 时全部走了死掉的代理,报 Failed to establish a new connection: [WinError 10061]。修复:OpenAI SDK 客户端显式 trust_env=False 直连。
坑 2:免费模型 429 限流。 高峰期频繁返回 该模型当前访问量过大。修复:客户端实现指数退避重试(3s/6s/12s + 随机抖动),超时时间提到 120s,并把模型从 GLM-4.7-Flash 切换到更稳定的 GLM-4.5-Flash。
四、上线情况
- 线上地址: https://velvet-charm-retrieved-scoring.trycloudflare.com (Cloudflare 隧道 + Docker 化应用,答辩演示期间保持在线)
- 部署小插曲(也是真实的工程经历):最初计划部署到 Render,因新账号需绑国际信用卡验证而放弃;转战 Koyeb 后发现其已被 Mistral 收购、控制台停止对新用户开放;最终选择 Cloudflare Tunnel 方案——应用已完成容器化(Dockerfile 已写入仓库),本地运行 + 隧道穿透即可获得公网 HTTPS 地址,零注册、零绑卡、零成本。这一路"平台排雷"的过程让我们对各家 PaaS 平台的现状有了第一手认识。
- 测试账号:无需注册,打开即用
- 演示数据:数据库中保留了一场完整面试记录(含评分报告)可供查看
五、实测效果
以下数据来自系统上线前的一次真实端到端测试(简历:普通本科应届生简历;JD:后端开发工程师)
5.1 面试官 Agent 的实际提问(5 轮)
| 轮次 | 面试官提问(节选) | 追问点 |
|---|---|---|
| 1 | 为什么选择 FastAPI 而不是其他 Python 框架(比如 Django 或 Flask)? | 技术选型理由 |
| 2 | MySQL 索引优化的具体细节:索引类型、设计结构和验证效果? | 回答偏题时再次聚焦追问 |
| 3 | 支付宝沙箱支付接入中的并发处理和数据一致性怎么保证? | 简历项目细节深挖 |
| 4 | 如何扩展系统架构以支持 10 万日活、峰值 QPS 1000? | 压力场景考察 |
| 5 | 与前端协作遇到接口对接问题时怎么解决? | 协作软素质 |
可以看到,每一个问题都长在简历的细节上——第 2 轮回答跑题聊到 Redis 缓存时,面试官没有被带偏,而是继续追问索引本身。
5.2 评分官 Agent 的报告
总分:65 / 100,四维雷达图:
| 维度 | 得分 | Agent 评语(原文摘录) |
|---|---|---|
| 项目真实度 | 80 | 项目细节具体,能描述实际遇到的问题和解决方案 |
| 岗位匹配度 | 65 | 具备基本后端技能,但缺乏大规模系统架构设计经验 |
| 表达逻辑 | 65 | 表达清晰但回答时常偏离问题核心,缺乏针对性 |
| 技术深度 | 60 | 掌握基础后端技术,但对复杂系统设计和高并发场景理解有限 |
逐题点评示例(第 2 轮):"回答偏离问题核心,需要详细说明索引类型选择、联合索引设计"——与雷达图"表达逻辑偏题"的判断互相印证。
3 条改进建议(原文):
- 加强系统架构设计知识学习,特别是高并发场景下的扩展策略和性能优化;
- 提高面试回答的针对性,确保直接回应问题核心,避免偏离话题;
- 深入理解数据库原理和索引优化策略,能够详细解释不同索引类型的适用场景和优化方法。
5.3 答辩现场演示流程
准备页——粘贴简历和 JD,点「开始面试」:

- 打开线上地址 → 粘贴一份真实简历 + 目标岗位 JD → 开始面试
- 现场回答 2~3 轮,展示面试官"盯简历细节 + 跑题拉回"的追问能力(对话页实拍,第 1 问直接落在简历项目上):

- 完整跑完 5 轮后自动结束 → 生成评分报告与雷达图(报告页实拍,总分 + 四维评分条 + SVG 雷达图 + 逐题点评 + 改进建议一屏呈现):
![image]()
六、成员贡献与分工比例
| 成员 | 贡献 | 比例 |
|---|---|---|
| 张吉安 | 队长统筹与项目规划、后端架构与面试状态机、双 Agent(面试官/评分官)Prompt 设计、联调排障、容器化与部署上线、博客与答辩材料 | 55% |
| 侯剑锋 | 需求调研与问卷访谈、前端三视图页面(准备/对话/报告)与 SVG 雷达图、交互优化、功能测试、需求分析文档 | 45% |
参考资料
- 智谱开放平台 https://bigmodel.cn
- FastAPI https://fastapi.tiangolo.com
- 作业要求的智能体平台:扣子 https://www.coze.cn 、Dify https://dify.ai/zh


浙公网安备 33010602011771号