项目实训(8) - 模拟面试模块初步完成, 回顾、反思

57 阅读5分钟

项目实训(8) - 模拟面试模块初步完成, 回顾、反思

不知不觉,AI 模拟面试这个模块也从一个光秃秃的聊天框,慢慢“进化”到了有点“人模狗样”了。虽然离一个完美、智能的AI面试官还差十万八千里,但起码的核心功能(经历深挖、模拟面试流程、流式输出、一些简单的异常处理)都有了个雏形。

85c83d606dd6a5945100093470c06750.png 回顾一下这段时间的“屎山代码”与“灵光一闪”:

  • 从0到1的聊天界面:最开始用 Ant Design Vue 搭的那个聊天框,现在看还是挺耐用的。
  • 对接 DeepSeek 内部接口:感谢后端同学给力,API 本身还算稳定,跨域问题也帮我们解决了。流式输出的支持更是关键。
  • Prompt Engineering 的无底洞:为了让 AI 理解我们的意图,扮演好面试官角色,遵守流程,System Prompt 改了N个版本。感觉就像在跟一个很聪明但注意力不集中的人说话,得反复强调,换着法儿说。
  • 流程控制的挣扎:怎么让AI乖乖地按“开场->技术->项目->...”的剧本走,真是费老劲了。从一个大而全的Prompt,到后来的阶段性“幕后指令”,感觉找到了一点点门道,但还是不够优雅。
  • 流式输出带来的体验飞跃:这个功能加上后,等待感大大降低,AI“活”了起来。虽然 ReadableStream 和 TextDecoder 的处理细节有点绕,但值得。
  • 各种“异常”与“引导”的小补丁:“换个问题”按钮、思考怎么提示用户详细回答……这些都是在实际使用中发现AI和用户都可能“跑偏”后,一点点加上去的。

最大的收获(和教训):

  1. AI 不是神,预期管理很重要:一开始总幻想 AI 能像真人一样智能。现实是,它只是个语言模型,强于模式匹配和文本生成,但离真正的理解、推理、常识还远。对它的能力边界要有清醒认识。
  2. Prompt 是灵魂,也是枷锁:好的 Prompt 能极大提升 AI 表现。但过于依赖 Prompt,也会让系统变得复杂和脆弱。有时候,简单的规则和前端辅助可能比一个超复杂的 Prompt 更有效。
  3. 迭代,快速迭代:AI 应用的开发,很多时候不是一蹴而就的。功能上线后,根据用户反馈和实际运行情况,不断调整 Prompt、优化交互、修复 bug,这个过程会很长。
  4. 前端在 AI 应用中的角色越来越重:不仅仅是展示,很多“智能”的微调、用户行为的理解和引导、甚至部分对话逻辑的控制,前端都可以发挥很大作用。

目前还存在的明显不足(或者说,未来的TODO List):

  • 上下文长度管理:现在是把所有历史消息都传给API,对话长了之后,性能和效果都可能下降。需要实现一个合理的上下文截断或摘要策略。
  • AI 回答质量的稳定性:有时候AI的提问依然很棒,有时候就比较水。这个除了持续优化Prompt,可能也依赖于后端模型本身的迭代。
  • “经历深挖”和“模拟面试”的流畅切换与信息共享:比如用户在深挖完一个经历后,能不能把这个“深挖”的结论或重点,带到接下来的“模拟面试”环节?
  • 更完善的错误/异常处理:网络超时、API限流、AI返回非预期内容等,都需要更优雅的处理。
  • 面试记录的保存与回顾:用户完成一次模拟面试后,如果能保存对话记录,甚至做一些简单的分析(比如高频词、回答流畅度等),会更有价值。

对未来的“亿点点”畅想(画饼时间到!):

  • 多模态面试?  AI 不仅能文字提问,还能放个图片(比如系统架构图)让用户分析?或者用户可以语音回答,AI语音回复?(这个饼太大了,我先吃口饭)
  • AI 面试官“性格”选择:温柔型、压力型、打破砂锅问到底型……让用户选一个自己想挑战的。
  • 针对性的反馈与建议:面试结束后,AI 能不能不仅仅是“谢谢参与”,而是针对用户的回答,给出一些具体的、有建设性的反馈?比如“关于XX问题的回答,你可以从YY方面再补充一下会更好”。这个对AI的要求就非常高了。
  • 与简历数据的深度联动:AI 能真正“读懂”用户在AIResume平台上制作的简历,所有提问都围绕简历内容精准展开,而不是简单基于关键词。

呼~ 写完这篇,感觉这个AI模拟面试模块的第一个大版本算是告一段落了(虽然我知道后面还有无数的细节要磨)。从最初的一头雾水,到现在勉强能跑起来,这个过程还是挺有成就感的。

继续学习,继续踩坑,继续进步吧!AI 的世界,其乐(也“其苦”)无穷啊!

#AI模拟面试 #项目总结 #阶段性成果 #Vue3 #DeepSeek #前端与AI #未来可期 #继续搬砖