一个 AI 面试教练平台,让 GitHub 项目自动变成面试素材
我做了一个 AI 面试教练平台,让 GitHub 项目自动变成面试素材
MemCoach — 一个面向技术求职者的 AI 面试训练平台,把简历面试、GitHub 项目分析和持久化画像记忆串成一个持续迭代的训练闭环。
前言:为什么做这个项目?
面试这件事,很多人有个共同痛点:刷了很多面经,但真正上场还是不会说。
面试不是默写八股文。面试官追问的不是"你知道什么",而是"你为什么这样做"、“你遇到了什么问题”、“如果重新来你会怎么选”。这些能力,光靠背题是练不出来的。
所以我想做一个工具——不是一个刷题网站,而是一个 AI 面试教练:它能读你的简历、分析你的 GitHub 项目、记住你的薄弱点,然后像一个真实的面试官一样和你对话、追问、评分。
这就是 MemCoach。

MemCoach 是什么?
MemCoach 是一个 AI 驱动的面试训练平台,核心思路是 “训练闭环”:
- 上传简历 → AI 模拟真实面试官,围绕你的经历进行多轮对话
- 连接 GitHub → 自动分析你的开源项目,生成针对性的面试问题
- 画像记忆 → 每次训练后自动记录

你的薄弱点、掌握度和表达习惯,越练越了解你
这三个模块不是独立的,而是互相联动的:项目分析的问题可以一键导入训练,训练的结果回流到画像系统,画像系统指导下一轮出题。
三大核心功能
1. GitHub 项目分析 — 让你的代码替你说话
很多人面试时不知道怎么介绍自己的项目。MemCoach 的项目分析功能可以解决这个问题:
- 一键连接 GitHub:通过 OAuth 安全授权,选择你的公开仓库
- 智能源码解析:自动过滤关键文件,分析项目结构和技术栈
- 生成面试问题:围绕模块边界、设计决策、故障排查、技术选型、重构方向生成 5 道核心问题
- 源码证据驱动:每道问题都关联到原始代码片段,不是泛泛而谈
分析完成后,生成的问题可以一键转为专项训练,直接进入 AI 对话练习。
2. AI 面试 Agent — 真实面试模拟
这是 MemCoach 的核心模块。它不是一个简单的"一问一答"聊天机器人,而是一个基于 LangGraph 状态机的面试 Agent:
五阶段递进式面试流程:
| 阶段 | 内容 | 说明 |
|---|---|---|
| 开场问候 | AI 自我介绍,营造面试氛围 | 过渡自然,不是冷冰冰的机器 |
| 自我介绍 | 请候选人做自我介绍 | 评估表达的条理性和重点 |
| 技术问题 | 围绕简历和知识库出题 | 根据回答质量动态调整难度 |
| 项目深挖 | 深入追问项目经历 | 源码级别的追问,不是表面问答 |
| 反问环节 | 候选人向面试官提问 | 评估技术视野和好奇心 |
自适应追问策略: 答得好就快速推进,答得差就深入追问——和真实面试官的行为一致。
四维评分体系: 训练结束后从技术深度、项目表达、沟通能力、问题解决四个维度给出评分。

3. 画像记忆系统 — 越练越懂你
这是 MemCoach 和普通面试工具最大的区别。大部分工具每次训练都是"从零开始",而 MemCoach 会记住你:
- 自动提取薄弱点:每次训练后,AI 自动分析你的回答,识别知识盲区
- 掌握度追踪:每个知识点有 0-100 的掌握度评分,实时更新
- 向量语义去重:使用 bge-m3 嵌入模型做语义相似度计算,避免重复记录
- 跨会话持续演进:今天练的、昨天学的,下次登录时还在

自适应学习引擎:科学的复习节奏
除了三大核心模块,MemCoach 还内置了一套自适应学习引擎:
三层上下文融合出题
出题不是随机的,而是基于三层上下文的融合:
- Layer 1 — 会话上下文:知识库检索 + FAQ 匹配 + 历史去重,保证当前训练不重复
- Layer 2 — 领域画像:根据该领域的掌握度和历史薄弱点,优先出你不会的题
- Layer 3 — 全局画像:跨领域的特征分析,比如你的沟通风格、思维模式
SM-2 间隔重复算法
MemCoach 引入了经典的 SM-2 间隔重复算法(和 Anki 一样的原理):
- 答对 → 复习间隔拉长(1天 → 3天 → 7天 → 14天…)
- 答错 → 间隔重置为 1 天
- 到期的薄弱点优先出题
这意味着:你不会的题目会反复出现,你已经掌握的题目会逐渐淡出,用最少的训练时间覆盖最多的薄弱点。
更多实用功能
| 功能 | 说明 |
|---|---|
| 录音复盘 | 上传面试录音或粘贴文字,AI 自动转写并逐条分析 |
| 知识库管理 | 按领域维护核心知识文档和高频题库,支持 Markdown |
| 多用户隔离 | JWT 认证 + 数据按用户完全隔离 |
| 会话恢复 | 训练中断后可以随时恢复,不丢失进度 |
技术架构
作为一个全栈 AI 项目,MemCoach 的技术栈涵盖了从前端到 LLM 调度的完整链路:
| 层级 | 技术选型 |
|---|---|
| 后端框架 | FastAPI + LangChain + LangGraph + LlamaIndex |
| 前端框架 | React 19 + React Router v7 + Vite + Tailwind CSS v4 |
| 数据库 | SQLite + aiosqlite(异步) |
| 向量存储 | bge-m3 embeddings(1024 维) |
| 认证 | JWT + bcrypt |
| LLM | 任何 OpenAI 兼容接口(灵活切换) |
核心架构亮点:
- LangGraph 状态机驱动面试流程,支持多阶段、有状态的对话管理
- Mem0 风格的画像引擎,LLM 提取 + 智能决策的两阶段更新机制
- SM-2 间隔重复与三层上下文融合的自适应出题系统
- GitHub OAuth 安全连接,支持 JWT state token 防 CSRF
快速开始
Docker 一键部署(推荐)
git clone https://github.com/iZiTTMarvin/MemCoach.git
cd MemCoach
cp .env.example .env
# 编辑 .env 填入你的 LLM API 配置
docker compose up --build
访问 http://localhost 即可使用。
手动部署
# 后端
pip install -r requirements.txt
uvicorn backend.main:app --reload --port 8000
# 前端
cd frontend && npm install && npm run dev
只需要配置一个 OpenAI 兼容的 LLM API 即可运行,模型选择完全自由。
项目地址
- GitHub:https://github.com/iZiTTMarvin/MemCoach
- 开源协议:MIT
写在最后
MemCoach 的核心理念很简单:面试能力是练出来的,不是背出来的。
它不是一个"面经合集",也不是一个"刷题平台",而是一个能读懂你、记住你、陪你持续进步的 AI 教练。从简历到项目到知识点,形成一个完整的训练闭环。
项目目前还在持续迭代中,未来计划支持:
- 项目面试 Agent 模式:基于源码证据的多轮动态追问
- 私有仓库分析:在安全边界内分析用户的私有项目
如果你正在准备技术面试,或者对 AI Agent 的工程化落地感兴趣,欢迎 Star 和体验。也欢迎提 Issue 和 PR,一起把这个项目做得更好!!
更多推荐
所有评论(0)