朋友刚结束一场技术面试,坐在那儿试图跟我讲清楚过程。题目记得,答案记得,但哪一步出了问题,说不出来。没有反馈,没有回复,只有沉默。面试一场接一场,人一次比一次泄气。
在技术面试里被拒很难受,但被"已读不回"、永远不知道原因,更难受。
![]()
于是有了 Duster。它是一个面试复盘应用,只服务一个人——让她按自己记得的样子,把整场面试倒出来。应用会自动给她的薄弱点打标签,比如"啰嗦"或"没给数据",统计哪些错误在多次面试里反复出现,再生成针对性的练习。
它由三块组成
- Debrief(复盘):记录公司、岗位、结果,以及她原样的问答文字,然后给每个回答打标签
- Patterns(模式):把标签跨面试汇总,带趋势箭头和连续计数
- Drill(练习):出五道练习题,给她的回答打分,并把她实际说过的话改写成更强的版本
Duster 的定位很窄:一个只服务一个人的面试复盘教练。她面完试,被拒或被无视,从来听不到原因。拒绝信从不附带反馈。Duster 把她记忆里的那场面试——一段乱糟糟的问答记录,或者一条语音备忘——变成那个反复出现的弱点,再给她一个针对该弱点的练习。
只用开源模型,不碰闭源接口
这个项目里没有任何一处调用 OpenAI 或 Anthropic。每一次模型调用都走她机器上的 Ollama、Backboard 的开源权重模型,或者一个 Tinker 微调版本。即使一个密钥都不配置,启发式分析器依然能给回答打标签。
复盘环节支持可选的 .m4a / .mp3 语音备忘,用 faster-whisper 在本地转写,转完即删。音频从不离开这台机器。模式页会把弱点标签跨面试计数,比如"没给数据"在四次会话里出现了七次。
它是怎么搭起来的
Duster 围绕开源权重模型构建,推理后端由 .env 里的一个 ANALYZER 设置来切换。复盘请求进来后,先切分问答,再进入分析函数,结果落进 SQLite 的弱点标签字段;模式页读取并统计这些标签;练习页出五道题,打分并改写,写回一个 Backboard 线程。
本地推理用 Ollama:把 ANALYZER 设为 ollama,qwen2.5:7b 就完全跑在她的笔记本上。每个模型返回都被严格解析成 JSON,并用 Pydantic 校验。如果模型返回了坏 JSON 或遇到网络错误,会干净地回退到基于规则的启发式打标器,应用不会崩。
本地音频转写:如果她面试后马上录一条语音,可以上传 .m4a 或 .mp3。服务端用 faster-whisper 在本地转写,把文本直接填进复盘文本框,然后立刻删掉音频文件。
Backboard 承担两件独立的事,通过 OpenRouter 提供方使用开源权重模型。第一,当 ANALYZER 设为 backboard 时,BackboardAnalyzer 以 memory=off 和 json_output=true 给回答打标签,不写入线程。第二,每一次完成打分的练习(即使当时用的是启发式打标器),都会把题目、分数和主要标签追加到一个持久的 Backboard 助手线程上,memory=Auto。模式页把这个线程读回来,她的练习历史就能跨会话保留。
微调用的是 Tinker:用 Tinker 对 Qwen3-8B 做 LoRA 微调,训练数据是她标注过的面试回答(data/train.jsonl)。这里选 Qwen3-8B 是因为 Tinker 不提供 Qwen2.5-7B,而后者是她本地用 Ollama 跑的模型。当 ANALYZER 设为 tinker 时,应用从保存的检查点采样。在一个留出测试集上,微调后的模型精确率达到 0.50,而基线启发式规则是 0.35。数据集很小,所以这些数字只能看作一个有希望的开始,不是基准成绩。
为什么开源创新在这里重要
开源创新在这里重要,有三个原因。
第一,数据隐私可以真正由自己掌控。面试复盘里包含私密公司的题目、薪资谈话和个人失误。在本地模式下(Ollama 加本地 Whisper),她的原始复盘文本和音频从不离开她的笔记本,也从不被发给闭源 API 提供方用于训练。如果她选择启用 Backboard,只有题目、分数和主要标签会存到远程线程上,完整的原始复盘从不外传。因为模型是开源权重,这条线画在哪里由她决定。
第二,针对特定领域的微调。通用的闭源 API 常常漏掉行为类回答里细微的对话缺陷。通过 Tinker 对开源权重(Qwen3-8B)做微调,可以直接提升她在自己特定弱点类别上的精确率,比如啰嗦、没给数据、收尾弱、没结构。
第三,没有供应商锁定,也能免费本地运行。默认分析器是启发式引擎,意味着应用开箱即用,零 API 密钥。用 Ollama 本地运行时,她可以无限次练习和复盘,订阅或 token 花费为 0。Backboard 和 Tinker 是可选的升级项,不是必需项。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.